/* Lightweight interaction polish for the local page.
   All movement is composited (transform/opacity/shadow) to preserve scroll and render performance. */
:root {
  --cw-hover-time: 180ms;
  --cw-hover-ease: cubic-bezier(.2, .7, .25, 1);
}

/* Product preview stays on the catalog page; no product route is required. */
#cw-product-modal {
  position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center;
  padding: 24px; background: rgb(47 25 12 / .64); backdrop-filter: blur(10px);
  opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease;
}
#cw-product-modal.is-open { opacity: 1; visibility: visible; }
.cw-product-dialog {
  position: relative; width: min(940px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto;
  display: grid; grid-template-columns: minmax(280px, 1fr) minmax(280px, .9fr); gap: 0;
  border: 1px solid #f2c690; border-radius: 28px; background: #fff9f2; color: #4a2819;
  box-shadow: 0 24px 80px rgb(37 18 8 / .42); animation: cw-in .24s ease both;
}
.cw-product-gallery { position:relative; min-height:420px; background:#e2b27d; overflow:hidden; }
.cw-product-photo { width:100%; height:100%; min-height:420px; padding: 0; border: 0; background: #e2b27d; cursor: zoom-in; overflow: hidden; }
.cw-product-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .32s ease; }
.cw-product-photo:hover img { transform: scale(1.04); }
.cw-gallery-arrow { position:absolute; top:50%; z-index:2; width:42px; height:42px; border:0; border-radius:50%; transform:translateY(-50%); background:rgba(61,28,10,.72); color:#fff7ed; font:34px/36px Georgia,serif; cursor:pointer; }
.cw-gallery-arrow.prev { left:16px; }.cw-gallery-arrow.next { right:16px; }
.cw-gallery-dots { position:absolute; z-index:2; bottom:16px; left:50%; display:flex; gap:8px; transform:translateX(-50%); }.cw-gallery-dots button { width:9px; height:9px; padding:0; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:#8a817b; cursor:pointer; }.cw-gallery-dots button.active { background:#fff; }
.cw-product-info { align-self: center; padding: 48px 44px; }
.cw-product-info h2 { margin: 4px 0 10px; color: #4a2819; font: 700 clamp(30px, 4vw, 52px)/1.05 Georgia, serif; }
.cw-product-kicker { margin: 0; color: #a55d2e; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.cw-product-price { margin: 0 0 22px; color: #9b4b24; font-size: 25px; font-weight: 800; }
.cw-product-copy, .cw-product-note { color: #795a49; line-height: 1.55; }
.cw-product-note { font-size: 14px; }
.cw-product-buy { margin-top: 12px; padding: 15px 26px; border: 0; border-radius: 15px; background: #87501f; color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.cw-product-buy:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 10px 22px rgb(96 48 17 / .25); }
.cw-product-close { position: absolute; z-index: 2; top: 16px; right: 16px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: #633417; font-size: 32px; line-height: 1; cursor: pointer; }
@media (max-width: 700px) {
  #cw-product-modal { padding: 12px; }
  .cw-product-dialog { grid-template-columns: 1fr; max-height:calc(100dvh - 24px); border-radius: 22px; }
  .cw-product-gallery,.cw-product-photo { min-height: 220px; max-height: 38dvh; }
  .cw-product-info { padding: 26px 20px 28px; }
  .cw-product-info h2 { font-size:clamp(29px,9vw,42px); }
  .cw-product-buy { min-height:46px; width:100%; }
  .cw-product-close { top:10px; right:10px; min-width:44px; min-height:44px; }
}

/* Header navigation stays white; the feedback is a small lift and white halo only. */
.w-section--header .w-nav__link,
.w-section--header .menu__link_1zm,
.w-section--header .nav-item__title_2F5,
.w-section--header .menu__item_HSW {
  color: #fff !important;
  transition: transform var(--cw-hover-time) var(--cw-hover-ease),
    text-shadow var(--cw-hover-time) ease, opacity var(--cw-hover-time) ease !important;
  transform-origin: center;
}

.w-section--header .w-nav__link:hover,
.w-section--header .w-nav__link:focus-visible,
.w-section--header .menu__link_1zm:hover,
.w-section--header .menu__link_1zm:focus-visible,
.w-section--header .nav-item__title_2F5:hover,
.w-section--header .nav-item__title_2F5:focus-visible {
  color: #fff !important;
  opacity: 1;
  transform: translateY(-1px) scale(1.025);
  text-shadow: 0 0 9px rgba(255, 255, 255, .78), 0 1px 2px rgba(71, 35, 13, .4);
}

/* Native site buttons, catalogue cards and non-navigation links. */
.ui-button,
.w-button,
.btn_3rH,
.product-button_3Op,
.js-buy-button,
.ecommerce-product,
.product-wrapper_37L,
.product-card-target-element_37Y,
.ui-link,
.link_21g,
.w-icon-list__item-inner,
.w-socials a,
.social-icons__icon_1YZ {
  transition: transform var(--cw-hover-time) var(--cw-hover-ease),
    filter var(--cw-hover-time) ease, box-shadow var(--cw-hover-time) ease,
    opacity var(--cw-hover-time) ease !important;
  will-change: transform;
}

.ui-button:hover,
.w-button:hover,
.btn_3rH:hover,
.product-button_3Op:hover,
.js-buy-button:hover,
.ui-link:hover,
.link_21g:hover,
.w-icon-list__item-inner:hover,
.w-socials a:hover,
.social-icons__icon_1YZ:hover {
  transform: translateY(-2px) scale(1.025);
  filter: brightness(1.08);
}

/* Preserve each button's original fill; interaction is movement and a light halo. */
.ui-button:hover,
.w-button:hover,
.button-absolute:hover,
.cw-local-product-buy:hover {
  background-color: var(--cw-original-background, transparent) !important;
  color: var(--cw-original-color, inherit) !important;
  box-shadow: 0 8px 20px rgba(255,255,255,.16), 0 8px 22px rgba(63,31,11,.16) !important;
}
.button-absolute { transition: transform var(--cw-hover-time) var(--cw-hover-ease), filter var(--cw-hover-time) ease, box-shadow var(--cw-hover-time) ease !important; }
.button-absolute:hover { transform: translateY(-2px) scale(1.025); filter: brightness(1.08); }

.ecommerce-product:hover,
.product-wrapper_37L:hover,
.product-card-target-element_37Y:hover {
  transform: translateY(-4px);
  filter: drop-shadow(0 12px 16px rgba(60, 29, 10, .16));
}

/* Local catalogue uses the original product-card markup and measurements:
   four columns, square preview, white text and the original buy control. */
.cw-local-products { display:flex; width:calc(100% + 30px); margin:0 -15px; padding:0; flex-wrap:wrap; }
.cw-local-product-slot { display:flex; width:25%; max-width:25%; padding:0 15px; margin:0 0 30px; }
.cw-local-product { display:flex; width:100%; flex-direction:column; color:#fff; text-align:center; }
.cw-local-card-link { display:block; width:100%; padding:0; border:0; background:transparent; color:inherit; cursor:zoom-in; text-align:inherit; }
.cw-local-card-link .preview_1YS { overflow:hidden; }
.cw-local-card-link .preview_1YS { aspect-ratio:1; border:5px solid #f2c895; border-radius:22px; background:#f4d4af; box-sizing:border-box; }
.cw-local-card-link .js-preview-img { width:100%; height:100%; object-fit:cover; transition:transform .28s ease; }
.cw-local-card-link:hover .js-preview-img { transform:scale(1.035); }
.cw-local-product .name_2cv { width:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.cw-assorti-card-price { min-height:20px; margin:8px 0 0; color:#f7d7b1; font:14px/1.4 Arial,sans-serif; }
.cw-local-product .js-buy-button { border:0; cursor:pointer; }
.cw-catalog-tab-active { opacity:1 !important; text-shadow:0 0 10px rgba(255,255,255,.4); }

/* The exported theme inherited a dark brown text color for catalogue tabs,
   which disappears against the catalogue's chocolate background. */
.tabs-nav_1j9 [data-collection-element="nav-item"] {
  color:#fff7ed !important;
  opacity:.78;
  text-shadow:0 1px 8px rgba(38,16,4,.45);
}
.tabs-nav_1j9 [data-collection-element="nav-item"] * { color:inherit !important; }
.tabs-nav_1j9 [data-collection-element="nav-item"]:hover,
.tabs-nav_1j9 [data-collection-element="nav-item"].cw-catalog-tab-active,
.tabs-nav_1j9 [data-collection-element="nav-item"][data-active="true"] {
  color:#ffe1bd !important;
  opacity:1 !important;
  text-shadow:0 0 12px rgba(255,239,220,.6);
}

/* Anchored sections clear the fixed/overlapping header after a menu click. */
#categories, #catalogue, #about-us, #gallery, #contact { scroll-margin-top: 100px; }

/* The original footer logo relies on its removed hydrator for height. */
[data-anchor="footer"] .logo-wrapper_13Y { display:block !important; width:174px !important; height:74px !important; padding-top:0 !important; }
[data-anchor="footer"] .logo-image_1FE { display:block !important; position:static !important; width:174px !important; height:auto !important; max-height:74px !important; object-fit:contain !important; }

@media (max-width:991px) { .cw-local-product-slot { width:33.3333%; max-width:33.3333%; } }
@media (max-width:767px) { .cw-local-product-slot { width:50%; max-width:50%; margin-bottom:22px; } }
@media (max-width:480px) { .cw-local-product-slot { width:100%; max-width:100%; } }

.ui-button:active,
.w-button:active,
.btn_3rH:active,
.product-button_3Op:active,
.js-buy-button:active,
.social-icons__icon_1YZ:active {
  transform: translateY(0) scale(.985);
}

/* Clear keyboard navigation without permanent visual noise. */
.ui-button:focus-visible,
.w-button:focus-visible,
.btn_3rH:focus-visible,
.product-button_3Op:focus-visible,
.js-buy-button:focus-visible,
.ui-link:focus-visible,
.link_21g:focus-visible,
.w-icon-list__item-inner:focus-visible,
.social-icons__icon_1YZ:focus-visible,
.w-socials a:focus-visible {
  outline: 2px solid rgba(255, 255, 255, .92) !important;
  outline-offset: 4px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .w-section--header .w-nav__link,
  .w-section--header .menu__link_1zm,
  .w-section--header .nav-item__title_2F5,
  .ui-button,
  .w-button,
  .btn_3rH,
  .product-button_3Op,
  .js-buy-button,
  .ecommerce-product,
  .product-wrapper_37L,
  .product-card-target-element_37Y,
  .ui-link,
  .link_21g,
  .w-icon-list__item-inner,
  .w-socials a,
  .social-icons__icon_1YZ {
    transition: none !important;
  }
}

/* Hide inactive social accounts without leaving empty icon slots. */
li:has(> a[href*="instagram.com"]),
li:has(> a[href*="tiktok.com"]),
a[href*="instagram.com"],
a[href*="tiktok.com"] { display: none !important; }

/* Local cart, always available at the right edge of the page. */
#cw-cart {
  position: fixed; z-index: 2147483000; right: 30px; top: 350px;
  display: grid; place-items: center; width: 78px; height: 78px;
  border: 3px solid rgba(117,74,11,.2); border-radius: 50%; background: #fff;
  color: #5b301d; box-shadow:0 5px 11px rgba(55,22,6,.2);
  cursor:pointer; opacity:0; pointer-events:none; transform:scale(.86);
  transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease;
}
#cw-cart.cw-cart-active { opacity:1; pointer-events:auto; transform:scale(1); }
#cw-cart svg { width:43px; height:43px; fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
#cw-cart:hover { transform:translateY(-3px) scale(1.04); box-shadow:0 12px 24px rgba(55,22,6,.28); }
#cw-cart-count { position: absolute; right: -5px; top: -5px; display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 5px; border-radius: 99px; background: #754a0b; color: #fff; font: 700 13px Arial,sans-serif; }

/* Gallery fallback independent from the removed legacy lightbox. */
.cw-gallery-ready img { cursor: zoom-in; transition: transform .26s ease, filter .26s ease; }
.cw-gallery-ready img:hover { transform: scale(1.045); filter: brightness(1.05); }
.cw-gallery-lightbox { position: fixed; inset: 0; z-index: 2147483646; display: grid; place-items: center; padding: 32px; background: rgba(25,11,4,.82); backdrop-filter: blur(7px); }
.cw-gallery-lightbox img { max-width: min(1100px,92vw); max-height: 86vh; border-radius: 16px; box-shadow: 0 22px 70px rgba(0,0,0,.45); object-fit: contain; }
.cw-gallery-lightbox button { position: fixed; right: 28px; top: 22px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: #60341e; font-size: 29px; cursor: pointer; }

@media (max-width:720px) { #cw-cart { right: 16px; top: auto; bottom: 22px; width: 62px; height: 62px; font-size: 25px; } }

/* The exported burger depended on the removed Weblium runtime. This local menu
   keeps every primary destination available without sacrificing page space. */
#cw-mobile-menu { position:fixed; inset:0; z-index:2147483500; display:grid; place-items:start end; padding:10px; background:rgb(33 14 5 / .58); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; }
#cw-mobile-menu.is-open { opacity:1; visibility:visible; }
.cw-mobile-menu-open { overflow:hidden; }
.cw-mobile-menu-panel { position:relative; width:min(330px,calc(100vw - 20px)); max-height:calc(100dvh - 20px); overflow:auto; padding:22px 20px 24px; border:1px solid rgb(255 234 211 / .42); border-radius:22px; background:linear-gradient(150deg,#4a2412,#78401e); box-shadow:0 24px 70px rgb(20 7 2 / .42); transform:translateX(18px); transition:transform .22s ease; }
#cw-mobile-menu.is-open .cw-mobile-menu-panel { transform:none; }
.cw-mobile-menu-panel > p { margin:0 42px 16px 0; color:#f7d9b3; font:600 13px/1.2 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.cw-mobile-menu-close { position:absolute; right:12px; top:12px; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:rgb(255 250 243 / .13); color:#fff; font-size:30px; cursor:pointer; }
.cw-mobile-menu-panel .w-nav__list { display:block !important; margin:0 !important; padding:0 !important; }
.cw-mobile-menu-panel .menu__item_HSW { display:block !important; margin:0 !important; }
.cw-mobile-menu-panel .menu__link_1zm { display:block !important; min-height:46px; padding:13px 4px !important; border-bottom:1px solid rgb(255 235 215 / .16); color:#fff !important; font-size:13px !important; line-height:20px !important; text-decoration:none; }
.cw-mobile-menu-panel .menu__link_1zm:active { transform:scale(.985); }

@media (max-width: 560px) {
  #cw-cart { right:12px; bottom:max(14px,env(safe-area-inset-bottom)); width:58px; height:58px; }
  #cw-cart svg { width:34px; height:34px; }
  #cw-cart-count { min-width:23px; height:23px; }
  .cw-gallery-lightbox { padding:16px; }
  .cw-gallery-lightbox img { max-width:100%; max-height:calc(100dvh - 80px); border-radius:12px; }
  .cw-gallery-lightbox button { top:12px; right:12px; width:44px; height:44px; }
  .cw-callback-dialog { width:100%; max-height:calc(100dvh - 28px); overflow:auto; padding:28px 20px; border-radius:20px; }
  .cw-callback-dialog h2 { font-size:25px; }
  .cw-callback-dialog .cw-next { min-height:50px; }
}

/* Selected product and callback request. */
.cw-summary { border-color: rgba(206,65,42,.65) !important; box-shadow: 0 7px 20px rgba(174,48,30,.12) !important; }
.cw-summary-main strong { color: #a33020 !important; }
.cw-summary-main small { display: block; margin-top: 4px; color: #80564b; font: 12px Arial,sans-serif; }
.cw-assorti-card { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; padding: 12px; border: 1px solid rgba(206,65,42,.5); border-radius: 15px; background: #fff7f2; }
.cw-assorti-card img { width: 62px; height: 62px; border-radius: 11px; object-fit: cover; }
.cw-assorti-card strong,.cw-assorti-card span { display: block; }
.cw-assorti-card strong { color: #a33020; font: 600 17px Georgia,serif; }
.cw-assorti-card span { margin-top: 4px; color: #765448; font: 13px Arial,sans-serif; }
.cw-assorti-total { margin:22px 0 0; padding:14px 16px; border-radius:12px; background:#fff0e1; color:#673418; font:600 18px Georgia,serif; }
#cw-callback { position: fixed; inset: 0; z-index: 2147483647; display: none; place-items: center; padding: 14px; background: rgba(35,17,8,.66); backdrop-filter: blur(6px); }
#cw-callback.is-open { display: grid; }
.cw-callback-dialog { position: relative; width: min(470px,100%); padding: 34px; border-radius: 24px; background: #fff8f0; color: #432415; box-shadow: 0 28px 90px rgba(23,10,4,.42); animation: cw-in .3s ease both; }
.cw-callback-dialog > button[data-callback-close] { position: absolute; right: 16px; top: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: #6b361d; font-size: 26px; cursor: pointer; }
.cw-callback-dialog h2 { margin: 0 40px 9px 0; font: 600 27px Georgia,serif; }
.cw-callback-dialog p { margin: 0 0 20px; color: #806a5a; font: 15px/1.5 Arial,sans-serif; }
.cw-callback-dialog .cw-next { width: 100%; margin-top: 20px; min-height: 48px; border: 0; border-radius: 12px; background: #754a0b; color: #fff; font: 600 15px Arial,sans-serif; cursor: pointer; }
.cw-callback-thanks { text-align: center; }

/* Payment choices must read as controls, not plain text. */
.cw-payment b { display: block; font-size: 16px; }
.cw-payment.selected { box-shadow: 0 0 0 3px rgba(135,72,32,.18), 0 10px 22px rgba(91,45,20,.12); }
.cw-requisites { margin: 0 0 18px; padding: 16px; border: 1px solid #e0bb94; border-radius: 14px; background: #fff2e2; text-align: left; }
.cw-requisites b { display: block; color: #6e3b1d; font: 700 16px Georgia, serif; }
.cw-requisites p { margin: 8px 0 0; }

@media (max-width:560px) {
  #cw-checkout { padding:8px; }
  .cw-dialog { max-height:calc(100dvh - 16px); border-radius:18px; }
  .cw-top { padding-top:14px; padding-bottom:14px; }
  .cw-top h2 { font-size:22px; }
  .cw-step b { width:28px; height:28px; }
  .cw-summary { flex-wrap:wrap; padding:11px; }
  .cw-summary-main { min-width:calc(100% - 64px); }
  .cw-qty { width:100%; justify-content:flex-end; margin-top:2px; }
  .cw-np { padding:14px 12px; }
  .cw-np .cw-input { padding-right:92px; }
  .cw-suggestions { max-height:220px; overflow-y:auto; }
  .cw-actions { gap:8px; }
  .cw-actions button { flex:1; min-height:48px; padding:0 12px; }
  .cw-thanks { padding:18px 2px; }
  .cw-thanks h3 { font-size:24px; }
}
/* Gallery contact is placed directly below the Instagram title. */
.cw-instagram-handle{display:inline-block;margin:4px 0 20px;color:#f1c28c;font:600 16px/1.3 Arial,sans-serif;text-decoration:none;border-bottom:1px solid currentColor;transition:filter .16s ease,transform .16s ease}.cw-instagram-handle:hover,.cw-instagram-handle:focus-visible{color:#fff;filter:drop-shadow(0 0 7px rgb(255 224 184 / .5));transform:translateY(-1px)}
