/*
Theme Name: ניקול
Theme URI: https://angry-villani.34-165-76-147.plesk.page
Description: תבנית בת של Twenty Twenty-One לחנות ניקול — יודאיקה בעבודת יד. שפת "לוח אבן": קווי חלוקה חדים, צילום נושא את הצבע, תכלת רק באינטראקציה.
Author: Nikol Shop
Template: twentytwentyone
Version: 1.0.0
Text Domain: nikol
*/

/* =====================================================================
   0 · FONTS — Heebo, self-hosted, hebrew+latin
   ===================================================================== */
@font-face{font-family:'Heebo';font-style:normal;font-weight:300;font-display:swap;
  src:url('fonts/heebo-v28-hebrew_latin-300.woff2') format('woff2')}
@font-face{font-family:'Heebo';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/heebo-v28-hebrew_latin-regular.woff2') format('woff2')}
@font-face{font-family:'Heebo';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/heebo-v28-hebrew_latin-500.woff2') format('woff2')}
@font-face{font-family:'Heebo';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/heebo-v28-hebrew_latin-700.woff2') format('woff2')}

/* =====================================================================
   1 · TOKENS — the approved "לוח אבן" palette. Light-only by design:
   the goods are white plaster; the photography is the colour.
   ===================================================================== */
:root{
  --plaster:#F1F3F1;        /* page ground — cool cast-plaster */
  --plaster-deep:#E3E6E3;   /* recessed surfaces */
  --card:#FFFFFF;           /* raised surfaces */
  --ink:#15181A;            /* text */
  --muted:#5F6565;          /* secondary text — 4.6:1 on plaster */
  --hair:#D2D6D2;           /* hairline rules */
  --tekhelet:#0C5C8C;       /* the single accent — price + interaction only */
  --tekhelet-soft:rgba(12,92,140,.1);
  --ok:#2E7D32;
  --err:#B3261E;

  --heb:'Heebo','Noto Sans Hebrew','Segoe UI',system-ui,sans-serif;
  --data:ui-monospace,'Cascadia Mono','SF Mono',Consolas,monospace;

  /* spacing scale — 8px base, 7 steps */
  --s1:.25rem; --s2:.5rem; --s3:1rem; --s4:1.5rem; --s5:2.5rem; --s6:4rem; --s7:6.5rem;

  /* type scale — 7 steps */
  --t-xs:.75rem;
  --t-sm:.875rem;
  --t-base:1rem;
  --t-md:1.125rem;
  --t-lg:clamp(1.3rem,2.2vw,1.6rem);
  --t-xl:clamp(1.7rem,3.4vw,2.4rem);
  --t-hero:clamp(2.2rem,6vw,4rem);

  --wrap:1180px;
  --pad:clamp(1rem,4vw,3rem);
  --radius:2px;
  --shadow:0 1px 2px rgba(21,24,26,.05),0 14px 44px -20px rgba(21,24,26,.18);
}

/* =====================================================================
   2 · RESET + BASE
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--plaster);color:var(--ink);font-family:var(--heb);
  font-size:var(--t-base);line-height:1.7;-webkit-font-smoothing:antialiased;
  overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p a,.nk-prose a{color:var(--tekhelet);text-decoration:underline;text-underline-offset:3px}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink)}
h1,h2,h3,h4{font-weight:500;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
:focus-visible{outline:2px solid var(--tekhelet);outline-offset:3px;border-radius:var(--radius)}
:focus:not(:focus-visible){outline:none}
::selection{background:var(--tekhelet);color:#fff}

.nk-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.nk-num{font-family:var(--data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.nk-kicker{font-family:var(--data);font-size:var(--t-xs);letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:var(--s3);top:-100px;z-index:200;
  background:var(--ink);color:var(--plaster);padding:var(--s2) var(--s3);
  min-height:44px;display:inline-flex;align-items:center;
  border-radius:var(--radius);transition:top .15s ease}
.skip-link:focus{top:var(--s3)}

/* תוסף ה-CDN של האחסון (LiteSpeed) מזריק style="width:..;height:..;max-width:<רוחב טבעי>px"
   ישירות על תגי ה-img למניעת CLS. סגנון inline גובר על כל גיליון, ולכן תמונות שאמורות
   למלא את המכל שלהן נחתכות לרוחב הטבעי. זה המקום היחיד בקובץ עם !important, והוא מוצדק:
   אי אפשר לגבור על inline בדרך אחרת. אומת על האתר החי. */
.nk-hero-media img, .nk-phero-media img, .nk-cat img, .nk-card-media img,
.nk-engrave img, .nk-gstrip img{
  max-width:none !important; width:100% !important; height:100% !important;
}

/* =====================================================================
   3 · HEADER
   ===================================================================== */
.nk-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--plaster) 92%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.nk-header-in{display:flex;align-items:center;gap:var(--s4);min-height:64px}
.nk-logo{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;flex:none;
  display:inline-flex;align-items:center;min-height:44px}
.nk-logo span{color:var(--tekhelet)}
.nk-nav{display:flex;gap:var(--s4);margin-inline-start:auto}
.nk-nav a{font-size:var(--t-sm);font-weight:500;color:var(--muted);
  padding:var(--s2) 0;position:relative;transition:color .18s ease}
.nk-nav a::after{content:'';position:absolute;inset-inline:0;bottom:6px;height:1px;
  background:var(--ink);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.nk-nav a:hover,.nk-nav a[aria-current]{color:var(--ink)}
.nk-nav a:hover::after,.nk-nav a[aria-current]::after{transform:scaleX(1)}
.nk-cart{position:relative;display:flex;align-items:center;gap:var(--s2);
  font-size:var(--t-sm);font-weight:500;padding:var(--s2) var(--s3);
  border:1px solid var(--hair);border-radius:var(--radius);min-height:44px;
  transition:border-color .18s ease}
.nk-cart:hover{border-color:var(--ink)}
.nk-cart svg{width:17px;height:17px}
.nikol-cart-count{font-family:var(--data);font-size:var(--t-xs);min-width:20px;height:20px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:100px;
  background:var(--tekhelet);color:#fff;padding-inline:5px}
.nk-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;
  flex-direction:column;gap:5px;margin-inline-start:auto}
.nk-burger i{display:block;width:20px;height:2px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
.nk-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nk-burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.nk-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:820px){
  .nk-burger{display:flex}
  .nk-cart{margin-inline-start:0}
  .nk-nav{display:none;position:fixed;inset:64px 0 auto 0;z-index:99;
    flex-direction:column;gap:0;background:var(--card);border-bottom:1px solid var(--hair);
    padding:var(--s3) var(--pad) var(--s4);box-shadow:var(--shadow)}
  .nk-nav.open{display:flex}
  .nk-nav a{min-height:48px;display:flex;align-items:center;font-size:var(--t-md);
    border-bottom:1px solid var(--hair)}
  .nk-nav a::after{content:none}
  .nk-nav a:last-child{border-bottom:0}
}

/* =====================================================================
   4 · FOOTER
   ===================================================================== */
.nk-footer{border-top:1px solid var(--hair);margin-top:var(--s7);background:var(--plaster-deep)}
.nk-footer-in{display:flex;flex-wrap:wrap;gap:var(--s5);padding-block:var(--s6);
  justify-content:space-between;align-items:flex-start}
.nk-footer .nk-logo{font-size:1.6rem}
.nk-footer nav{display:flex;flex-direction:column;gap:var(--s2)}
.nk-footer nav a{font-size:var(--t-sm);color:var(--muted);min-height:44px;display:inline-flex;align-items:center}
.nk-footer nav a:hover{color:var(--ink)}
.nk-footer-note{max-width:34ch;color:var(--muted);font-size:var(--t-sm)}
.nk-footer-base{border-top:1px solid var(--hair);padding-block:var(--s3);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s2);
  color:var(--muted);font-size:var(--t-xs);font-family:var(--data)}

/* =====================================================================
   5 · BUTTONS + FORMS
   ===================================================================== */
.nk-btn,.button,button[type=submit],.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  min-height:48px;padding:var(--s2) var(--s4);border-radius:var(--radius);
  background:var(--ink);color:var(--plaster);font-weight:600;font-size:var(--t-base);
  border:1px solid var(--ink);text-align:center;cursor:pointer;
  transition:transform .18s ease,opacity .18s ease}
.nk-btn:hover,.button:hover,.single_add_to_cart_button:hover{opacity:.88;transform:translateY(-1px);color:var(--plaster)}
.nk-btn.ghost{background:transparent;color:var(--ink);border-color:var(--hair)}
.nk-btn.ghost:hover{border-color:var(--ink);opacity:1}
.nk-btn.is-added{background:var(--ok);border-color:var(--ok)}
.nk-btn[disabled],.single_add_to_cart_button.loading{opacity:.55;pointer-events:none}
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=password],input[type=search],textarea,select{
  width:100%;min-height:48px;padding:var(--s2) var(--s3);background:var(--card);
  border:1px solid var(--hair);border-radius:var(--radius);
  transition:border-color .18s ease,box-shadow .18s ease}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--tekhelet);
  box-shadow:0 0 0 3px var(--tekhelet-soft)}
