/* ==========================================================================
   Navetta - front styles.
   Every colour, radius and size is a variable set in the back office.
   This file only says HOW things are laid out, never WHAT colour they are,
   so a theme can restyle the whole header without touching PHP.
   ========================================================================== */

:root{
  /* fallbacks only - the real values arrive from the module's own css endpoint */
  --nv-accent:#07778f; --nv-accent-ink:#fff; --nv-accent-soft:rgba(7,119,143,.10);
  --nv-gold:#a8812f; --nv-sale:#b4432e; --nv-ok:#2c7a58;
  --nv-bg:#f2f5f5; --nv-surface:#fff; --nv-surface-2:#eaf0f0; --nv-line:#dae3e4;
  --nv-ink:#0f1d22; --nv-ink-2:#31474c; --nv-muted:#63797d;
  --nv-bar-bg:#fff; --nv-bar-ink:#0f1d22;
  --nv-r-bar:0px; --nv-r-ctl:8px; --nv-r-card:12px; --nv-r-pill:999px;
  --nv-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --nv-font-display:Georgia,"Times New Roman",serif;
  --nv-ui:15px; --nv-hit:38px; --nv-row-pad:10px; --nv-container:1400px;
  --nv-gap:16px; --nv-z:60;
}
[data-nv-senior="1"]{ --nv-ui:17px; --nv-hit:46px; --nv-row-pad:14px; }

.nv-root,.nv-root *{box-sizing:border-box}
.nv-root{font-family:var(--nv-font);font-size:var(--nv-ui);color:var(--nv-ink);line-height:1.5}
.nv-root a{color:inherit;text-decoration:none}
.nv-root button{font:inherit;color:inherit}
.nv-root :focus-visible,.nv-drawer :focus-visible,.nv-minicart :focus-visible{
  outline:2px solid var(--nv-accent);outline-offset:2px;border-radius:2px}
.nv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- shell ---------- */
.nv-root{background:var(--nv-bar-bg);border-radius:var(--nv-r-bar)}
.nv-sticky{position:sticky;top:0;z-index:var(--nv-z)}
.nv-head{background:var(--nv-bar-bg);color:var(--nv-bar-ink);border-bottom:1px solid var(--nv-line)}
.nv-head-m{display:none}
.nv-row{border-bottom:1px solid var(--nv-line);position:relative}
.nv-row:last-child{border-bottom:0}
.nv-wrap{width:min(100% - 30px,var(--nv-container));margin-inline:auto;display:flex;align-items:center;
  gap:var(--nv-gap);min-height:calc(var(--nv-hit) + var(--nv-row-pad)*2);padding-block:var(--nv-row-pad)}
