/* Explicit user preferences, never an inferred "senior mode". */
html { --comfort-font: 18px; scroll-padding-block: 12rem 8rem; }
html[data-text-size="1"] { --comfort-font: 20px; }
html[data-text-size="2"] { --comfort-font: 23px; }
html[data-comfort="true"] { --page: #f5f8f4; --ink: #10271c; --muted: #3c4d41; --line: #819589; --line-strong: #587061; --green: #073720; --mint: #edf5eb; --danger: #922633; --focus: 0 0 0 4px #b8d8a6; }
html[data-comfort="true"][data-text-size="0"] { --comfort-font: 20px; }
html[data-comfort] { font-size: var(--comfort-font); }
html[data-comfort] body { font-size: 1rem; padding-bottom: 7rem; min-width: 0; }
html[data-comfort] :is(input,select,textarea) { font-size: 1rem; line-height: 1.5; }
html[data-comfort="true"] :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid #174d9c; outline-offset: 3px; }
html[data-comfort="true"] :is(.product-card p,.product-card small,.product-card button,.field label,.field-hint,.required-note,.checkout-lead,.choice-copy,.cart-item-name,.cart-item-meta,.text-button,.secure-note,.results-toolbar,.cart-totals small,.cart-totals span) { font-size: 1rem; line-height: 1.6; }
html[data-text-size="1"] :is(.product-card p,.product-card small,.product-card button,.field label,.field-hint,.required-note,.text-button,.secure-note,.cart-item-name,.results-toolbar),
html[data-text-size="2"] :is(.product-card p,.product-card small,.product-card button,.field label,.field-hint,.required-note,.text-button,.secure-note,.cart-item-name,.results-toolbar) { font-size: 1rem; line-height: 1.6; }
html[data-comfort="true"] :is(.product-card,.cart-panel,.panel,.choice-card) { border-color: var(--line-strong); }
html[data-comfort="true"] .product-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap: 1.2rem; }
html[data-comfort] [hidden] { display: none !important; }
html[data-comfort] :is(.shell,.shop-layout,.catalog-column,.catalog-head,.checkout-main,.checkout-summary,.form-grid,.field,.product-card) { min-width: 0; }
html[data-comfort] :is(button,a,summary) { touch-action: manipulation; }
html[data-comfort] :is(button,input,select,.choice-card,summary) { min-height: 44px; }
html[data-comfort] :is(.product-card,.cart-item,.checkout-main,.checkout-summary,.comfort-help) { overflow-wrap: anywhere; }
.comfort-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; padding-block: .65rem; border-top: 1px solid var(--line); }
.comfort-toolbar > :last-child { margin-left: auto; }
.comfort-toolbar button,.comfort-targets button,.comfort-question button:not(.primary-button),.comfort-answers button,.comfort-help button,.comfort-sharing button,.comfort-suggestion button,.comfort-dispatch button { border: 1px solid var(--line-strong); border-radius: .7rem; background: var(--surface); color: var(--green); padding: .55rem .85rem; font: inherit; font-weight: 600; }
.comfort-toolbar button[aria-pressed="true"],.comfort-targets button[aria-pressed="true"] { background: var(--green); color: #fff; border-color: var(--green); }
.comfort-size { display: inline-flex; gap: .3rem; }
.comfort-size button { min-width: 48px; }
.comfort-targets { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
.comfort-targets button { border-radius: .75rem; min-height: 50px; }
.comfort-more-targets summary { display: list-item; cursor: pointer; color: var(--green); padding-block: .4rem; }
.comfort-search-scope { font-size: .9rem; color: var(--muted); margin: .4rem 0 1rem; }
.comfort-cart-note { padding: .9rem 1.25rem; margin: 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.comfort-dock { position: fixed; z-index: 70; bottom: max(.75rem,env(safe-area-inset-bottom)); right: 1rem; display: grid; grid-template-columns: minmax(13rem,1fr) minmax(10rem,.9fr); max-width: min(35rem,calc(100% - 2rem)); background: var(--surface); border: 1px solid var(--line-strong); border-radius: 1rem; box-shadow: var(--shadow-strong); overflow: hidden; }
.comfort-dock button { border: 0; background: var(--surface); color: var(--green); padding: .6rem 1rem; text-align: left; font: inherit; min-height: 64px; }
.comfort-dock button:first-child { display: grid; grid-template-columns: 1fr auto; column-gap: .8rem; }
.comfort-dock small { grid-column: 1/-1; color: var(--muted); font-size: .8rem; }
.comfort-dock button:last-child { border-left: 1px solid var(--line); background: var(--mint); }
html[data-comfort] .mobile-cart-bar { display: none !important; }
.comfort-sharing { position: fixed; bottom: 6rem; left: 1rem; right: 1rem; z-index: 75; padding: .7rem 1rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; background: #edf6ff; border: 2px solid #2d5979; border-radius: .75rem; color: #183e5a; }
html[data-comfort] body.comfort-is-sharing { padding-bottom: 12rem; }
.comfort-question { margin-top: 1.2rem; padding: 1.3rem; border: 1px solid var(--line-strong); border-radius: 1rem; background: var(--surface-soft); }
.comfort-question-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; color: var(--muted); font-size: .8rem; }
.comfort-question h3 { font-size: 1.4rem; line-height: 1.3; margin: 1rem 0; }
#comfortQuestionHint { color: var(--muted); font-size: .9rem; }
.comfort-question .form-grid { grid-template-columns: 1fr; }
.comfort-question .postal-lookup { max-width: none; }
.comfort-question .form-section { margin-block: 1rem; }
.comfort-question [data-comfort-part="contact"] > .form-section-title,.comfort-question [data-comfort-part="address"] > .form-section-title { display: none; }
.comfort-question-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.comfort-question-actions button { min-width: 6rem; }
.comfort-address-shortcut { margin-top: 1rem; }
.comfort-answers { border-bottom: 1px solid var(--line); margin-top: 1rem; padding-block: .6rem; }
.comfort-answers summary { cursor: pointer; color: var(--green); }
.comfort-answer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; border-top: 1px solid var(--line); padding: .55rem 0; font-size: .9rem; }
.comfort-answer span { overflow-wrap: anywhere; }
.comfort-answer button { flex-shrink: 0; }
.comfort-certainty { padding: 1.2rem; border: 1px solid var(--line-strong); border-left: 5px solid var(--green); background: var(--mint); border-radius: .75rem; margin-block: 1rem; }
.comfort-certainty p { line-height: 1.6; }
.comfort-certainty button,.comfort-dialog-help { border: 0; background: transparent; color: var(--green); font: inherit; text-decoration: underline; text-underline-offset: .2em; padding: .5rem; }
.comfort-dialog-help { margin: .5rem 3.5rem .5rem .5rem; }
.comfort-help { width: min(40rem,calc(100% - 1.2rem)); max-height: calc(100dvh - 1.2rem); border: 1px solid var(--line-strong); border-radius: 1.2rem; padding: 1.4rem; background: var(--surface); color: var(--ink); overflow-y: auto; }
.comfort-help::backdrop { background: rgba(10,30,20,.5); }
.comfort-help-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; }
.comfort-help h2 { font-size: 1.45rem; margin: 0; }
.comfort-help h3 { font-size: 1.2rem; }
.comfort-help-head button { min-width: 44px; flex-shrink: 0; }
.comfort-help p { line-height: 1.6; }
#comfortContact { display: flex; align-items: flex-start; flex-direction: column; gap: .6rem; }
.comfort-email { display: inline-block; padding-block: .6rem; color: var(--green); }
.comfort-share-choice { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.comfort-share-choice label { display: flex; align-items: flex-start; gap: .65rem; margin: 1rem 0; }
.comfort-share-choice input { width: 1.3rem; height: 1.3rem; min-height: 0 !important; flex-shrink: 0; }
.comfort-contact-warning { background: var(--warning); color: var(--warning-ink); padding: .75rem; border-radius: .7rem; }
.comfort-dispatch { display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: var(--mint); border: 1px solid var(--line); border-radius: 1rem; padding: 1rem 1.2rem; margin: 1rem 0; }
.comfort-dispatch p { margin: .4rem 0 0; max-width: 65ch; color: var(--muted); font-size: .85rem; }
.comfort-clock { display: flex; flex-direction: column; gap: .2rem; align-items: center; flex-shrink: 0; }
.comfort-clock span { font-size: .75rem; }
.comfort-clock time { font-size: 1.4rem; font-variant-numeric: tabular-nums; font-weight: 700; }
.comfort-clock button { font-size: .75rem; padding: .25rem .5rem; }
.comfort-lens { position: fixed; z-index: 200; width: min(420px,calc(100vw - 24px)); max-height: 220px; overflow: hidden; padding: 1rem; background: #fff; color: #122c20; border: 3px solid #24563e; border-radius: .75rem; box-shadow: var(--shadow-strong); font: 30px/1.45 system-ui,sans-serif; pointer-events: none; overflow-wrap: anywhere; }
.comfort-lens img { width: 100%; height: 185px; object-fit: contain; }
.comfort-suggestion { padding: .8rem; border: 1px solid var(--line); background: var(--info-soft); border-radius: .8rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
@media (hover: none),(pointer: coarse) { .comfort-lens-control,#comfortLens { display: none !important; } }
@media (max-width: 900px) {
  html[data-comfort] .site-header { position: static; }
  html[data-comfort] .checkout-grid { grid-template-columns: 1fr; }
  .comfort-toolbar > :last-child { margin-left: 0; }
}
@media (max-width: 600px) {
  html { scroll-padding-block: 1rem 8rem; }
  html[data-comfort] .shell { width: calc(100% - 1rem); }
  html[data-comfort] .product-grid { grid-template-columns: 1fr; }
  html[data-comfort] :is(.catalog-head,.results-toolbar) { flex-wrap: wrap; }
  html[data-comfort] .search-box { width: 100%; }
  html[data-comfort] .checkout-content { padding: .5rem; }
  html[data-comfort] .form-grid { grid-template-columns: 1fr; }
  .comfort-toolbar { gap: .4rem; }
  .comfort-toolbar button { font-size: .85rem; padding: .5rem .65rem; }
  .comfort-toolbar > :last-child { width: 100%; text-align: left; }
  .comfort-targets { gap: .4rem; }
  .comfort-targets button { flex: 1 0 calc(50% - .4rem); padding: .5rem; }
  .comfort-question { padding: .8rem; }
  .comfort-question h3 { font-size: 1.15rem; }
  .comfort-dock { left: .5rem; right: .5rem; bottom: max(.5rem,env(safe-area-inset-bottom)); max-width: none; grid-template-columns: 1fr 1fr; }
  .comfort-dock button { padding: .6rem; font-size: .8rem; }
  .comfort-dock button:first-child { grid-template-columns: 1fr; }
  .comfort-dock small { display: none; }
  .comfort-sharing { bottom: 5.5rem; left: .5rem; right: .5rem; font-size: .8rem; }
  .comfort-dispatch { flex-direction: column; align-items: stretch; }
  .comfort-clock { align-items: flex-start; }
  .comfort-help { padding: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-comfort] { scroll-behavior: auto; }
  html[data-comfort] *,html[data-comfort] *::before,html[data-comfort] *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print { .comfort-toolbar,.comfort-dock,.comfort-sharing,.comfort-lens,.comfort-dispatch,.comfort-help,.comfort-dialog-help { display: none !important; } }

/* Reserve confirmation space: adding a product must not cover a checkout button. */
.comfort-cart-feedback { min-height: 2.8rem; padding: 0 1.25rem; }
.comfort-cart-feedback .toast { position: static; width: auto; max-width: none; box-shadow: none; border: 0; padding: .3rem 0; font-size: .9rem; animation: none; }
.comfort-cart-feedback .toast strong { display: none; }
html[data-comfort] .toast-stack { bottom: 7rem; }
html[data-comfort] .service-slide { min-height: 0; padding: 1.4rem 2rem 3.4rem; }
html[data-comfort] .slide-copy h2 { font-size: clamp(1.35rem,2.2vw,1.8rem); }
html[data-comfort] .slide-visual { font-size: 6rem; }
html[data-comfort] .slide-visual svg { width: 6rem; height: 6rem; }
@media (max-width:600px) {
  html[data-comfort] .service-slide { padding: 1rem 1rem 3.5rem; }
  html[data-comfort] .cart-item { display: grid; grid-template-columns: 3rem minmax(0,1fr); }
  html[data-comfort] .cart-item-price { grid-column: 2; }
  html[data-comfort] .header-row { flex-wrap: wrap; gap: .5rem; }
  html[data-comfort] .header-actions { margin-left: auto; flex-wrap: wrap; }
}