label{font-weight:500;font-size:var(--t-sm)}

/* Woo notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error li,.nk-toast{
  display:block;background:var(--card);border:1px solid var(--hair);
  border-inline-start:3px solid var(--tekhelet);border-radius:var(--radius);
  padding:var(--s3) var(--s4);margin-block:var(--s3);font-size:var(--t-sm)}
.woocommerce-error{list-style:none}
.woocommerce-error li{border-inline-start-color:var(--err)}
.woocommerce-message a.button,.woocommerce-message .button{margin-inline-start:var(--s3);min-height:36px;padding-block:var(--s1)}

/* =====================================================================
   6 · REVEAL ANIMATIONS  (A.3 — IO adds .in; frozen under reduced motion)
   ===================================================================== */
.rv{opacity:0;transform:translateY(14px);
  transition:opacity .4s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.05s}.rv-d2{transition-delay:.1s}
.rv-d3{transition-delay:.15s}.rv-d4{transition-delay:.2s}

/* hero entrance — CSS only, chain ≤600ms (3.2) */
@keyframes nkHeroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes nkMaskIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 -8% 0)}}
.nk-hero-title{animation:nkMaskIn .45s cubic-bezier(.2,.7,.2,1) both}
.nk-hero-sub{animation:nkHeroIn .3s ease .25s both}
.nk-hero-cta{animation:nkHeroIn .3s ease .3s both}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;
    transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}