.nv-slot{display:flex;align-items:center;gap:var(--nv-gap);min-width:0}
.nv-slot-c{flex:1;justify-content:center}
.nv-slot-r{margin-left:auto;justify-content:flex-end}
.nv-row-thin{background:var(--nv-surface-2)}
.nv-row-thin .nv-wrap{min-height:0;padding-block:7px;font-size:13px}
.nv-row-accent{background:var(--nv-accent);color:var(--nv-accent-ink);border-bottom-color:transparent}
.nv-row-ink{background:var(--nv-ink);color:#e7f0f0}
.nv-spacer{flex:1}

/* ---------- logo ---------- */
.nv-logo{display:flex;align-items:center;gap:8px;white-space:nowrap}
.nv-logo img{display:block;height:auto;max-height:48px;width:auto}
.nv-logo-text{font-family:var(--nv-font-display);font-size:24px;line-height:1}

/* ---------- search ---------- */
.nv-search{flex:1;max-width:640px;min-width:150px}
.nv-search form{display:flex;border:1.5px solid var(--nv-line);border-radius:var(--nv-r-ctl);
  background:var(--nv-surface);overflow:hidden}
.nv-search:focus-within form{border-color:var(--nv-accent)}
.nv-search-in{flex:1;min-width:0;border:0;background:transparent;height:var(--nv-hit);padding:0 12px}
.nv-search-in:focus{outline:0}
.nv-search-go{border:0;background:var(--nv-accent);color:var(--nv-accent-ink);padding:0 16px;
  height:var(--nv-hit);cursor:pointer;display:flex;align-items:center}
.nv-search-row .nv-wrap{padding-block:12px}

/* ---------- icon buttons ---------- */
.nv-ibtn{display:inline-flex;align-items:center;gap:8px;height:var(--nv-hit);padding:0 10px;
  border:0;background:transparent;border-radius:var(--nv-r-ctl);cursor:pointer;position:relative;white-space:nowrap}
.nv-ibtn:hover{background:var(--nv-surface-2)}
.nv-ibtn-bordered{border:1px solid var(--nv-line)}
.nv-t{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.nv-t small{font-size:11px;color:var(--nv-muted)}
.nv-t strong{font-size:13.5px;font-weight:700}
.nv-badge{position:absolute;top:-1px;left:19px;background:var(--nv-sale);color:#fff;font-size:10.5px;
  font-weight:700;min-width:18px;height:18px;border-radius:var(--nv-r-pill);display:grid;place-items:center;padding:0 4px}
.nv-burger{width:44px;height:44px;border:0;background:var(--nv-surface-2);border-radius:var(--nv-r-ctl);
  display:grid;place-items:center;cursor:pointer;flex:0 0 auto}

/* ---------- phone, whatsapp, mini links ---------- */
.nv-phone{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.nv-phone strong{font-size:15px;font-variant-numeric:tabular-nums;display:block}
.nv-phone small{display:block;color:var(--nv-muted);font-size:11px}
.nv-wa{display:inline-flex;align-items:center;gap:8px;height:var(--nv-hit);padding:0 14px;
  border-radius:var(--nv-r-ctl);background:#1faa54;color:#fff;font-weight:700;font-size:13.5px;white-space:nowrap}
.nv-wa small{display:block;font-weight:500;opacity:.85;font-size:10.5px}
.nv-wa-off{background:var(--nv-muted);cursor:default}
.nv-mini{position:relative;font-size:13px}
.nv-mini-btn{border:0;background:transparent;cursor:pointer;padding:5px 9px;border-radius:var(--nv-r-ctl);
  display:inline-flex;align-items:center;gap:6px;color:inherit}
.nv-mini-btn:hover{background:rgba(125,125,125,.14)}
.nv-drop-list{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:var(--nv-surface);
  border:1px solid var(--nv-line);border-radius:var(--nv-r-card);box-shadow:0 12px 30px -10px rgba(0,0,0,.25);
  list-style:none;margin:0;padding:6px;display:none;z-index:5}
.nv-drop.open .nv-drop-list{display:block}
.nv-drop-list a{display:block;padding:7px 10px;border-radius:var(--nv-r-ctl);color:var(--nv-ink-2)}
.nv-drop-list a:hover{background:var(--nv-surface-2)}
.nv-offer{display:flex;align-items:center;gap:9px;font-size:13px}
.nv-offer .nv-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55;flex:0 0 auto}
.nv-b2b{display:flex;align-items:center;gap:16px;font-size:13px;flex-wrap:wrap}
.nv-tag{background:var(--nv-gold);color:#fff;font-weight:700;font-size:11px;letter-spacing:.07em;
  padding:3px 9px;border-radius:var(--nv-r-pill);text-transform:uppercase}

/* ---------- free shipping progress ---------- */
.nv-free{font-size:12.5px;color:var(--nv-muted);min-width:180px}
.nv-free-bar{display:block;height:6px;border-radius:var(--nv-r-pill);background:var(--nv-line);
  overflow:hidden;margin-top:5px}
.nv-free-bar i{display:block;height:100%;background:var(--nv-ok);transition:width .3s ease}

/* ---------- the menu ---------- */
.nv-menu{flex:1;min-width:0}
.nv-list{display:flex;list-style:none;margin:0;padding:0;gap:2px;flex-wrap:wrap}
.nv-item{position:static}
.nv-link{display:flex;align-items:center;gap:7px;height:calc(var(--nv-hit) + 6px);padding:0 13px;
  font-weight:600;border-radius:var(--nv-r-ctl);white-space:nowrap;position:relative;cursor:pointer}
.nv-link:hover{background:var(--nv-surface-2)}
.nv-item.nv-open>.nv-link{background:var(--nv-accent-soft);color:var(--nv-accent)}
.nv-chev{transition:transform .18s;opacity:.5;flex:0 0 auto}
.nv-item.nv-open>.nv-link .nv-chev{transform:rotate(180deg);opacity:1}
.nv-link.nv-current::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;
  background:var(--nv-accent);border-radius:2px}
.nv-pill{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;
  border-radius:var(--nv-r-pill);background:var(--nv-sale);color:#fff}

/* ---------- panels ---------- */
.nv-panel{position:absolute;top:100%;left:0;right:0;z-index:40;background:var(--nv-surface);
  border:1px solid var(--nv-line);border-top:0;border-radius:0 0 var(--nv-r-card) var(--nv-r-card);
  box-shadow:0 18px 40px -12px rgba(15,29,34,.28);padding:22px}
.nv-panel[hidden]{display:none!important}
.nv-panel-in{width:min(100%,var(--nv-container));margin-inline:auto;
  display:grid;grid-template-columns:repeat(12,1fr);gap:26px;align-items:start}
.nv-panel-simple{right:auto;width:290px;padding:10px;border-top:1px solid var(--nv-line);
  border-radius:var(--nv-r-card)}
.nv-panel-simple .nv-panel-in{display:block}
.nv-col{grid-column:span 3}
.nv-panel-full{left:0;right:0}
.nv-w1{grid-column:span 1}.nv-w2{grid-column:span 2}.nv-w3{grid-column:span 3}
.nv-w4{grid-column:span 4}.nv-w5{grid-column:span 5}.nv-w6{grid-column:span 6}
.nv-w7{grid-column:span 7}.nv-w8{grid-column:span 8}.nv-w9{grid-column:span 9}
.nv-w10{grid-column:span 10}.nv-w11{grid-column:span 11}.nv-w12{grid-column:span 12}
.nv-col>.nv-block+.nv-block{margin-top:18px}

.nv-b-title{margin:0 0 10px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--nv-muted);padding-bottom:7px;border-bottom:1px solid var(--nv-line);font-weight:700}
.nv-plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.nv-plist a{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--nv-r-ctl);
  color:var(--nv-ink-2)}
.nv-plist a:hover{background:var(--nv-surface-2);color:var(--nv-accent)}
.nv-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-c{font-size:11.5px;color:var(--nv-muted);font-variant-numeric:tabular-nums}
.nv-more{color:var(--nv-accent);font-weight:700;font-size:13px}

/* beads: drawn in CSS, so the menu never loads an image it does not need */
.nv-bead{width:18px;height:18px;border-radius:50%;flex:0 0 auto;
  background:
    radial-gradient(circle at 33% 28%,rgba(255,255,255,.9),rgba(255,255,255,0) 42%),
    radial-gradient(circle at 70% 78%,rgba(0,0,0,.3),rgba(0,0,0,0) 55%),
    var(--nv-stone,var(--nv-surface-2));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.nv-bead-sm{width:18px;height:18px}
.nv-bead-lg{width:44px;height:44px}

.nv-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px 10px}
.nv-sw{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;
  border-radius:var(--nv-r-card);text-align:center}
.nv-sw:hover{background:var(--nv-surface-2)}
.nv-sw-n{font-size:12px;color:var(--nv-ink-2);line-height:1.25}

.nv-chips{display:flex;flex-wrap:wrap;gap:7px}
.nv-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--nv-line);
  border-radius:var(--nv-r-pill);font-size:13px;color:var(--nv-ink-2);background:var(--nv-surface)}
