/* Shared look for every Vilma page: colours, type, header, buttons, footer. */
:root{
  --soot:#1c1412;      /* the room before the candle is lit */
  --oxblood:#5a1a0e;   /* Vilma brand colour */
  --wax:#f3ece4;       /* soy wax */
  --flame:#e9a23b;     /* only ever used for light */
  --ash:#8c7b72;       /* quiet text */
  --linen:#e6d3c7;     /* lines and soft surfaces */
  --serif:"Fraunces",Georgia,serif;
  --sans:"Instrument Sans",system-ui,sans-serif;
  --gut:clamp(16px,4vw,48px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--wax);color:var(--soot);font:17px/1.6 var(--sans)}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--flame);outline-offset:3px}
.serif{font-family:var(--serif);font-variation-settings:"SOFT" 100;font-weight:350;letter-spacing:-.01em}
.wrap{max-width:1240px;margin:0 auto}

.top{position:fixed;inset:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px var(--gut);color:var(--wax);transition:background .4s,color .4s}
.top.solid{background:rgba(243,236,228,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--soot);box-shadow:0 1px 0 var(--linen)}
.brand img{display:block;height:clamp(18px,2.2vw,24px);width:auto;filter:brightness(0) invert(1);transition:filter .4s}
.top.solid .brand img{filter:none}
.nav{display:flex;gap:clamp(14px,2.5vw,32px);align-items:center;font-size:15px}
.nav a{text-decoration:none}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.nav .hide-s{display:none}
.nav-r{justify-content:flex-end}
.show-s{width:22px;height:22px;display:block}
.signin{display:inline-flex}
.only-s{display:inline}
.lang{border:1px solid currentColor;border-radius:99px;padding:3px 10px;font-size:13px;opacity:.85}
.cart{position:relative;display:inline-flex}
.cart svg{width:22px;height:22px}
@media(min-width:760px){.nav .hide-s{display:inline}.show-s{display:none}.nav .only-s{display:none}}

.btn{display:inline-flex;align-items:center;gap:10px;background:var(--wax);color:var(--soot);text-decoration:none;font-weight:500;padding:14px 26px;border-radius:99px;border:0;cursor:pointer;transition:background .2s}
.btn:hover{background:#fff}
.btn.dark{background:var(--soot);color:var(--wax)}
.btn.dark:hover{background:var(--oxblood)}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}

footer{background:var(--soot);color:#cdbfb5;padding:56px var(--gut) 40px;font-size:15px}
footer .wrap{display:grid;gap:28px}
@media(min-width:800px){footer .wrap{grid-template-columns:2fr 1fr 1fr}}
footer a{display:block;text-decoration:none;margin:4px 0}
.fcontact b{display:block;color:var(--wax);font-weight:500;margin-bottom:6px}
.social{display:flex;gap:10px;margin-top:12px}
.social a{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(243,236,228,.12);margin:0}
.social a:hover{background:rgba(243,236,228,.22)}
.social svg{width:19px;height:19px}
.wa-link{display:inline-flex!important;align-items:center;gap:8px}
.wa{width:18px;height:18px;flex:none;color:#25d366}
footer small{display:block;margin-top:36px;color:var(--ash)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* round "add to cart" button on candle cards */
.qadd{position:absolute;right:10px;bottom:10px;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(243,236,228,.94);color:#1c1412;cursor:pointer;box-shadow:0 4px 14px rgba(28,20,18,.18);transition:transform .15s,background .2s}
.qadd:hover{background:#fff;transform:scale(1.06)}.qadd:active{transform:scale(.94)}