/* =====================================================================
   7 · HOME
   ===================================================================== */
/* הירו דו-טורי. הצילומים של ניקול הם פורטרט (1154×2048); באנר רחב-ונמוך היה חותך
   אותם לתקריב מופשט על מסך רחב. הפיצול נותן לצילום את היחס הטבעי שלו ומרוויח
   קו חלוקה אנכי חד — בדיוק שפת "לוח אבן". */
.nk-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;
  min-height:min(80vh,660px);background:var(--plaster-deep);
  border-bottom:1px solid var(--hair);overflow:hidden}
.nk-hero-media{position:relative;margin:0;overflow:hidden;border-inline-start:1px solid var(--hair)}
.nk-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
/* הטקסט מיושר לאותו קו כמו הלוגו והניווט: המרווח בצד הפתיחה שווה למרווח
   שבין קצה המסך לקצה מכל התוכן (--wrap), כך שאין "שתי רשתות" בעמוד. */
.nk-hero-in{display:flex;flex-direction:column;justify-content:center;
  background:var(--plaster);
  padding-block:var(--s6);
  padding-inline-start:max(var(--pad), calc((100vw - var(--wrap)) / 2));
  padding-inline-end:var(--s5)}
.nk-hero .nk-kicker{margin-bottom:var(--s3)}
.nk-hero h1{font-size:var(--t-hero);font-weight:400;max-width:14ch;letter-spacing:-.03em}
.nk-hero p{margin-top:var(--s3);max-width:40ch;font-size:var(--t-md);color:var(--muted)}
.nk-hero .nk-btn{margin-top:var(--s5);align-self:flex-start}
@media (max-width:860px){
  .nk-hero{grid-template-columns:1fr;min-height:0}
  .nk-hero-media{order:-1;aspect-ratio:4/3;border-inline-start:0;border-bottom:1px solid var(--hair)}
  .nk-hero-in{padding-block:var(--s5)}
}