.nv-chip:hover{border-color:var(--nv-accent);color:var(--nv-accent);background:var(--nv-accent-soft)}

.nv-prods{display:flex;flex-direction:column;gap:10px}
.nv-card{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--nv-line);
  border-radius:var(--nv-r-card)}
.nv-card:hover{border-color:var(--nv-accent)}
.nv-thumb{width:64px;height:64px;border-radius:var(--nv-r-ctl);flex:0 0 auto;display:grid;place-items:center;
  background:var(--nv-surface-2);overflow:hidden}
.nv-thumb img{width:100%;height:100%;object-fit:cover}
.nv-card-b{min-width:0;flex:1}
.nv-card-b b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-price{font-weight:800;color:var(--nv-accent);font-variant-numeric:tabular-nums}
.nv-price s{color:var(--nv-muted);font-weight:500;font-size:12px;margin-right:5px}

.nv-banner img{display:block;width:100%;height:auto;border-radius:var(--nv-r-card)}
.nv-promo{border-radius:var(--nv-r-card);padding:18px;color:#fff;
  background:linear-gradient(135deg,var(--nv-ink),var(--nv-accent))}
.nv-promo .nv-cta{display:inline-flex;background:#fff;color:var(--nv-ink);font-weight:700;font-size:13px;
  padding:8px 14px;border-radius:var(--nv-r-ctl);margin-top:10px}
.nv-clock{display:flex;gap:6px;margin:12px 0}
.nv-clock div{background:rgba(255,255,255,.16);border-radius:var(--nv-r-ctl);padding:6px 9px;
  text-align:center;min-width:46px}
