/* Canda: warm ivory, natural sand, charcoal text and terracotta actions.
   Loaded after component styles; product photos and manufacturer marks retain
   their original colors. Status colors continue to describe success/errors. */
:root {
  --red: #9c432e;
  --red-dark: #7e3425;
  --ink: #302e2b;
  --muted: #6b6257;
  --line: #d9ccba;
  --cream: #f2eadc;
  --white: #fff;
  --action-red: #9c432e;
  --action-red-hover: #7e3425;
  --action-ink: #302e2b;
  --action-border: #d9ccba;
  --canda-page: #faf5ec;
  --canda-canvas: linear-gradient(90deg,#fffaf2 0%,#f8f0e3 52%,#eee2d0 100%);
  --canda-surface: #fffdf8;
  --canda-forest: #625744;
  --canda-green: #286344;
  --canda-sage: #f2eadc;
  --canda-sand: #f0eadf;
  --canda-field-border: #a09280;
  background: var(--canda-page);
  color: var(--ink);
}
body { background: var(--canda-page); background-image: var(--canda-canvas); color: var(--ink); }
::selection { background: #f0d5c5; color: #4c2c20; }

/* Warm neutral navigation and clear terracotta actions. */
.utility { background: transparent; color: #50483c; }
.site-header { background: transparent; border-bottom-color: transparent; box-shadow: none; }
.language-strip { background: transparent; color: #6b6257; }
.main-nav>a,.categories-toggle,.header-customer>a,.account-toggle { color: #50483c; }
.category-menu,.account-menu { background: var(--canda-surface); border-color: var(--line); border-top-color: var(--red); box-shadow: 0 16px 40px #2c36251c; }
.category-menu a { color: #50483c; }
.category-department>strong { color: #625744; }
.category-menu a:hover,.category-menu a:focus-visible { background: #f2eadc; color: var(--red-dark); }
.header-search-form { background: #fff; border-color: #d9ccba; }
.header-search-form input { background: #fff; color: var(--ink); }
.header-search-form input::placeholder { color: #6b6257; }

/* Related neutral surfaces keep long pages visually continuous. */
.hero.hero-slideshow { background: transparent; border-bottom: 0; }
.hero-copy>p,.hero-slideshow .hero-copy>p { color: #6b6257; }
.hero-photo { background: #f4ecdf; box-shadow: 0 12px 32px #4c382215; }
.delivery-banner { background: transparent; border-block: 0; }
.delivery-intro h2 { color: var(--canda-forest); }
.delivery-intro p { color: #6b6257; }
.delivery-icon { background: #e9ddc9; color: var(--canda-forest); }
.delivery-checker label { color: #625744; }
.delivery-checker select { background: #fffdf8; border-color: #a09280; color: #625744; }
.delivery-checker [data-delivery-result] { color: #6b6257; }
.delivery-checker [data-delivery-result][data-status="eligible"] { color: #216039; }
.delivery-checker [data-delivery-result][data-status="unavailable"] { color: #a02f31; }
.delivery-checker [data-delivery-result][data-status="pending"] { color: #765319; }
.bundle-teaser { background: #f4ecdf; border-color: #e2d7c6; }
.bundle-teaser p { color: #6b6257; }
.material-teaser-card { background: linear-gradient(115deg,#f2eadc,#f4ecdf); border-color: #d9ccba; }
.material-teaser-copy { color: var(--ink); }
.material-teaser-copy h2,.material-teaser-copy .material-teaser-action { color: var(--ink); }
.material-teaser-copy .section-kicker { color: var(--red-dark); }
.material-teaser-copy>p:not(.section-kicker) { color: var(--muted); }
.faq-section { background: transparent; border: 0; }
.faq-list,.faq-list details { border-color: #d9ccba; }
.faq-list summary { color: #50483c; }
.faq-list summary:hover { color: var(--red); }
.faq-answer,.faq-intro>p:not(.section-kicker) { color: #6b6257; }
.faq-answer strong { color: #50483c; }

/* White product surfaces keep packaging, cutouts and brand logos true to color. */
.product-card,.catalog-category>a {
  background: #fff;
  border-color: #e2d7c6;
  border-radius: 12px;
  box-shadow: 0 3px 14px #46322006;
}
.product-purchase-card .product-info,.product-purchase-card .card-cart-actions { background: #fff; }
.product-purchase-card>.product-card-link>.product-visual { background: #fff; }
.product-info h3,.product-summary h1 { color: var(--ink); }
.product-card-link:hover h3 { color: var(--red-dark); }
.product-brand-name { color: #6b6257; }
.catalog-category h3 { color: #50483c; }
.catalog-category-visual { background: #ece3d6; }
.catalog-category-visual.sage { background: #eeeedf; }
.catalog-category-visual.stone { background: #ece3d6; }
.category-filter-panel { background: var(--canda-surface); border-color: #d9ccba; color: #50483c; }
.filter-panel-intro { background: #f2eadc; border-bottom-color: #d9ccba; }
.filter-panel-intro p { color: #6b6257; }
.category-active-filters button { background: #f8e7db; color: #7e3425; border-color: #d9b3a1; }
.product-summary-text,.category-heading>div>p:not(.section-kicker),.subcategory-heading>p:not(.section-kicker),.detail-section-content { color: var(--muted); }
.product-summary .detail-price { padding: 18px; border: 1px solid #d9ccba; border-radius: 12px; background: #f2eadc; }
.product-summary .detail-price>span,.product-reference { color: #6b6257; }
.product-summary .product-key-details { background: #f4ecdf; border-color: #d9ccba; }
.product-summary .linked-variants { background: #fffdf8; border-color: #d9ccba; }
.specification-list>div:nth-child(odd) { background: #f2eadc; }
.specification-list dt { color: #6b6257; }
.specification-list dd { color: #50483c; }
.customer-card,.order-form,.order-summary,.material-guide-panel { border-color: #d9ccba; background: #fffdf8; }
.cart-summary { background: #f2eadc; }
.customer-card>p,.cart-summary>div span { color: #6b6257; }
.material-guide-tabs button { color: #6b6257; border-color: #d9ccba; background: #f2eadc; }
.material-guide-tabs button[aria-selected=true] { color: var(--red-dark); background: #fffaf6; border-color: var(--red); }
.story-closing { background: #ece3d6; }

/* Deep terracotta keeps white button labels readable. */
.button,.search-submit,.product-detail-actions [data-add-cart] {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
  box-shadow: 0 4px 12px #7e34251a;
}
.button.button-secondary,.button.secondary,.product-detail-actions [data-product-order] {
  background: #fffaf4;
  color: var(--red-dark);
  border-color: #d9b3a1;
  box-shadow: none;
}
.card-secondary-actions :is(.product-share-button,.compare-toggle),.favorite-toggle-detail {
  background: #f2eadc;
  border-color: #d9ccba;
  color: #50483c;
}
.favorite-toggle[aria-pressed=true],.compare-toggle[aria-pressed=true] { background: #f8e7db; border-color: #d9b3a1; color: var(--red-dark); }
:where(#product-main,.contact-form-card) :is(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea):not([aria-invalid=true]) { border-color: var(--canda-field-border); background-color: #fff; color: var(--ink); }
:where(#product-main,.contact-form-card) :is(input,select,textarea):focus-visible { outline: 2px solid var(--canda-forest); outline-offset: 3px; }

/* Contact continues the pale surfaces; form fields retain clear boundaries. */
.contact.contact-expanded { background: transparent; color: var(--ink); }
.contact-expanded h2,.contact-detail h3,.contact-socials h3 { color: var(--ink); }
.contact-expanded .section-kicker { color: var(--red-dark); }
.contact-expanded .contact-intro,.contact-detail address,.contact-expanded .contact-secondary { color: #6b6257; }
.contact-expanded .contact-main-link,.contact-expanded .contact-email { color: var(--ink); }
.contact-symbol { color: #625744; background: #ffffff80; border-color: #b9aa94; }
.contact-map { border-color: #b9aa94; }
.contact-form-card { background: #fffdf8; border-color: #fffdf8; box-shadow: 0 12px 40px #0b21191a; color: var(--ink); }
.contact-expanded .contact-form-card>p,.contact-expanded .field-note,.contact-expanded .privacy-note { color: #6b6358; }
body>footer,.canda-product-footer,.site-information-footer,.presentation-footer { background: transparent; border-color: transparent; color: #50483c; }
.footer-columns h3,.canda-footer-main h2 { color: #625744; }
.footer-about p,.footer-columns address,.footer-columns>div>a,.footer-bottom,.canda-footer-services small,.canda-footer-brand p,.canda-footer-contact address,.canda-footer-phones span,.canda-footer-email,.canda-footer-links>a,.canda-product-footer .company-identity { color: #6b6257; }
.canda-footer-services,.canda-footer-bottom { border-color: #d9ccba; }
.canda-company-footer { background: transparent; border-color: transparent; color: #6b6257; }
.canda-legal-footer { background: transparent; border-color: transparent; color: #50483c; }
.canda-legal-footer-links>a,.canda-legal-footer-links>button { color: #50483c; }
.privacy-banner,.privacy-dialog { background: #fffdf8; color: var(--ink); border-color: #d9ccba; }
.privacy-banner-actions [data-privacy-accept],.privacy-banner-actions [data-privacy-essential],.privacy-actions [data-privacy-accept],.privacy-actions [data-privacy-essential] { background: var(--red); border-color: var(--red); }

/* The public company presentation shares the same palette. */
.presentation { background: var(--canda-page); background-image: var(--canda-canvas); }
.presentation .top { border-bottom-color: #d9ccba; }
.presentation .hero-copy h1 { color: var(--ink); }
.presentation .intro,.presentation .catalog-note,.presentation .about-content>p { color: #6b6257; }
.presentation .visit-card { background: #e9ddc9; color: var(--ink); border-color: #b9aa94; box-shadow: 0 14px 36px #243d2718; }
.presentation .visit-card :is(.pin,.eyebrow) { color: #625744; }
.presentation .visit-card address span { color: #50483c; }
.presentation .visit-card .map-link { border-color: #b9aa94; }
.presentation .visit-card .map-link:hover { color: var(--red-dark); }
.presentation .material-list>div { background: #f4ecdf; border-left-color: #a09179; padding: 15px; border-radius: 0 8px 8px 0; }
.presentation .material-list>div:nth-child(2) { background: #f4ecdf; border-left-color: #ad6b4f; }
.presentation .material-list>div:nth-child(3) { background: #ece3d6; border-left-color: #a09179; }
.presentation .material-list p { color: #6b6257; }
.presentation .language-strip { background: transparent; }

@media(hover:hover) and (pointer:fine) {
  .product-card:hover,.catalog-category>a:hover { border-color: #b9aa94; box-shadow: 0 9px 26px #4b362314; }
  .button:not(:disabled,[aria-disabled=true],[aria-busy=true]):hover,.search-submit:hover,.product-detail-actions [data-add-cart]:not(:disabled,[aria-busy=true]):hover { background: var(--red-dark); border-color: var(--red-dark); color: #fff; box-shadow: 0 6px 18px #7e342524; }
  .button.button-secondary:not([data-add-cart],:disabled,[aria-disabled=true]):hover,.button.secondary:hover,.product-detail-actions [data-product-order]:not([aria-disabled=true]):hover { background: #f8e7db; border-color: #ad6b4f; color: var(--red-dark); box-shadow: none; }
  .main-nav>a:hover,.categories-toggle:hover,.header-customer>a:hover,.account-toggle:hover { background: #ece3d6; color: var(--red-dark); }
  .search-camera:hover { background: #ece3d6; color: var(--red-dark); }
  .card-secondary-actions :is(.product-share-button,.compare-toggle):hover { background: #ece3d6; border-color: #b9aa94; color: #625744; }
}
@media print {
  body,.presentation { background: #fff; color: #000; }
  .product-summary .detail-price { background: #fff; }
}

/* Seven campaign panels share one surface; HTML text stays sharp and translates. */
.hero.hero-slideshow.seasonal-slideshow { padding: 14px 0 22px; background: transparent; border-bottom: 0; }
.seasonal-slideshow .hero-inner { display: block; min-height: 0; }
.seasonal-slideshow .hero-photo { width: 100%; height: 470px; min-height: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; isolation: isolate; }
.seasonal-slideshow .hero-slide { display: grid; grid-template-columns: 43% 57%; align-items: stretch; background: transparent; animation: none; }
.seasonal-slideshow [data-carousel-ready] .hero-slide { opacity: 0; pointer-events: none; z-index: 0; transition: opacity 1.1s cubic-bezier(.2,.65,.3,1); }
.seasonal-slideshow [data-carousel-ready] .hero-slide.is-active { opacity: 1; pointer-events: auto; z-index: 1; }
.seasonal-slideshow .campaign-copy { align-self: center; min-width: 0; position: relative; z-index: 2; padding: 42px 18px 62px 54px; }
.seasonal-slideshow .campaign-kicker { color: #625744; font-size: 10px; font-weight: 700; letter-spacing: .14em; line-height: 1.7; margin: 0 0 15px; }
.seasonal-slideshow .campaign-title { color: #302e2b; font-size: clamp(31px,3.2vw,46px); font-weight: 700; line-height: 1.09; letter-spacing: -1.4px; margin: 0 0 18px; }
.seasonal-slideshow .campaign-title em { display: block; color: #9c432e; font-style: normal; }
.seasonal-slideshow .campaign-description { color: #6b6257; font-size: 14px; line-height: 1.7; max-width: 360px; margin: 0 0 24px; }
.seasonal-slideshow .campaign-cta { gap: 14px; min-height: 46px; padding: 12px 18px; border-radius: 6px; font-size: 12px; line-height: 1.4; transform: none; transition: background-color .25s,box-shadow .25s,border-color .25s; }
.seasonal-slideshow .campaign-cta:hover,.seasonal-slideshow .campaign-cta:active { transform: none; }
.seasonal-slideshow .campaign-cta svg { width: 17px; height: 17px; transform: none; flex-shrink: 0; }
.seasonal-slideshow .campaign-visual { position: relative; min-width: 0; min-height: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; background: transparent; }
.seasonal-slideshow .campaign-visual img { position: static; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; mask-image: linear-gradient(to right,transparent,#000 6%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent); mask-composite: intersect; -webkit-mask-composite: source-in; }
.seasonal-slideshow .campaign-brands .campaign-visual img,.seasonal-slideshow .campaign-guides .campaign-visual img { padding: 18px 18px 26px 0; }
.seasonal-slideshow .campaign-visual:focus-visible { outline-offset: -6px; }
.seasonal-slideshow .image-arrows { z-index: 3; padding: 10px; }
.seasonal-slideshow .image-arrows button, .product-gallery .gallery-arrows button, .image-viewer-controls button { color: #625744; border-color: #d9ccba; background: #fffffff2; box-shadow: 0 3px 12px #4e362414; }
.product-gallery .gallery-arrows button:hover:not(:disabled), .image-viewer-controls button:hover:not(:disabled) { color: #fff; border-color: var(--red); background: var(--red); }
.seasonal-slideshow .hero-photo:focus-within .image-arrows button { opacity: 1; pointer-events: auto; }
.seasonal-slideshow .hero-photo .slide-indicators { z-index: 4; bottom: 8px; gap: 1px; }
.seasonal-slideshow .hero-photo .slide-indicator { width: 38px; height: 44px; }
.seasonal-slideshow .slide-indicator>span { width: 28px; height: 5px; border-radius: 2px; border: 1px solid #a09280; background: #e9ddc9; transition: background-color .35s,border-color .35s; }
.seasonal-slideshow .slide-indicator:hover>span { background: #a09179; }
.seasonal-slideshow .slide-indicator[aria-pressed=true]>span { background: var(--red); border-color: var(--red); }
.seasonal-slideshow .slide-indicator:focus-visible { outline-color: #625744; }
.seasonal-slideshow .hero-photo>figcaption { z-index: 4; top: auto; bottom: 6px; right: 9px; font-size: 8px; padding: 2px 4px; color: #6b6257; background: transparent; max-width: 220px; }
@media(max-width:1000px) and (min-width:701px) {
  .seasonal-slideshow .hero-photo { height: 440px; }
  .seasonal-slideshow .campaign-copy { padding-left: 40px; }
  .seasonal-slideshow .campaign-title { font-size: 36px; }
  .seasonal-slideshow .campaign-description { font-size: 13px; }
}
@media(max-width:700px) {
  .hero.hero-slideshow.seasonal-slideshow { padding: 12px 0 18px; }
  .seasonal-slideshow .hero-photo { height: 640px; margin: 0; border-radius: 0; }
  .seasonal-slideshow .hero-slide { grid-template-columns: minmax(0,1fr); grid-template-rows: 310px 1fr; padding-bottom: 64px; }
  .seasonal-slideshow .campaign-copy { align-self: start; padding: 24px 24px 0; }
  .seasonal-slideshow .campaign-kicker { font-size: 9px; margin-bottom: 10px; letter-spacing: .1em; }
  .seasonal-slideshow .campaign-title { font-size: 32px; letter-spacing: -.9px; line-height: 1.12; margin: 0 0 13px; }
  .seasonal-slideshow .campaign-description { font-size: 13px; line-height: 1.65; margin: 0 0 18px; }
  .seasonal-slideshow .campaign-cta { font-size: 12px; }
  .seasonal-slideshow .campaign-visual img { object-position: center; }
  .seasonal-slideshow .campaign-brands .campaign-visual img,.seasonal-slideshow .campaign-guides .campaign-visual img { padding: 0 12px; }
  .seasonal-slideshow .image-arrows { top: 310px; bottom: 64px; }
  .seasonal-slideshow .hero-photo .slide-indicators { bottom: 18px; }
  .seasonal-slideshow .hero-photo>figcaption { bottom: 4px; right: 0; width: 100%; max-width: none; text-align: center; font-size: 8px; background: transparent; }
}
@media(max-width:370px) {
  .seasonal-slideshow .campaign-copy { padding-inline: 18px; }
  .seasonal-slideshow .campaign-title { font-size: 29px; }
  .seasonal-slideshow .hero-photo .slide-indicator { width: 34px; flex-basis: 34px; }
}
@media(prefers-reduced-motion:reduce) {
  .seasonal-slideshow [data-carousel-ready] .hero-slide,.seasonal-slideshow .campaign-cta { transition: none; }
}

/* Full-width sections reveal one continuous page canvas. Only controls and cards have surfaces. */
body>main,.catalog,.home-featured,.material-guide-teaser { background: transparent; }
.footer-expanded,.contact-expanded+.faq-section { background: transparent; }
@media print { body,.presentation { background: #fff; } }

/* Quiet at rest: rectangles appear with a mouse, keyboard or a brief touch. */
.seasonal-slideshow .hero-photo .slide-indicators {
  opacity: 0; pointer-events: none; translate: 0 5px;
  transition: opacity .28s ease,translate .28s ease;
}
.seasonal-slideshow .hero-photo:focus-visible .slide-indicators,
.seasonal-slideshow .hero-photo:has(:focus-visible) .slide-indicators,
.seasonal-slideshow .hero-photo[data-controls-visible=true] .slide-indicators {
  opacity: 1; pointer-events: auto; translate: 0 0;
}
@media(hover:hover) and (pointer:fine) {
  .seasonal-slideshow .hero-photo:hover .slide-indicators { opacity: 1; pointer-events: auto; translate: 0 0; }
}

/* One gentle entrance per slide; the page canvas never changes color. */
@media(prefers-reduced-motion:no-preference) {
  .seasonal-slideshow [data-carousel-ready] .hero-slide.is-active .campaign-kicker { animation: canda-copy-in .65s .08s both; }
  .seasonal-slideshow [data-carousel-ready] .hero-slide.is-active .campaign-title { animation: canda-copy-in .75s .14s both; }
  .seasonal-slideshow [data-carousel-ready] .hero-slide.is-active .campaign-description { animation: canda-copy-in .8s .22s both; }
  .seasonal-slideshow [data-carousel-ready] .hero-slide.is-active .campaign-cta { animation: canda-cta-in .8s .3s both; }
  .seasonal-slideshow [data-carousel-ready] .hero-slide.is-active .campaign-visual img { animation: canda-picture-in 7s cubic-bezier(.2,.6,.3,1) both; }
  .seasonal-slideshow [data-carousel-ready] .campaign-story.is-active .campaign-visual img { animation-duration: 10s; }
  .seasonal-slideshow .campaign-visual:focus-visible img { animation: none!important; }
  .product-card,.catalog-category>a { transition: translate .32s ease,box-shadow .32s ease,border-color .32s ease; }
  .catalog-category-visual { overflow: hidden; }
  .catalog-category-visual img { transition: transform .65s cubic-bezier(.2,.7,.3,1); }
  .faq-list details[open]>.faq-answer { animation: canda-answer-in .3s ease-out; }
  .categories-dropdown[open]>.category-menu,.account-dropdown[open]>.account-menu { animation: canda-answer-in .22s ease-out; transform-origin: top; }
  .contact-socials a svg { transition: transform .3s ease; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .product-card:hover,.catalog-category>a:hover { translate: 0 -4px; }
  .catalog-category>a:hover .catalog-category-visual img { transform: scale(1.035); }
  .contact-socials a:hover svg { transform: rotate(-6deg) scale(1.08); }
}
@keyframes canda-copy-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes canda-cta-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes canda-picture-in { from { transform: scale(.985); } to { transform: scale(1.015); } }
@keyframes canda-answer-in { from { opacity: .4; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media(prefers-reduced-motion:reduce) {
  .seasonal-slideshow .hero-photo .slide-indicators { transition: none; translate: none; }
}