.nk-section{padding-block:var(--s7) 0}
.nk-sec-head{display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap}
.nk-sec-head h2{font-size:var(--t-xl);font-weight:500}
.nk-sec-head a{font-family:var(--data);font-size:var(--t-sm);color:var(--tekhelet);white-space:nowrap;
  display:inline-flex;align-items:center;min-height:44px}

/* category band — hard-ruled grid, the לוח אבן language */
.nk-cats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hair);
  border:1px solid var(--hair)}
.nk-cat{position:relative;background:var(--card);display:flex;flex-direction:column;min-height:100%}
.nk-cat figure{aspect-ratio:4/5;overflow:hidden;background:var(--plaster-deep)}
.nk-cat img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.nk-cat:hover img{transform:scale(1.04)}
.nk-cat-meta{padding:var(--s3);display:flex;align-items:baseline;justify-content:space-between;gap:var(--s2)}
.nk-cat-meta b{font-weight:500;font-size:var(--t-sm)}
.nk-cat-meta span{font-family:var(--data);font-size:var(--t-xs);color:var(--muted)}
@media (max-width:1020px){.nk-cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.nk-cats{grid-template-columns:repeat(2,1fr)}
  .nk-cat:last-child:nth-child(odd){grid-column:span 2}}

/* engraving band */
.nk-engrave{display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:var(--hair);
  border:1px solid var(--hair);margin-top:var(--s7)}
.nk-engrave figure{background:var(--plaster-deep);min-height:380px}
.nk-engrave img{width:100%;height:100%;object-fit:cover}
.nk-engrave-body{background:var(--card);padding:var(--s6) var(--s5);
  display:flex;flex-direction:column;justify-content:center;gap:var(--s3)}
.nk-engrave-body h2{font-size:var(--t-xl);font-weight:500}
.nk-engrave-body p{color:var(--muted);max-width:46ch}
.nk-engrave-body .nk-btn{align-self:flex-start}
@media (max-width:820px){.nk-engrave{grid-template-columns:1fr}
  .nk-engrave figure{min-height:260px}}

/* craft band */
.nk-craft{text-align:center;padding-block:var(--s7);max-width:56ch;margin-inline:auto}
.nk-craft .nk-kicker{margin-bottom:var(--s3)}
.nk-craft p{font-size:var(--t-lg);font-weight:300;line-height:1.5;letter-spacing:-.01em}

/* =====================================================================
   8 · PRODUCT CARD  (4.2/4.3 — uniform 4:5, hover second image)
   ===================================================================== */
.nk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);
  border:1px solid var(--hair)}
.nk-grid>.rv{background:var(--card);display:flex;flex-direction:column}
.nk-grid>.rv>.nk-card{flex:1}
@media (max-width:1020px){.nk-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.nk-grid{grid-template-columns:1fr}}
.nk-card{background:var(--card);position:relative;display:flex;flex-direction:column}
.nk-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--plaster-deep)}
.nk-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:opacity .3s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
.nk-card-media img.alt{opacity:0}
.nk-card:hover .nk-card-media img.alt{opacity:1}
.nk-card:hover .nk-card-media img.solo{transform:scale(1.04)}
.nk-card-body{padding:var(--s3) var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s1);flex:1}
.nk-card-body h3{font-size:var(--t-base);font-weight:500;letter-spacing:-.01em}
.nk-card .price{font-family:var(--data);font-size:var(--t-sm);color:var(--tekhelet);
  font-variant-numeric:tabular-nums;margin-top:auto;padding-top:var(--s2)}
.nk-card .price del{color:var(--muted);margin-inline-end:var(--s2)}
.nk-card .price ins{text-decoration:none}
.nk-chip{position:absolute;top:var(--s2);inset-inline-start:var(--s2);z-index:2;
  font-family:var(--data);font-size:var(--t-xs);background:rgba(255,255,255,.92);
  border:1px solid var(--hair);border-radius:var(--radius);padding:2px 8px;color:var(--ink)}