.nv-clock b{display:block;font-size:18px;font-variant-numeric:tabular-nums;line-height:1}
.nv-clock small{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}

/* ---------- forms in a panel ---------- */
.nv-form-lead{margin:0 0 8px;font-size:13px;color:var(--nv-muted)}
.nv-f-row{display:flex;gap:8px;margin-top:8px}
.nv-f-row input,.nv-f-row textarea{flex:1;min-width:0;border:1.5px solid var(--nv-line);
  border-radius:var(--nv-r-ctl);padding:9px 11px;background:var(--nv-surface);font:inherit;color:var(--nv-ink)}
.nv-f-row input:focus,.nv-f-row textarea:focus{outline:0;border-color:var(--nv-accent)}
.nv-btn{display:inline-flex;align-items:center;justify-content:center;height:var(--nv-hit);padding:0 16px;
  border:0;border-radius:var(--nv-r-ctl);background:var(--nv-accent);color:var(--nv-accent-ink);
  font-weight:700;cursor:pointer;white-space:nowrap}
.nv-btn-ghost{background:transparent;color:var(--nv-accent);border:1.5px solid var(--nv-accent)}
.nv-captcha{display:flex;align-items:center;gap:9px;margin-top:9px;padding:8px 10px;
  border:1px dashed var(--nv-line);border-radius:var(--nv-r-ctl);background:var(--nv-surface-2);font-size:13px}
.nv-captcha input{width:66px;border:1.5px solid var(--nv-line);border-radius:var(--nv-r-ctl);
  padding:6px 8px;background:var(--nv-surface);font:inherit}
.nv-q{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.05em;font-family:var(--nv-font-display);
  font-size:17px;padding:2px 9px;border-radius:4px;
  background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(125,125,125,.14) 5px,rgba(125,125,125,.14) 7px)}
.nv-q-new{border:0;background:transparent;cursor:pointer;color:var(--nv-muted);padding:4px;font-size:16px}
.nv-form-msg{margin:8px 0 0;font-size:13px;min-height:1em}
.nv-form-msg.nv-ok{color:var(--nv-ok)}
.nv-form-msg.nv-err{color:var(--nv-sale)}

/* ---------- mobile drawer ---------- */
.nv-drawer{position:fixed;inset:0 auto 0 0;width:min(400px,92vw);background:var(--nv-surface);
  z-index:1000;display:flex;flex-direction:column;transform:translateX(-102%);
  transition:transform .26s ease;font-family:var(--nv-font);color:var(--nv-ink)}
.nv-drawer.nv-open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.35)}
.nv-backdrop{position:fixed;inset:0;background:rgba(10,20,24,.45);z-index:999}
.nv-backdrop[hidden]{display:none}
.nv-d-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--nv-line);flex:0 0 auto}
.nv-d-back{border:0;background:var(--nv-surface-2);border-radius:var(--nv-r-ctl);width:38px;height:38px;
  cursor:pointer;font-size:18px}
.nv-d-title{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-d-close{border:0;background:transparent;font-size:24px;color:var(--nv-muted);width:38px;height:38px;cursor:pointer}
.nv-d-path{padding:7px 12px;font-size:11.5px;color:var(--nv-muted);background:var(--nv-surface-2);
  border-bottom:1px solid var(--nv-line)}
.nv-d-path[hidden]{display:none}
.nv-d-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.nv-d-level{list-style:none;margin:0;padding:6px}
.nv-d-level[hidden]{display:none}
.nv-d-level li{margin:0}
.nv-d-go{width:100%;display:flex;align-items:center;gap:11px;padding:13px 10px;border:0;
  background:transparent;border-radius:var(--nv-r-ctl);cursor:pointer;text-align:left;
  font-size:calc(var(--nv-ui) - .5px);border-bottom:1px solid var(--nv-line);color:var(--nv-ink)}
.nv-d-level li:last-child .nv-d-go{border-bottom:0}
.nv-d-go:hover{background:var(--nv-surface-2)}
.nv-arr{color:var(--nv-muted);font-size:18px}
.nv-d-h{padding:14px 10px 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--nv-muted)}
.nv-d-all{display:block;padding:12px 10px;color:var(--nv-accent);font-weight:700;border-bottom:1px solid var(--nv-line)}
.nv-d-foot{border-top:1px solid var(--nv-line);padding:10px;display:flex;gap:8px;flex:0 0 auto;
  background:var(--nv-surface-2)}
.nv-d-foot .nv-wa,.nv-d-foot .nv-btn{flex:1;justify-content:center}

