/* YLACHY main stylesheet. Tokens and component rules follow the design system (context/design_system.md) and the approved mockups. */

/* Fonts: self-hosted variable fonts, Cyrillic + Latin only */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400 700;font-stretch:87.5%;font-display:swap;src:url(../fonts/opensans-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400 700;font-stretch:87.5%;font-display:swap;src:url(../fonts/opensans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/oswald-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Oswald';font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/oswald-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Tokens */
:root{
  color-scheme:light;
  --paper:#ffffff;--cream:#fbf6ee;--ink:#241f1c;--ink-soft:#5a5450;--line:#e5ded3;
  --pink:#f1537e;--pink-600:#d63763;--pink-100:#fbdde6;
  --green:#58ca98;--green-700:#2fa374;--green-100:#dff5e9;
  --skin:#f05820;--shape:#f2778a;--rose:#186830;--rose-2:#c2609a;--mint:#38b870;
  --lav:#4f49a8;--lav-2:#a8a0e8;--oil:#241f1c;
  --display:'Oswald',Helvetica,Arial,sans-serif;
  --sans:'Open Sans','Arial Narrow',Helvetica,Arial,sans-serif;
  --s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --r-md:8px;--r-pill:999px;--rule:1.5px;
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-stretch:87.5%;font-size:17px;line-height:1.5;margin:0}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;text-transform:uppercase;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:.01em}
p{margin:0 0 1em}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green-700);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:16px;top:16px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.wrap{max-width:1200px;margin:0 auto;padding-inline:var(--s4)}
@media(min-width:761px){.wrap{padding-inline:var(--s6)}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:14px 26px;border-radius:var(--r-pill);border:var(--rule) solid var(--ink);background:none;color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.btn-primary{background:var(--pink);border-color:var(--pink);color:#fff}
.btn-primary:hover{background:var(--pink-600);border-color:var(--pink-600)}

/* Header */
.topbar{background:var(--green-100);color:var(--rose);text-align:center;font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:8px var(--s4)}
.site-header{border-bottom:var(--rule) solid var(--line);background:var(--paper)}
.head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding-block:var(--s3)}
.logo img{height:60px;width:auto}
.dnav-list{display:flex;gap:var(--s5);list-style:none;margin:0;padding:0;font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.dnav a{text-decoration:none}
.dnav a:hover,.dnav .current-menu-item>a{color:var(--pink-600)}
.dnav li:first-child a{color:var(--pink)}
.head-right{display:flex;align-items:center;gap:var(--s3)}
a.cart{font-family:var(--display);font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:var(--rule) solid var(--ink);border-radius:var(--r-pill);padding:6px 14px;white-space:nowrap}
.burger{display:none;align-items:center;gap:8px;background:none;border:0;padding:8px 4px;cursor:pointer;color:var(--ink);font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.burger i,.burger i::before,.burger i::after{display:block;width:22px;height:1.5px;background:var(--ink);position:relative;content:"";transition:transform .15s}
.burger i::before{position:absolute;top:-7px}
.burger i::after{position:absolute;top:7px}
.burger[aria-expanded="true"] i{background:transparent}
.burger[aria-expanded="true"] i::before{transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] i::after{transform:translateY(-7px) rotate(-45deg)}
.mnav{border-top:1px solid var(--line)}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav li+li{border-top:1px solid var(--line)}
.mnav a{display:flex;justify-content:space-between;padding:15px 16px;font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.mnav a::after{content:"→";color:var(--pink)}
.mnav .sub-menu a{padding-left:32px;font-size:14px;color:var(--ink-soft)}
.mnav .mfoot{margin:0;padding:16px;background:var(--green-100);font-size:15px;color:var(--ink-soft)}
@media(max-width:960px){.dnav{display:none}.burger{display:inline-flex}}
@media(min-width:961px){.mnav{display:none!important}}

/* Footer */
.site-footer{background:var(--ink);color:var(--paper);padding-bottom:var(--s6)}
.follow{background:var(--cream);color:var(--ink);padding-block:var(--s6);margin-bottom:var(--s7)}
.follow .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.follow h2{font-size:clamp(26px,3.4vw,38px);line-height:1}
.ftxt{max-width:34ch;display:flex;flex-direction:column;gap:6px}
.ftxt p{margin:0;font-size:18px;line-height:1.4;color:var(--ink-soft)}
.fhandle{font-family:var(--display);font-size:14px;letter-spacing:.1em;color:var(--pink-600)}
.soc{display:flex;gap:14px}
.soc a{width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;color:var(--ink);transition:background .15s,color .15s}
.soc a:hover{background:var(--ink);color:var(--paper)}
.soc svg{width:24px;height:24px}
.foot{display:grid;grid-template-columns:auto repeat(4,1fr);gap:var(--s6);align-items:start}
.foot img{width:64px;height:auto}
.foot h3{font-size:14px;letter-spacing:.12em;margin-bottom:var(--s3);color:var(--green)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:16px}
.foot ul a{color:inherit;text-decoration:none}
.foot ul a:hover{text-decoration:underline}
.fsoc{display:flex;gap:10px}
.foot ul+.fsoc{margin-top:var(--s4)}
.fsoc a{width:38px;height:38px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;color:var(--paper);opacity:.85}
.fsoc a:hover{opacity:1}
.fsoc svg{width:19px;height:19px}
.foot .legal{grid-column:1/-1;font-size:13px;opacity:.75;margin:var(--s4) 0 0}
@media(max-width:760px){.foot{grid-template-columns:1fr 1fr}.follow .wrap{flex-direction:column;align-items:flex-start}}

/* Generic pages */
.page-body{padding-block:var(--s7)}
.page-title{font-size:clamp(40px,6vw,64px);margin-bottom:var(--s5)}
.entry-content{max-width:760px}
.entry-content h2{font-size:28px;margin:var(--s6) 0 var(--s3)}

/* Partners above the footer (2026-11-10) */
.partners{padding-block:var(--s5) var(--s4);overflow:hidden}
.partners h2{font-family:var(--display);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin-bottom:var(--s4)}
.ptrack{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.prow{list-style:none;margin:0;padding:0;display:flex;gap:96px;width:max-content;animation:prow 45s linear infinite}
.prow li{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;width:110px;text-align:center}
.prow li span{font-size:12px;line-height:1.3;color:var(--ink-soft)}
.prow img{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.ptrack:hover .prow{animation-play-state:paused}
@keyframes prow{to{transform:translateX(-50%)}}
@media(max-width:600px){.prow{gap:40px}.prow li{width:90px}.prow li span{font-size:11px}.prow img{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.prow{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.prow li[aria-hidden]{display:none}.ptrack{-webkit-mask-image:none;mask-image:none}}

/* CookieYes banner in the site's fonts (2026-11-14). Its default font shows the
   Bulgarian letter forms („д“ like „g“, „т“ like „m“), unlike the rest of the site. */
.cky-consent-container,.cky-consent-container *,.cky-modal,.cky-modal *{font-family:var(--sans)!important;font-feature-settings:"locl" 0}
.cky-consent-container .cky-title,.cky-modal .cky-preference-title{font-family:var(--display)!important;text-transform:uppercase;letter-spacing:.02em}
.cky-consent-container .cky-btn,.cky-modal .cky-btn{font-family:var(--display)!important;text-transform:uppercase;letter-spacing:.06em;border-radius:999px!important}

/* Note after „Добави“ in a product card (2026-11-14) */
#addtoast{position:fixed;left:50%;bottom:72px;transform:translateX(-50%) translateY(20px);display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;padding:12px 14px 12px 18px;border-radius:999px;font-size:15px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:100000;box-shadow:0 8px 24px rgba(0,0,0,.18);max-width:calc(100vw - 32px)}
#addtoast.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
#addtoast a{background:var(--pink);color:#fff;text-decoration:none;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:13px;padding:8px 14px;border-radius:999px;white-space:nowrap}
.add.loading{opacity:.6;pointer-events:none}
a.added_to_cart{display:none!important}

/* Phone: the note stays on one line and sits above the sticky buy bar of product pages. */
@media(max-width:600px){#addtoast{font-size:14px;gap:10px;padding:10px 10px 10px 14px;bottom:96px}#addtoast span{white-space:nowrap}#addtoast a{font-size:12px;padding:7px 12px}}
/* Phone: the note is a rounded box (not a pill), so the text is never cut. */
@media(max-width:600px){#addtoast{left:16px;right:16px;transform:translateY(20px);border-radius:14px;justify-content:space-between;max-width:none}#addtoast.show{transform:translateY(0)}#addtoast span{white-space:normal}}
/* The add-to-cart message in green, like the box upgrades' message (Деси, 2026-11-14). */
#addtoast{background:var(--green-700)}
#addtoast a{background:#fff;color:var(--green-700)}
@media(max-width:600px){#addtoast{left:50%;right:auto;width:max-content;max-width:calc(100% - 32px);transform:translateX(-50%) translateY(20px);gap:12px}#addtoast.show{transform:translateX(-50%) translateY(0)}}
/* The green note a bit larger, with a button that is easy to tap (Деси, 2026-11-14). */
#addtoast{font-size:16px;padding:14px 14px 14px 20px;gap:16px;box-shadow:0 8px 24px rgba(36,31,28,.18)}
#addtoast a{font-size:14px;padding:12px 18px;min-height:44px;display:inline-flex;align-items:center}
#addtoast a[hidden]{display:none}
@media(max-width:600px){#addtoast{font-size:15px;padding:12px 12px 12px 16px;gap:12px;bottom:96px}#addtoast a{font-size:13px;padding:12px 16px}}