.nk-card>a{position:absolute;inset:0;z-index:1}
.nk-card>a:focus-visible{outline-offset:-2px}

/* =====================================================================
   9 · ARCHIVE
   ===================================================================== */
.nk-archive-head{padding-block:var(--s6) var(--s4);border-bottom:1px solid var(--hair);
  margin-bottom:var(--s5);display:flex;flex-direction:column;gap:var(--s2)}
.nk-archive-head h1{font-size:var(--t-xl);font-weight:500;display:flex;align-items:baseline;gap:var(--s3)}
.nk-archive-head h1 .count{font-family:var(--data);font-size:var(--t-sm);color:var(--muted);font-weight:400}
.nk-archive-head p{color:var(--muted);max-width:62ch}

/* =====================================================================
   10 · SINGLE PRODUCT — לוח אבן
   ===================================================================== */
/* אותו פיצול כמו בדף הבית, מאותה סיבה: הצילומים פורטרט. שומר על זהות "לוח אבן"
   (קו חלוקה אנכי חד, שם ומחיר בולטים) בלי לחתוך את הצילום לפס מופשט. */
.nk-phero{position:relative;display:grid;grid-template-columns:1fr 1fr;
  min-height:min(72vh,600px);background:var(--plaster-deep);overflow:hidden}
.nk-phero-media{position:relative;margin:0;overflow:hidden;border-inline-start:1px solid var(--hair)}
.nk-phero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.nk-phero-in{display:flex;flex-direction:column;justify-content:center;background:var(--plaster);
  padding-block:var(--s6);
  padding-inline-start:max(var(--pad), calc((100vw - var(--wrap)) / 2));
  padding-inline-end:var(--s5)}
.nk-phero .nk-kicker{margin-bottom:var(--s3)}
.nk-phero .nk-kicker a{display:inline-flex;align-items:center;min-height:44px}
.nk-phero .nk-kicker a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.nk-phero h1{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:400;max-width:18ch;letter-spacing:-.03em}
.nk-phero .price{font-family:var(--data);font-size:var(--t-lg);margin-top:var(--s3);
  font-variant-numeric:tabular-nums;color:var(--tekhelet)}
.nk-phero .price del{opacity:.5;color:var(--muted);margin-inline-end:var(--s2)}
.nk-phero .price ins{text-decoration:none}
@media (max-width:860px){
  .nk-phero{grid-template-columns:1fr;min-height:0}
  .nk-phero-media{order:-1;aspect-ratio:1/1;border-inline-start:0;border-bottom:1px solid var(--hair)}
  .nk-phero-in{padding-block:var(--s5)}
}

.nk-specband{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--hair);
  background:var(--card)}
.nk-specband>div{padding:var(--s3) var(--s3);border-inline-start:1px solid var(--hair)}
.nk-specband>div:first-child{border-inline-start:0}
.nk-specband dt{font-family:var(--data);font-size:var(--t-xs);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:var(--s1)}
.nk-specband dd{font-family:var(--data);font-size:var(--t-sm);font-variant-numeric:tabular-nums}
@media (max-width:820px){.nk-specband{grid-template-columns:1fr 1fr}
  .nk-specband>div:nth-child(3){border-inline-start:0}
  .nk-specband>div:nth-child(n+3){border-top:1px solid var(--hair)}}

.nk-pbody{display:grid;grid-template-columns:1fr 400px;gap:var(--s6);padding-block:var(--s5)}
@media (max-width:920px){.nk-pbody{grid-template-columns:1fr;gap:var(--s4)}}
.nk-prose h2,.nk-prose h3{font-size:var(--t-md);font-weight:600;margin:var(--s4) 0 var(--s2)}
.nk-prose p{margin-bottom:var(--s3);max-width:62ch}
.nk-prose ul{list-style:disc;padding-inline-start:var(--s4);margin-bottom:var(--s3)}
.nk-prose li{margin-block:var(--s1)}
.nk-prose strong{font-weight:600}

