/* Yours & Co — shared additions (contact buttons, footer links, mobile menu fixes) */

/* Categories without products yet: their links are hidden everywhere.
   To show "Drinks" again once products are added, delete the next rule. */
/* (Drinks now has products, rule removed) */

/* floating WhatsApp + call buttons */
.yc-fab{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:450;display:flex;flex-direction:column;gap:12px;}
.yc-fab-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(55,46,39,.45);text-decoration:none;transition:transform .2s ease;-webkit-tap-highlight-color:transparent;}
.yc-fab-btn:hover{transform:translateY(-2px);}
.yc-fab-btn svg{width:27px;height:27px;}
.yc-fab-wa{background:#25D366;color:#fff;}
.yc-fab-call{background:var(--burgundy,#6E1E2B);color:var(--ivory,#FBF5EC);width:46px;height:46px;margin-left:4px;}
.yc-fab-call svg{width:21px;height:21px;}
@media(max-width:760px){.yc-fab{right:12px;}.yc-fab-btn{width:50px;height:50px;}.yc-fab-call{width:44px;height:44px;margin-left:3px;}}
body.ycd-lock .yc-fab{display:none;}
@media print{.yc-fab{display:none;}}

/* footer: social + legal links */
.yc-social{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;}
.yc-foot .yc-social{justify-content:center;margin-top:6px;}
.yc-social[hidden]{display:none !important;}
.yc-social a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;}
.yc-social a:hover{color:var(--burgundy,#6E1E2B);}
.yc-social svg{width:17px;height:17px;flex:0 0 auto;}
.yc-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(55,46,39,.3);}
.yc-legal a:hover{color:var(--burgundy,#6E1E2B);}

/* mobile menu: sits right under the header and scrolls if taller than the screen */
.mainnav.mobile-open{top:var(--yc-head-h,62px) !important;max-height:calc(100vh - var(--yc-head-h,62px));max-height:calc(100dvh - var(--yc-head-h,62px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
html.yc-menu-open, html.yc-menu-open body{overflow:hidden;}
html.yc-menu-open .yc-fab{display:none;}

/* =====================================================================
   Icons & motion (pure CSS, Lucide-style line icons, brand colours)
   ===================================================================== */
:root{--yc-i-heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");--yc-i-heartf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");--yc-i-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E");--yc-i-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 17h16'/%3E%3C/svg%3E");--yc-i-trash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E");--yc-ease:cubic-bezier(.2,.7,.2,1);}

/* header icons: one consistent line set, burgundy, gentle hover lift */
.icons .yc-ico{width:20px;height:20px;display:block;color:var(--burgundy,#6E1E2B);}
.icons > a, .icons > button{transition:transform .22s var(--yc-ease), opacity .2s ease;-webkit-tap-highlight-color:transparent;}
.icons > a:hover, .icons > button:hover{transform:translateY(-2px) scale(1.08);}
.icons > a:active, .icons > button:active{transform:scale(.92);}
.cart-badge, .wish-badge{transition:transform .25s var(--yc-ease);}
.yc-bump{animation:yc-bump .45s var(--yc-ease);}
@keyframes yc-bump{0%{transform:scale(1);}35%{transform:scale(1.45);}100%{transform:scale(1);}}

/* glyph buttons (text is kept for scripts, the icon is drawn with a CSS mask) */
.hamburger, #ycSearchClose, .search-close, .ycd-close, .candle-offer-close, .cart-remove, .dt-del, .prod-wish, .ycd-wish{font-size:0 !important;line-height:0;color:inherit;}
.hamburger::before, #ycSearchClose::before, .search-close::before, .ycd-close::before, .candle-offer-close::before, .cart-remove::before, .dt-del::before, .prod-wish::before, .ycd-wish::before{
  content:'';display:block;width:20px;height:20px;margin:auto;background:currentColor;
  -webkit-mask:var(--yc-i-x) center/contain no-repeat;mask:var(--yc-i-x) center/contain no-repeat;transition:transform .3s var(--yc-ease);}
.hamburger{width:40px;height:40px;padding:0 !important;color:var(--charcoal,#372E27);border-radius:50%;transition:background-color .2s ease;}
.hamburger:hover{background:rgba(110,30,43,.07);}
.hamburger::before{width:24px;height:24px;-webkit-mask-image:var(--yc-i-menu);mask-image:var(--yc-i-menu);}
.hamburger[aria-expanded="true"]::before{-webkit-mask-image:var(--yc-i-x);mask-image:var(--yc-i-x);transform:rotate(90deg);}
#ycSearchClose:hover::before, .search-close:hover::before, .ycd-close:hover::before, .candle-offer-close:hover::before{transform:rotate(90deg);}
.ycd-close::before{width:18px;height:18px;}
.cart-remove, .dt-del{color:var(--charcoal-60,#372e2799);transition:color .2s ease, transform .2s ease;}
.cart-remove::before, .dt-del::before{width:18px;height:18px;-webkit-mask-image:var(--yc-i-trash);mask-image:var(--yc-i-trash);}
.cart-remove:hover, .dt-del:hover{color:var(--burgundy,#6E1E2B);transform:scale(1.12);}

/* wishlist hearts: outline -> filled with a small "pop" */
.prod-wish{color:var(--charcoal,#372E27);transition:transform .22s var(--yc-ease), box-shadow .22s ease;}
.prod-wish:hover{transform:scale(1.1);box-shadow:0 6px 14px -6px rgba(55,46,39,.35);}
.prod-wish::before, .ycd-wish::before{width:18px;height:18px;-webkit-mask-image:var(--yc-i-heart);mask-image:var(--yc-i-heart);}
.prod-wish.on, .prod-wish.active, .prod-wish[aria-pressed="true"], .ycd-wish.on{color:var(--burgundy,#6E1E2B);}
.prod-wish.on::before, .prod-wish.active::before, .prod-wish[aria-pressed="true"]::before, .ycd-wish.on::before{-webkit-mask-image:var(--yc-i-heartf);mask-image:var(--yc-i-heartf);animation:yc-pop .4s var(--yc-ease);}
.ycd-wish::before{width:22px;height:22px;}
@keyframes yc-pop{0%{transform:scale(.6);}60%{transform:scale(1.25);}100%{transform:scale(1);}}

/* buttons: hover lift + press feedback + ripple */
.btn, .prod-add, .ycd-add, .coll-add, .candle-offer-add, .idates-cta, .nform button, .test-form button, .cart-empty-cta, .opt, .filter-chip{position:relative;overflow:hidden;transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s var(--yc-ease), box-shadow .25s ease;}
.btn:hover, .prod-add:hover, .ycd-add:hover, .coll-add:hover, .candle-offer-add:hover, .idates-cta:hover, .nform button:hover, .cart-empty-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(55,46,39,.45);}
.btn:active, .prod-add:active, .ycd-add:active, .coll-add:active, .candle-offer-add:active, .idates-cta:active, .nform button:active, .test-form button:active, .cart-empty-cta:active, .opt:active, .filter-chip:active{transform:scale(.97);box-shadow:none;}
.btn::after, .prod-add::after, .ycd-add::after, .coll-add::after, .candle-offer-add::after, .nform button::after, .test-form button::after, .opt::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle, rgba(255,255,255,.45) 10%, transparent 10.01%);background-repeat:no-repeat;background-position:50%;
  transform:scale(12);opacity:0;transition:transform .55s ease, opacity .9s ease;}
.btn:active::after, .prod-add:active::after, .ycd-add:active::after, .coll-add:active::after, .candle-offer-add:active::after, .nform button:active::after, .test-form button:active::after, .opt:active::after{transform:scale(0);opacity:.35;transition:0s;}
.opt:hover{transform:translateY(-2px);}
.qty-control button{transition:background-color .2s ease, transform .15s ease;}
.qty-control button:active{transform:scale(.88);}

/* category arches + product cards */
.arch-card{transition:transform .35s var(--yc-ease);}
.arch-card .arch{transition:box-shadow .35s ease, border-color .35s ease;}
.arch-card .arch-illus svg{transition:transform .45s var(--yc-ease);}
.arch-card:hover{transform:translateY(-6px);}
.arch-card:hover .arch-illus svg{transform:scale(1.08) rotate(-3deg);}
.prod-card .prod-media img{transition:transform .5s var(--yc-ease);}
@media(hover:hover){.prod-card:hover .prod-media img{transform:scale(1.03) !important;}}

/* mobile menu slides in */
.mainnav.mobile-open{animation:yc-drop .28s var(--yc-ease);}
.mainnav.mobile-open a{transition:color .2s ease, padding-left .2s ease;}
.mainnav.mobile-open a:hover{padding-left:10px;color:var(--burgundy,#6E1E2B);}
@keyframes yc-drop{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}

/* floating WhatsApp: soft pulse ring */
.yc-fab-wa{position:relative;}
.yc-fab-wa::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:yc-pulse 2.6s ease-out infinite;pointer-events:none;}
@keyframes yc-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
.yc-fab-btn{transition:transform .22s var(--yc-ease), box-shadow .22s ease;}
.yc-fab-btn:hover{transform:translateY(-3px) scale(1.06);}
.yc-fab-btn:active{transform:scale(.92);}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}

/* hide floating buttons while the order confirmation is open */
body:has(.confirm-overlay.show) .yc-fab{display:none;}

/* ---- Menu category icons ---- */
.mainnav a.nav-cat{display:flex;align-items:center;gap:12px;}
.mainnav .nav-ico{width:19px;height:19px;flex:0 0 19px;color:#B9954A;}
/* ---- Gentle product photo animation ---- */
@keyframes ycPhotoIn{from{opacity:0;transform:scale(1.015);}to{opacity:1;transform:none;}}
.prod-card .prod-media img,.arch img{animation:ycPhotoIn .9s ease both;}
.prod-card .prod-media img{transition:transform .8s ease, opacity .4s ease;}
.prod-card:hover .prod-media img{transform:scale(1.035);}
@media (prefers-reduced-motion: reduce){
  .prod-card .prod-media img,.arch img{animation:none !important;transition:none !important;}
  .prod-card:hover .prod-media img,.arch-card:hover .arch img{transform:none !important;}
}
/* ---- Deal of the day: product & price line ---- */
.deal-prod{font-size:14px;color:var(--charcoal,#2b2b2b);display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;}
.deal-prod b{color:var(--burgundy,#6E1E2B);font-weight:700;font-size:17px;}
.deal-prod s{color:var(--charcoal-60,#888);font-size:13px;}

/* 12 categories: 6 per row on wide screens */
@media (min-width:1100px){.arch-grid{max-width:1060px !important;}}

/* ---- New-product badge (absolute, does not affect card size; shows 7 days) ---- */
.prod-newbadge{
  position:absolute;top:12px;left:12px;z-index:4;pointer-events:none;
  background:var(--burgundy,#6E1E2B);color:var(--ivory,#FBF7F1);
  font-family:'Manrope',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.08em;line-height:1;padding:5px 8px;white-space:nowrap;
  box-shadow:0 4px 10px -6px rgba(55,46,39,.45);
}
.prod-media{position:relative;}
.prod-media:has(.prod-newbadge) .prod-dealtag{top:42px;}

/* ---- product grids: price + "Add to cart" pinned to the bottom of every card,
   so they line up across each row (all sections, mobile and desktop) ---- */
.prod-grid > .prod-card, .result-grid > .prod-card{display:flex;flex-direction:column;}
.prod-grid > .prod-card > .prod-media, .result-grid > .prod-card > .prod-media{flex:0 0 auto;}
.prod-grid > .prod-card > .prod-body, .result-grid > .prod-card > .prod-body{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;}
.prod-grid > .prod-card > .prod-body > .prod-price,
.prod-grid > .prod-card > .prod-price,
.result-grid > .prod-card > .prod-body > .prod-price,
.result-grid > .prod-card > .prod-price{margin-top:auto;}
/* keep the original spacing (block margins used to collapse; flex keeps them separate) */
.prod-grid > .prod-card > .prod-body > ul.prod-list{margin-top:0;}
.prod-grid > .prod-card > .prod-body > .prod-name + ul.prod-list{margin-top:5px;}
.prod-grid > .prod-card > .prod-body > ul + .note-line{margin-top:0;}
.prod-grid > .prod-card > .prod-body > ul[style*="0 0 8px"] + .note-line{margin-top:2px;}
