/* ═══════════════════════════════════════════════════════════════════════════
   shop-responsive.css — corecții UX tabletă + telefon (AUDIT-UX-TABLETA-v1, AUDIT-UX-MOBIL-v1)
   Încărcat DUPĂ shop.css. Nu conține texte: etichetele vin din ui_translations prin shop-responsive.js.
   Breakpointuri unificate (R2): 700 / 1050 / 1366.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ───── O3 (tabletă) / O9 (mobil): câmpuri ≥ 16 px → fără zoom automat în Safari ───── */
input,select,textarea{font-size:16px}
.search-label input{font-size:16px;min-height:44px}
#search::placeholder{color:#9b9285;opacity:1}

/* ───── O1: antet — toate linkurile între 701–1050 px; burger + sertar sub 700 px sau când nu încap ───── */
.header nav{min-width:0;white-space:nowrap}
.header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.header-tools{flex-shrink:0}
@media(min-width:701px) and (max-width:1050px){
  .header nav a:nth-child(n+2){display:inline-flex}
  .header nav{gap:18px;font-size:13px;margin-left:0;overflow:hidden}
  .header{gap:18px}
}
.rsp-burger{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;padding:0;border:1px solid transparent;background:none;color:#b89a64;cursor:pointer}
.rsp-burger span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s}
.rsp-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.rsp-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.rsp-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.rsp-burger:hover{border-color:#805738;background:#241819}
@media(max-width:700px){.rsp-burger{display:inline-flex}}
.header.rsp-collapsed nav{display:none}
.header.rsp-collapsed .rsp-burger{display:inline-flex}
.header.rsp-collapsed .header-tools{margin-left:auto}

.rsp-drawer{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end}
.rsp-drawer[hidden]{display:none}
.rsp-drawer__backdrop{position:absolute;inset:0;background:#000b;backdrop-filter:blur(3px)}
.rsp-drawer__panel{position:relative;width:min(360px,86vw);height:100%;overflow-y:auto;overscroll-behavior:contain;background:#0f0e0d;border-left:1px solid #3b3026;padding:18px 22px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;box-shadow:-20px 0 60px #000c;animation:rsp-in .22s ease-out}
@keyframes rsp-in{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.rsp-drawer__head{display:flex;justify-content:flex-end;margin-bottom:6px}
.rsp-drawer__close{width:44px;height:44px;border:1px solid #3b3026;background:none;color:#cfb98b;font-size:26px;line-height:1;cursor:pointer}
.rsp-drawer__nav a,.rsp-drawer__tools a{display:flex;align-items:center;gap:14px;min-height:48px;padding:4px 0;border-bottom:1px solid #241e18;font-size:17px;color:#e5d9c4;font-family:Georgia,'Times New Roman',serif}
.rsp-drawer__nav a[aria-current=page]{color:#dac597}
.rsp-drawer__tools{margin-top:18px}
.rsp-drawer__tools a{font:15px Arial,Helvetica,sans-serif;color:#cfbb93}
.rsp-drawer__tools .sigil{width:24px;height:24px;flex-shrink:0}
.rsp-drawer__tools .sr-only{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
.rsp-drawer__tools .bag-count{position:static;font-size:13px;font-weight:700;color:#e9c38a;order:3;margin-left:auto}
.rsp-drawer__lang{display:flex;flex-direction:column;gap:8px;margin-top:22px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#b9aa97}
.rsp-drawer__lang select{min-height:48px;width:100%}
html.rsp-lock,html.rsp-lock body{overflow:hidden}
@media(prefers-reduced-motion:reduce){.rsp-drawer__panel{animation:none}}

/* ───── O2 / mobil O2–O8: ținte tactile ≥ 44 × 44 px ───── */
.icon-button{width:44px;height:44px}
.language select{min-height:44px;min-width:56px;font-size:16px;padding:0 8px}
.filters button,.auth-tabs button,.acc-tabs a,.acc-filters button,button.quiet,.quiet{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.filters button{padding:12px 4px}
.quiet{padding:0 8px}
.acc-tabs a,.acc-filters button{padding-inline:6px}
.shop-footer>div>a,.footer-bottom a{display:flex;align-items:center;min-height:44px;margin:0;line-height:1.35}
.shop-footer>div>a.footer-sal{display:inline-flex}
.hero-caption a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-size:12px}
.check{min-height:44px;align-items:center}
.check a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.check input[type=checkbox],.check input[type=radio]{width:22px;height:22px}
summary{min-height:44px;padding:10px 0;box-sizing:border-box}
details>a,details>p>a:only-child{display:inline-flex;align-items:center;min-height:44px}
.fineprint a,.notice a,.legal-body p>a:only-child{display:inline-flex;align-items:center;min-height:44px}
input[data-qty]{min-height:44px;width:64px;font-size:16px;padding:8px}
#quantity{min-height:44px}
.product-meta h3 a{display:block;padding:10px 0;min-height:44px}
.cookie-note button{min-height:44px}
.acc-modal button,.acc-modal .quiet{min-height:44px;min-width:44px}
.acc-qty select,.acc-modal select{min-height:44px}
.acc-kv a,.acc-address a{display:inline-flex;align-items:center;min-height:44px}
.dossier-content li>a:only-child,.dossier-content p>a:only-child{display:inline-flex;align-items:center;min-height:44px}
.preview-link{min-height:44px;display:inline-flex;align-items:center}
.text-link{min-height:44px;align-items:center}
.bag-row h3 a,main strong>a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}

/* ───── O6 (tabletă) / mobil O5, R7: zoom imagine produs ───── */
#image-dialog .dialog-close{min-width:44px;min-height:44px;top:8px;right:8px;justify-content:center;font-size:28px;line-height:1;color:#cfb98b;z-index:2}
#image-dialog{overscroll-behavior:contain}
#image-dialog>img{touch-action:pinch-zoom;height:auto}

/* ───── O4 / O5: checkout — portret pe o coloană + bară fixă; peisaj cu rezumat derulabil ───── */
@media (max-width:1050px) and (orientation:portrait),(max-width:900px){
  .checkout-grid{grid-template-columns:minmax(0,1fr)!important;gap:30px}
  .order-summary{position:static}
  form.checkout-grid .order-summary .button-primary[type=submit]{position:fixed;left:0;right:0;bottom:var(--rsp-kb,0px);z-index:40;width:100%;margin:0;min-height:56px;border-width:1px 0 0;padding:12px max(16px,6%) calc(12px + env(safe-area-inset-bottom));justify-content:center;box-shadow:0 -12px 30px #000c}
  form.checkout-grid .order-summary .button-primary[type=submit][data-rsp-total]::after{content:attr(data-rsp-total);margin-left:auto;font:18px Georgia,'Times New Roman',serif;color:#ffe9c9;letter-spacing:0}
  html:has(form.checkout-grid){scroll-padding-bottom:96px}
  body:has(form.checkout-grid) .shop-footer{padding-bottom:110px}
  body:has(form.checkout-grid) .cookie-note{bottom:76px}
}
@media (min-width:1051px),(min-width:901px) and (orientation:landscape){
  form.checkout-grid .order-summary{max-height:var(--rsp-sum-max,calc(100dvh - 80px));overflow-y:auto;overscroll-behavior:contain;top:20px;padding-bottom:0}
  form.checkout-grid .order-summary .button-primary[type=submit]{position:sticky;bottom:0;z-index:2;margin:10px 0 0;box-shadow:0 -14px 18px #11100e}
  form.checkout-grid .order-summary .button-primary[type=submit]+*{margin-bottom:0}
}
@media (max-height:520px) and (orientation:landscape){
  form.checkout-grid .order-summary .bag-row>a:first-child{display:none}
  form.checkout-grid .order-summary .bag-row{grid-template-columns:1fr auto;padding:10px 0}
}
.field-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
[data-acc-form] .field-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}

/* ───── O7 (tabletă) / mobil O12: CLS — imaginile au width/height; raport rezervat în CSS ───── */
.detail-photo img{height:auto}
.detail-photo picture,.product-image picture,.hero-photo picture,.signature-image picture,.universe-photo picture,.bag-row picture,.logo picture,.footer-brand picture,.acc-line picture,#image-dialog picture{display:contents}

/* ───── O8: dosarul tehnic pe o coloană sub 1024/1050 px ───── */
@media(max-width:1050px){
  .dossier-content{grid-template-columns:minmax(0,1fr)}
  .dossier-content>section:last-child{grid-column:auto}
  .dossier-content th{width:35%}
}

/* ───── O10 (tabletă) / mobil O13: contrast ≥ 4,5:1 ───── */
.acc-filters small,.acc-filters button small{color:#a39a8d}
.acc-step-pending strong{color:#a39a8d}
.acc-meta,.acc-kv span,.acc-step time{color:#b3a896}

/* ───── R1 (tabletă) / mobil O14: text informativ ≥ 12 px ───── */
@media(max-width:1366px){
  .bag-count{font-size:12px;font-weight:700;right:-4px;top:-4px}
  .preview-label,.shop-footer h3,.product-meta>p,.price-row small,.detail-price small,.eyebrow,.fineprint,.cookie-note p,.hero-caption,.footer-bottom,.footer-bottom span,.footer-brand p,.hero-motto,.universe-manifesto,.acc-status,.acc-tag,.acc-step time,.acc-kind,.acc-hint,.acc-qty,.acc-line-state,.acc-personalization em,.stock,.purchase-row label,.view-label,.acc-meta,.acc-deadline,.acc-blocked,.acc-order .text-link,.acc-perso-count,.cookie-note button{font-size:12px}
}

/* ───── R3: „Preț demonstrativ” pe rând separat sub 1050 px ───── */
@media(max-width:1050px){
  .price-row{flex-wrap:wrap;row-gap:4px;align-items:flex-end}
  .price-row small{display:block;margin:4px 0 0}
}

/* ───── R2: banda 651–700 px primește aceeași grilă ca telefonul (styles.css avea 650, shop.css 700) ───── */
@media(min-width:651px) and (max-width:700px){
  .hero{display:flex;flex-direction:column;min-height:0;padding:0 6%}
  .hero-copy{padding:53px 0 38px;width:100%}
  .hero-photo{margin:0 -6.82%;min-height:0;height:auto;aspect-ratio:2/2.7}
  .hero-caption{position:relative;inset:auto;padding:8px 0 24px;gap:20px}
  .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:36px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 15px}
  .product,.product-wide{grid-column:span 1}
  .product-image,.product-wide .product-image{aspect-ratio:.78}
  .signature,.universe{grid-template-columns:1fr;gap:36px}
  .universe-photo{order:2}
}

/* ───── mobil R6: antet mai compact; mobil R5: taburi cont cu indiciu de derulare ───── */
@media(max-width:700px){
  .header{height:80px;gap:10px}
  .logo img{width:64px;height:64px}
  .header-tools{gap:2px}
  .header-tools .icon-button{width:44px;height:44px}
  .acc-tabs{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);scroll-snap-type:x proximity;padding-right:30px}
  .acc-tabs a{scroll-snap-align:start}
  html[data-rsp-route="/checkout"] .auth-page>div:first-child .intro{display:none}
  html[data-rsp-route="/checkout"] .auth-page h1{font-size:32px;margin-bottom:12px}
  .shop-footer>div>a{margin:0}
}
@media(max-width:420px){
  .header-tools .language{display:none}
}

/* ───── mobil R1: CTA fix pe fișa produsului (apare doar când butoanele originale nu se văd) ───── */
.rsp-buybar{display:none}
@media(max-width:700px){
  .rsp-buybar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;align-items:center;gap:14px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#0f0e0dF2;border-top:1px solid #3b3026;box-shadow:0 -10px 30px #000a;transform:translateY(110%);transition:transform .2s}
  .rsp-buybar.rsp-show{transform:none}
  .rsp-buybar[hidden]{display:none}
  .rsp-buybar__price{font:18px Georgia,'Times New Roman',serif;color:#d1b77e;white-space:nowrap}
  .rsp-buybar__price small{display:none}
  .rsp-buybar .button-primary{flex:1;min-height:52px;margin:0;padding:10px 14px}
}

/* ───── R6: pagina 404 are titlu h1 (stil ca înainte) ───── */
.empty h1.rsp-heading{font-size:clamp(30px,4.3vw,48px);letter-spacing:-1px;max-width:600px;margin:30px auto}

/* ───── validare în limba site-ului (mobil R2) ───── */
.rsp-invalid-msg{display:block;margin-top:6px;font-size:13px;line-height:1.5;color:#f3a4a5}
[aria-invalid=true]{border-color:#c24a54}

/* formularul de checkout: derulare instant la focus (fără animație între câmpuri) */
html:has(form.checkout-grid){scroll-behavior:auto}

/* contoarele din filtre + legătura „Din același univers” (blocuri noi de conținut) */
.filters button small{font-size:12px;color:#a39a8d;margin-left:5px}
.brand-after a,.brand-after>a{display:inline-flex;align-items:center;min-height:44px}
button[data-dd-level] small{font-size:12px!important;color:#a39a8d!important}
@media (min-width:1051px),(min-width:901px) and (orientation:landscape){html:has(form.checkout-grid){scroll-padding-bottom:24px}}

/* ───── v2 O5b: peisaj + tastatură iOS deschisă → butonul fix deasupra tastaturii (ca pe portret) ───── */
@media (min-width:1051px),(min-width:901px) and (orientation:landscape){
  html.rsp-kb-open form.checkout-grid .order-summary .button-primary[type=submit]{position:fixed;left:auto;right:max(16px,4%);bottom:calc(var(--rsp-kb,0px) + 8px);width:min(420px,42vw);margin:0;z-index:40;box-shadow:0 10px 30px #000c}
  html.rsp-kb-open:has(form.checkout-grid){scroll-padding-bottom:72px}
}
/* ───── v2 R8 (Food): un singur produs în „De descoperit împreună” nu se mai întinde pe toată lățimea ───── */
.product-grid.related>.product:only-child{grid-column:auto;justify-self:start;width:min(100%,420px)}
/* ───── v2 R10 (Design): nota de pe cardurile-placeholder ≥ 12 px ───── */
span.dd-ph>span.dd-ph-note,.dd-ph-note{font-size:12px!important;letter-spacing:1.5px!important}

/* ───── mobil v2 O1: taburile/filtrele nu se mai comprimă sub text (min-width:44px anula min-width:auto) ───── */
.acc-tabs a,.acc-filters button,.filters button,.auth-tabs button{flex:0 0 auto;white-space:nowrap}
.acc-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.acc-tabs::-webkit-scrollbar{display:none}
@media(min-width:701px){.acc-tabs{flex-wrap:wrap;overflow-x:visible;-webkit-mask-image:none;mask-image:none}}
.acc-filters{display:flex;flex-wrap:wrap;gap:8px 16px}
.rsp-drawer[aria-busy=true] .rsp-drawer__lang select{opacity:.6;cursor:progress}