.nk-buybox{position:sticky;top:88px;align-self:start;background:var(--card);
  border:1px solid var(--hair);border-radius:var(--radius);padding:var(--s4);
  display:flex;flex-direction:column;gap:var(--s3)}
@media (max-width:920px){.nk-buybox{position:static}}
.nk-buybox form.cart{display:flex;flex-direction:column;gap:var(--s3)}
.nk-buybox table.variations{width:100%}
.nk-buybox table.variations td{padding-block:var(--s1)}
.nk-buybox table.variations label{display:block;margin-bottom:var(--s1)}
.nk-buybox .reset_variations{font-size:var(--t-xs);color:var(--muted);
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;min-width:44px;padding-inline:var(--s2)}
.nk-buybox .woocommerce-variation-price{font-family:var(--data);font-size:var(--t-md);
  color:var(--tekhelet);font-variant-numeric:tabular-nums}
.nk-buybox .woocommerce-variation-availability{font-size:var(--t-xs);color:var(--muted)}
.nk-buybox .quantity{display:flex;align-items:stretch;border:1px solid var(--hair);
  border-radius:var(--radius);width:fit-content;overflow:hidden}
.nk-buybox .quantity input{border:0;width:64px;text-align:center;min-height:44px}
.nk-buybox .quantity input:focus{box-shadow:none}
.nk-qbtn{width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:var(--muted);transition:background .15s ease}
.nk-qbtn:hover{background:var(--plaster-deep);color:var(--ink)}
.nikol-engraving-field{background:var(--plaster-deep);border:1px solid var(--hair);
  border-radius:var(--radius);padding:var(--s3)}
.nikol-engraving-field input{background:var(--card)}
.nk-total{display:flex;justify-content:space-between;align-items:baseline;
  border-top:1px solid var(--hair);padding-top:var(--s3);font-family:var(--data)}
.nk-total b{font-size:var(--t-lg);color:var(--tekhelet);font-variant-numeric:tabular-nums}
.nk-buybox .single_add_to_cart_button{width:100%}
.nk-trust{font-size:var(--t-xs);color:var(--muted);display:flex;flex-direction:column;gap:var(--s1)}

/* gallery strip */
.nk-gstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);
  border:1px solid var(--hair);margin-block:var(--s5)}
.nk-gstrip a{display:block;aspect-ratio:1;overflow:hidden;background:var(--card)}
.nk-gstrip img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.nk-gstrip a:hover img{transform:scale(1.05)}
@media (max-width:640px){.nk-gstrip{grid-template-columns:repeat(2,1fr)}}

/* lightbox */
.nk-lightbox{border:0;padding:0;background:rgba(11,13,12,.92);max-width:100vw;max-height:100vh;
  width:100vw;height:100vh;display:none;align-items:center;justify-content:center}
.nk-lightbox[open]{display:flex}
.nk-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.nk-lightbox button{position:absolute;top:var(--s3);inset-inline-end:var(--s3);
  width:48px;height:48px;color:#fff;font-size:1.6rem;border:1px solid rgba(255,255,255,.3);
  border-radius:var(--radius)}

/* sticky mobile buy bar (A.5) */
.nk-mbar{position:fixed;bottom:0;left:0;right:0;z-index:90;display:none;
  background:var(--card);border-top:1px solid var(--hair);
  padding:var(--s2) var(--pad) calc(var(--s2) + env(safe-area-inset-bottom));
  align-items:center;gap:var(--s3);transform:translateY(110%);transition:transform .25s ease}
.nk-mbar.show{transform:none}
.nk-mbar .price{font-family:var(--data);font-variant-numeric:tabular-nums;font-weight:600}
.nk-mbar .nk-btn{flex:1;min-height:48px}
@media (max-width:920px){.nk-mbar{display:flex}}

/* =====================================================================
   11 · CAROUSEL  (A.1/A.2 — native scroll-snap, no libraries)
   ===================================================================== */