/* ---------- floating cart ---------- */
.nv-fab{position:fixed;left:18px;bottom:18px;z-index:900;width:58px;height:58px;border-radius:50%;
  background:var(--nv-accent);color:var(--nv-accent-ink);border:0;cursor:grab;display:grid;place-items:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.45);touch-action:none;-webkit-user-select:none;user-select:none}
.nv-fab[data-nv-side="right"]{left:auto;right:18px}
.nv-fab:active{cursor:grabbing}
.nv-fab .nv-badge{top:-3px;left:auto;right:-3px;box-shadow:0 0 0 2px var(--nv-surface)}
.nv-fab-tot{position:absolute;left:50%;transform:translateX(-50%);bottom:-9px;background:var(--nv-ink);
  color:#fff;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:var(--nv-r-pill);
  white-space:nowrap;font-variant-numeric:tabular-nums}
.nv-fab.nv-bump{animation:nvBump .45s ease}
@keyframes nvBump{0%{transform:scale(1)}35%{transform:scale(1.16)}100%{transform:scale(1)}}
.nv-fly{position:fixed;z-index:1200;pointer-events:none;border-radius:50%;
  transition:transform .7s cubic-bezier(.35,.1,.6,1),opacity .7s}

.nv-minicart{position:fixed;top:0;right:0;bottom:0;width:min(390px,92vw);background:var(--nv-surface);
  border-left:1px solid var(--nv-line);z-index:1000;display:flex;flex-direction:column;
  transform:translateX(103%);transition:transform .26s ease;font-family:var(--nv-font);color:var(--nv-ink)}
.nv-minicart.nv-open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.35)}
.nv-mc-head{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--nv-line)}
.nv-mc-head b{flex:1;font-size:16px}
.nv-mc-head button{border:0;background:transparent;font-size:24px;color:var(--nv-muted);cursor:pointer;
  width:36px;height:36px}
.nv-mc-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.nv-mc-foot{border-top:1px solid var(--nv-line);padding:16px;background:var(--nv-surface-2)}
.nv-mc-tot{display:flex;justify-content:space-between;font-weight:800;font-size:17px;margin:10px 0;
  font-variant-numeric:tabular-nums}
.nv-mc-foot .nv-btn{width:100%}
.nv-mc-empty{color:var(--nv-muted);text-align:center;padding:30px 10px}

/* ---------- device rules (the server keeps one cached copy for everybody) ----------
   An entry limited to one kind of screen is hidden by CSS, so the cached menu
   stays a single copy shared by every visitor. */
.nv-item[class*="nv-dev-"]{display:none}
@media (min-width:993px){ .nv-item.nv-dev-1{display:block} }
@media (min-width:769px) and (max-width:992px){ .nv-item.nv-dev-2{display:block} }
@media (max-width:768px){ .nv-item.nv-dev-3{display:block} }

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .nv-panel-in{gap:18px;grid-template-columns:repeat(6,1fr)}
  .nv-col{grid-column:span 3}
  .nv-w8,.nv-w9,.nv-w10,.nv-w11,.nv-w12{grid-column:span 6}
}
@media (max-width:992px){
  .nv-head-d{display:none}
  .nv-head-m{display:block}
  .nv-head-m .nv-wrap{gap:10px}
  .nv-head-m .nv-search{max-width:none;width:100%}
  .nv-head-m .nv-slot{width:100%}
  .nv-head-m .nv-slot-r{width:auto}
  .nv-fab{width:54px;height:54px}
}
@media (max-width:768px){
  .nv-panel-in{grid-template-columns:1fr}
  .nv-col{grid-column:span 1!important}
  .nv-hide-m{display:none}
}

/* ---------- right to left ---------- */
[dir="rtl"] .nv-drawer{inset:0 0 0 auto;transform:translateX(102%)}
[dir="rtl"] .nv-drawer.nv-open{transform:none}
[dir="rtl"] .nv-minicart{left:0;right:auto;border-left:0;border-right:1px solid var(--nv-line);
  transform:translateX(-103%)}
[dir="rtl"] .nv-minicart.nv-open{transform:none}
[dir="rtl"] .nv-badge{left:auto;right:19px}
[dir="rtl"] .nv-t{text-align:right}

@media (prefers-reduced-motion:reduce){
  .nv-drawer,.nv-minicart,.nv-fly,.nv-free-bar i{transition:none!important}
  .nv-fab.nv-bump{animation:none}
}
@media print{
  .nv-fab,.nv-minicart,.nv-drawer,.nv-backdrop,.nv-panel{display:none!important}
}