.nk-carousel{position:relative}
.nk-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2px)/3);
  gap:1px;background:var(--hair);border:1px solid var(--hair);
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  overscroll-behavior-x:contain}
.nk-track::-webkit-scrollbar{display:none}
.nk-track>*{scroll-snap-align:start}
@media (max-width:1020px){.nk-track{grid-auto-columns:calc((100% - 1px)/2)}}
@media (max-width:640px){.nk-track{grid-auto-columns:82%}}
.nk-cbtn{position:absolute;top:calc(50% - 24px);z-index:5;width:48px;height:48px;
  background:var(--card);border:1px solid var(--hair);border-radius:100px;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);
  transition:border-color .15s ease,opacity .2s ease}
.nk-cbtn:hover{border-color:var(--ink)}
.nk-cbtn[disabled]{opacity:0;pointer-events:none}
.nk-cbtn.prev{inset-inline-start:-14px}
.nk-cbtn.next{inset-inline-end:-14px}
.nk-cbtn svg{width:18px;height:18px}
@media (max-width:640px){.nk-cbtn{display:none}}

/* =====================================================================
   12 · CART
   ===================================================================== */
.nk-page-head{padding-block:var(--s6) var(--s4)}
.nk-page-head h1{font-size:var(--t-xl);font-weight:500}
.woocommerce-cart-form table.shop_table{width:100%;border-collapse:collapse;
  background:var(--card);border:1px solid var(--hair)}
.woocommerce-cart-form th{font-family:var(--data);font-size:var(--t-xs);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);text-align:right;
  padding:var(--s3);border-bottom:1px solid var(--hair);font-weight:500}
.woocommerce-cart-form td{padding:var(--s3);border-bottom:1px solid var(--hair);vertical-align:middle}
.woocommerce-cart-form .product-thumbnail img{width:76px;height:95px;object-fit:cover;border-radius:var(--radius)}
.woocommerce-cart-form .product-name a{font-weight:500}
.woocommerce-cart-form .variation,.woocommerce-cart-form dl.variation{
  font-size:var(--t-xs);color:var(--muted);margin-top:var(--s1);display:grid;
  grid-template-columns:auto 1fr;gap:0 var(--s2)}
.woocommerce-cart-form dl.variation dd{margin:0}
.woocommerce-cart-form .product-price,.woocommerce-cart-form .product-subtotal{
  font-family:var(--data);font-variant-numeric:tabular-nums;white-space:nowrap}
.woocommerce-cart-form .product-remove a{display:flex;width:36px;height:36px;align-items:center;
  justify-content:center;border-radius:100px;color:var(--muted);font-size:1.2rem;
  transition:background .15s ease,color .15s ease}
.woocommerce-cart-form .product-remove a:hover{background:var(--plaster-deep);color:var(--err)}
.woocommerce-cart-form .quantity{display:flex;align-items:stretch;border:1px solid var(--hair);
  border-radius:var(--radius);width:fit-content;overflow:hidden}
.woocommerce-cart-form .quantity input{border:0;width:56px;text-align:center;min-height:42px}
.woocommerce-cart-form .quantity input:focus{box-shadow:none}
.nk-cart-actions{display:flex;justify-content:space-between;gap:var(--s3);
  padding:var(--s3);flex-wrap:wrap;align-items:center}
.nk-coupon{display:flex;gap:var(--s2);flex-wrap:wrap}
.nk-coupon input{width:200px}
.cart-collaterals{margin-top:var(--s5);display:flex;justify-content:flex-end}
.cart_totals{width:min(420px,100%);background:var(--card);border:1px solid var(--hair);
  border-radius:var(--radius);padding:var(--s4)}
.cart_totals h2{font-size:var(--t-md);font-weight:600;margin-bottom:var(--s3)}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals th,.cart_totals td{padding:var(--s2) 0;text-align:right;border-bottom:1px solid var(--hair)}
.cart_totals td{font-family:var(--data);font-variant-numeric:tabular-nums;text-align:left}
.cart_totals .order-total td{font-size:var(--t-md);color:var(--tekhelet);font-weight:700}
.cart_totals .checkout-button{width:100%;margin-top:var(--s3)}
.woocommerce-remove-coupon{color:var(--err);font-size:var(--t-xs)}
.nk-cart-empty{text-align:center;padding-block:var(--s7)}
.nk-cart-empty p{color:var(--muted);margin-bottom:var(--s4)}

@media (max-width:760px){
  .woocommerce-cart-form thead{display:none}
  .woocommerce-cart-form table,.woocommerce-cart-form tbody,
  .woocommerce-cart-form tr,.woocommerce-cart-form td{display:block;border:0}
  .woocommerce-cart-form tr{position:relative;border-bottom:1px solid var(--hair);
    padding:var(--s3);display:grid;grid-template-columns:86px 1fr;gap:var(--s1) var(--s3)}
  .woocommerce-cart-form .product-thumbnail{grid-row:1/span 4}
  .woocommerce-cart-form td{padding:0}
  .woocommerce-cart-form .product-remove{position:absolute;top:var(--s2);inset-inline-end:var(--s2)}
  .woocommerce-cart-form td.product-quantity{margin-top:var(--s2)}
  .woocommerce-cart-form td.product-subtotal::before{content:'סה״כ · ';color:var(--muted);font-family:var(--heb)}
  .cart-collaterals{justify-content:stretch}
}

/* =====================================================================
   13 · CHECKOUT  (CSS only — 6.4)
   ===================================================================== */
.woocommerce-checkout .nk-wrap>form.checkout{display:grid;grid-template-columns:1fr 420px;
  gap:var(--s5);align-items:start}
@media (max-width:920px){.woocommerce-checkout .nk-wrap>form.checkout{grid-template-columns:1fr}}
.woocommerce-billing-fields h3,#order_review_heading{font-size:var(--t-md);font-weight:600;
  margin-block:var(--s4) var(--s3)}
.woocommerce-checkout .form-row{margin-bottom:var(--s3)}
.woocommerce-checkout .form-row label{display:block;margin-bottom:var(--s1)}
.woocommerce-checkout .form-row .required{color:var(--err);text-decoration:none}
.woocommerce-checkout-review-order{background:var(--card);border:1px solid var(--hair);
  border-radius:var(--radius);padding:var(--s4)}
.woocommerce-checkout-review-order table{width:100%;border-collapse:collapse}
.woocommerce-checkout-review-order th,.woocommerce-checkout-review-order td{
  padding:var(--s2) 0;border-bottom:1px solid var(--hair);text-align:right;font-size:var(--t-sm)}
.woocommerce-checkout-review-order td{font-family:var(--data);font-variant-numeric:tabular-nums;text-align:left}
.woocommerce-checkout-review-order .order-total td{color:var(--tekhelet);font-weight:700;font-size:var(--t-md)}
#place_order{width:100%;margin-top:var(--s3)}
.woocommerce-privacy-policy-text{font-size:var(--t-xs);color:var(--muted);margin-top:var(--s2)}
.wc_payment_methods{margin-block:var(--s3)}
.wc_payment_method{padding:var(--s2) 0}

/* order received */
.woocommerce-order .woocommerce-thankyou-order-received{font-size:var(--t-lg);font-weight:500;
  margin-block:var(--s5) var(--s3)}
.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;background:var(--hair);border:1px solid var(--hair);margin-bottom:var(--s5)}
.woocommerce-order-overview li{background:var(--card);padding:var(--s3);font-size:var(--t-xs);color:var(--muted)}
.woocommerce-order-overview strong{display:block;font-family:var(--data);font-size:var(--t-sm);
  color:var(--ink);margin-top:var(--s1)}
.woocommerce-order h2{font-size:var(--t-md);font-weight:600;margin-block:var(--s4) var(--s2)}
.woocommerce-table--order-details{width:100%;border-collapse:collapse;background:var(--card);
  border:1px solid var(--hair)}
.woocommerce-table--order-details th,.woocommerce-table--order-details td{
  padding:var(--s2) var(--s3);border-bottom:1px solid var(--hair);text-align:right;font-size:var(--t-sm)}

/* =====================================================================
   14 · UTILITIES
   ===================================================================== */
.nk-mt0{margin-top:0}
@media (max-width:920px){.nk-section{padding-block:var(--s6) 0}}
