/* ============================================================
   Detail produktu — dle design/Shop - Detail produktu.dc.html
   (mobil: Shop - Mobil.dc.html). Tokeny: main.css / handoff §2.
   Obsahuje i styly basket-boxu (handoff §5).
   ============================================================ */

/* .screen-reader-text je v main.css — používá ji i pokladna a účet. */

/* ---------- notices ---------- */
.pd-notices{padding:0 var(--pad-x)}
.pd-notices .woocommerce-message,
.pd-notices .woocommerce-error,
.pd-notices .woocommerce-info{margin:20px 0 0}

/* ---------- drobečková navigace ---------- */
.pd-breadcrumb{padding:24px var(--pad-x) 0;font:500 11.5px var(--font-mono);letter-spacing:.06em;color:var(--c-muted);text-transform:uppercase}
.pd-breadcrumb a{color:var(--c-muted)}
.pd-breadcrumb a:hover{color:var(--c-red)}
.pd-breadcrumb__current{color:var(--c-ink)}

/* ---------- layout ---------- */
.pd{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;padding:22px var(--pad-x) 56px}
.pd__gallery,.pd__summary{min-width:0}
.pd__gallery{overflow:hidden}

/* ---------- galerie (nativní Woo gallery) ---------- */
.pd__gallery .woocommerce-product-gallery{position:relative;display:flex;flex-direction:column;gap:12px;opacity:1 !important}
.pd__gallery .woocommerce-product-gallery__wrapper{margin:0;border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden}
.pd__gallery .woocommerce-product-gallery__image a{display:block}
.pd__gallery .woocommerce-product-gallery__image img{width:100%;height:560px;object-fit:cover}
.pd__gallery .flex-viewport{border-radius:var(--r-md)}
.pd__gallery .woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:9;width:36px;height:36px;border-radius:50%;border:1px solid var(--c-line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2333221C' stroke-width='1.8'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M15.5 15.5 20 20'/%3E%3C/svg%3E") center no-repeat;font-size:0;color:transparent;overflow:hidden;cursor:pointer}
.pd__gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.pd__gallery .flex-control-thumbs li{height:110px;border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;cursor:pointer}
.pd__gallery .flex-control-thumbs li:has(img.flex-active){border:1.5px solid var(--c-ink)}
.pd__gallery .flex-control-thumbs li img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- pravý sloupec ---------- */
.pd__summary{display:flex;flex-direction:column;gap:16px}

.pd-meta{font:500 11.5px var(--font-mono);letter-spacing:.08em;color:var(--c-red);text-transform:uppercase}

.pd-title{font:800 44px/1.02 var(--font-sans);letter-spacing:-.035em;color:var(--c-ink)}

.pd-rating{display:flex;gap:10px;align-items:center}
.pd-rating__stars{color:var(--c-amber);display:inline-flex;gap:2px}
.pd-rating__meta{font:500 12px var(--font-mono);color:var(--c-text);text-transform:uppercase}

.pd-price{display:flex;align-items:baseline;gap:12px}
.pd-price__amount{font:800 32px var(--font-sans);letter-spacing:-.02em;color:var(--c-ink)}
.pd-price__amount del{font:500 18px var(--font-sans);color:var(--c-muted)}
.pd-price__amount ins{text-decoration:none}
.pd-price__vat{font:500 12px var(--font-mono);color:var(--c-muted)}

.pd-desc{font:400 15px/1.6 var(--font-sans);color:var(--c-text)}

/* ---------- box „CO JE UVNITŘ" (handoff §5) ---------- */
.basket-box{border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden}
.basket-box__head{background:var(--c-surface-2);padding:9px 10px 9px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--c-line)}
.basket-box__title{font-size:11.5px;letter-spacing:.08em;color:var(--c-ink)}
.basket-box__toggle{display:flex;gap:3px;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-pill);padding:3px}
.basket-box__toggle-btn{color:#777;font:500 10px var(--font-mono);letter-spacing:.06em;padding:6px 12px;border-radius:var(--r-pill);cursor:pointer;text-transform:uppercase}
.basket-box__toggle-btn:hover{color:var(--c-red)}
.basket-box__toggle-btn.is-active{background:var(--c-ink);color:#fff}
.basket-box__toggle-btn.is-active:hover{color:#fff}
.basket-box__rows{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}

/* řádek s fotkou */
.basket-item{display:flex;gap:14px;align-items:center;padding:10px 16px;border-top:1px solid var(--c-line-soft)}
.basket-item:hover{background:#FAF9F7}
.basket-item__img{width:54px;height:54px;flex:none;border:1px solid var(--c-line);border-radius:var(--r-sm);overflow:hidden;background:var(--c-surface-2);display:block}
.basket-item__img img{width:100%;height:100%;object-fit:cover}
.basket-item__text{flex:1;display:flex;flex-direction:column;gap:2px}
.basket-item__name{font:600 14px var(--font-sans);color:var(--c-ink)}
.basket-item__note{font:400 12px var(--font-sans);color:var(--c-muted)}
.basket-item__amount{font:500 12px var(--font-mono);color:var(--c-muted);white-space:nowrap;text-transform:uppercase}

/* varianta seznam — jen název + množství */
.basket-box__rows--list .basket-item{justify-content:space-between;gap:12px;padding:11px 16px}
.basket-box__rows--list .basket-item__img{display:none}
.basket-box__rows--list .basket-item__note{display:none}
.basket-box__rows--list .basket-item__name{font:400 13.5px var(--font-sans);color:var(--c-ink)}

/* ---------- stuha ---------- */
.pd-ribbon{display:flex;flex-direction:column;gap:8px}
.pd-ribbon__label{font:500 11.5px var(--font-mono);letter-spacing:.08em;color:var(--c-ink);text-transform:uppercase}
.pd-ribbon__current{color:var(--c-red)}
.pd-ribbon__swatches{display:flex;gap:10px}
.pd-ribbon__swatch{position:relative;width:30px;height:30px;border-radius:var(--r-sm);cursor:pointer;display:inline-block}
.pd-ribbon__swatch--light{border:1px solid var(--c-line)}
.pd-ribbon__swatch input{position:absolute;opacity:0;pointer-events:none}
.pd-ribbon__swatch:has(input:checked){outline:2px solid var(--c-ink);outline-offset:2px}

/* ---------- kartička ---------- */
.pd-card{display:flex;gap:10px;align-items:center;font:400 14px var(--font-sans);color:var(--c-ink)}
.pd-card__check{width:18px;height:18px;flex:none;border-radius:4px;background:var(--c-ink);display:grid;place-items:center;color:#fff;font-size:12px}
.pd-card__free{font:500 11px var(--font-mono);color:var(--c-muted)}

/* ---------- množství + do košíku ---------- */
.pd-form{display:flex;gap:10px}
.pd-qty{display:flex;border:1.5px solid var(--c-ink);border-radius:var(--r-sm);align-items:center}
.pd-qty__btn{padding:0 16px;font:600 17px var(--font-sans);color:var(--c-ink);cursor:pointer;align-self:stretch}
.pd-qty__input{width:28px;border:0;padding:0;text-align:center;font:700 15px var(--font-sans);color:var(--c-ink);background:transparent;-moz-appearance:textfield;appearance:textfield}
.pd-qty__input::-webkit-outer-spin-button,
.pd-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pd-buy{flex:1;background:var(--c-red);color:#fff;font:700 15px var(--font-sans);padding:16px 0;text-align:center;border-radius:var(--r-sm);cursor:pointer;transition:background .15s}
.pd-buy:hover{background:var(--c-ink)}
.pd-buy__label--short{display:none}

/* ---------- expedice ---------- */
.pd-ship{border:1px solid var(--c-line);border-radius:var(--r-md);padding:13px 16px;display:flex;gap:10px;align-items:center;font:500 11.5px var(--font-mono);letter-spacing:.04em;color:var(--c-ink)}
.pd-ship__dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--c-green);display:inline-block}
.pd-ship__text--short{display:none}

/* ---------- akordeony ---------- */
.pd-acc{display:flex;flex-direction:column}
.pd-acc__item{border-top:1px solid var(--c-line)}
.pd-acc__item:last-child{border-bottom:1px solid var(--c-line)}
.pd-acc__item summary{padding:15px 2px;display:flex;justify-content:space-between;align-items:baseline;font:600 14px var(--font-sans);color:var(--c-ink);cursor:pointer;list-style:none}
.pd-acc__item summary::-webkit-details-marker{display:none}
.pd-acc__sign{font:500 13px var(--font-mono);color:var(--c-red)}
.pd-acc__sign::before{content:"[+]"}
.pd-acc__item[open] .pd-acc__sign::before{content:"[−]"}
.pd-acc__body{padding:0 2px 16px;font:400 14.5px/1.6 var(--font-sans);color:var(--c-text)}
.pd-acc__body p{margin:0 0 10px}
.pd-acc__body p:last-child{margin-bottom:0}

/* ---------- mohlo by se hodit ---------- */
.pd-related{border-top:1px solid var(--c-line);padding:44px var(--pad-x) 56px;display:flex;flex-direction:column;gap:20px}
.pd-related__head{display:flex;justify-content:space-between;align-items:baseline}
.pd-related__more{font:500 12px var(--font-mono);color:var(--c-red);letter-spacing:.02em}

/* ============================================================
   Mobil (dle Shop - Mobil.dc.html — detail produktu)
   ============================================================ */
@media (max-width:1024px){
  .pd-breadcrumb{display:none}
  .pd{grid-template-columns:minmax(0,1fr);gap:0;padding:0 0 40px}

  /* galerie na celou šířku, 330 px */
  .pd__gallery .woocommerce-product-gallery{gap:0}
  .pd__gallery .woocommerce-product-gallery__wrapper{border:0;border-radius:0;border-bottom:1px solid var(--c-line)}
  .pd__gallery .flex-viewport{border-radius:0}
  .pd__gallery .woocommerce-product-gallery__image img{height:330px}
  .pd__gallery .flex-control-thumbs{display:none}

  .pd__summary{padding:20px 18px 24px;gap:12px}

  /* pořadí dle mobilního designu: stuha hned za cenou, CTA sticky dole.
     Výchozí order 12 = výstup pluginů (summary hook) zůstává na konci. */
  .pd__summary > *{order:12}
  .pd__summary > .pd-meta{order:1}
  .pd__summary > .pd-title{order:2}
  .pd__summary > .pd-rating{order:3}
  .pd__summary > .pd-price{order:4}
  .pd__summary > .pd-ribbon{order:5}
  .pd__summary > .pd-desc{order:6}
  .pd__summary > .basket-box{order:7}
  .pd__summary > .pd-card{order:8}
  .pd__summary > .pd-ship{order:9}
  .pd__summary > .pd-acc{order:10}
  .pd__summary > .pd-form{order:11}

  .pd-meta{font-size:10px}
  .pd-title{font-size:30px;letter-spacing:-.03em}
  .pd-rating{gap:8px}
  .pd-rating__meta{font-size:10.5px}
  .pd-price__amount{font-size:26px}

  .pd-ribbon__label{font-size:10px}
  .pd-ribbon__swatch{width:34px;height:34px}

  .basket-box__head{padding:10px 10px 10px 14px}
  .basket-box__title{font-size:10px}

  .pd-ship{padding:11px 14px;gap:9px;font-size:9.5px;letter-spacing:.03em}
  .pd-ship__dot{width:7px;height:7px}
  .pd-ship__text--full{display:none}
  .pd-ship__text--short{display:inline}

  /* sticky CTA lišta */
  .pd-form{position:sticky;bottom:0;z-index:5;background:#fff;border-top:1px solid var(--c-line);padding:12px 16px;margin:0 -18px -24px}
  .pd-qty{min-height:48px}
  .pd-qty__btn{padding:0 14px;font-size:16px}
  /* Pole mělo 28×17 px — prstem se do něj nedalo trefit a při 14 px si ho
     iOS Safari přizoomoval. 16 px zoom nespustí, výška srovnaná s tlačítky. */
  .pd-qty__input{font-size:16px;width:52px;min-height:44px}
  .pd-buy{font-size:14px;padding:15px 0;min-height:48px}
  /* Souvislý čtený text — popis produktu a obsah rozklikávátek — měl na
     mobilu 14,5 px. Na malém displeji je to pod pohodlnou čitelností. */
  .pd-desc{font-size:16px;line-height:1.65}
  .pd-acc__body{font-size:16px;line-height:1.7}
  .pd-acc__body h2,.pd-acc__body h3,.pd-acc__body h4{font-size:16.5px}
  .pd-popis__text table{font-size:15px}
  .pd-buy__label--full{display:none}
  .pd-buy__label--short{display:inline}
}

/* ---------- popis produktu (dřív schovaný v akordeonu) ---------- */
.pd-popis{display:flex;flex-direction:column;gap:12px;padding:26px 0 4px;border-top:1px solid var(--c-line)}
.pd-popis__label{font:500 11px var(--font-mono);letter-spacing:.1em;color:var(--c-red);text-transform:uppercase}
.pd-popis__text{font:400 15.5px/1.68 var(--font-sans);color:var(--c-text)}
.pd-popis__text > *+*{margin-top:12px}
.pd-popis__text h2,.pd-popis__text h3,.pd-popis__text h4{
  font:700 17px/1.35 var(--font-sans);letter-spacing:-.01em;color:var(--c-ink);margin-top:20px}
.pd-popis__text strong{color:var(--c-ink)}
.pd-popis__text ul,.pd-popis__text ol{padding-left:20px}
.pd-popis__text li+li{margin-top:5px}
.pd-popis__text a{color:var(--c-red);text-decoration:underline}
.pd-popis__text img{border-radius:var(--r-sm);margin:14px 0}
.pd-popis__text table{width:100%;border-collapse:collapse;font-size:14px}
.pd-popis__text td{padding:8px 10px;border-bottom:1px solid var(--c-line-soft);vertical-align:top}

/* text uvnitř rozklikávátek — dřív bez pravidel, nadpisy vypadaly rozbitě */
.pd-acc__body{font:400 14.5px/1.65 var(--font-sans);color:var(--c-text)}
.pd-acc__body > *+*{margin-top:10px}
.pd-acc__body h2,.pd-acc__body h3,.pd-acc__body h4{
  font:700 15px/1.4 var(--font-sans);letter-spacing:0;color:var(--c-ink);margin-top:16px;text-transform:none}
.pd-acc__body ul,.pd-acc__body ol{padding-left:18px}
.pd-acc__body a{color:var(--c-red);text-decoration:underline}

/* Toret vypisuje na stránku holou URL na dopravu — patří do skriptu, ne do textu */
#ttol-show_shipping{display:none !important}

/* ---------- zvětšení položky obsahu koše ---------- */
.basket-item__img[data-nahled]{cursor:zoom-in;transition:transform .12s}
.basket-item__img[data-nahled]:hover,
.basket-item__img[data-nahled]:focus-visible{transform:scale(1.06);outline:0}
.basket-lupa{position:fixed;z-index:120;width:240px;background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:10px;box-shadow:0 16px 44px rgba(17,17,17,.24);padding:8px;pointer-events:none;
  opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.basket-lupa.je-videt{opacity:1;transform:none}
.basket-lupa img{width:100%;height:auto;border-radius:var(--r-sm);display:block}
.basket-lupa span{display:block;font:600 12.5px/1.4 var(--font-sans);color:var(--c-ink);padding:8px 4px 2px}
@media (prefers-reduced-motion:reduce){.basket-lupa{transition:none}}

/* ---------- mobil: doladění po auditu (9. 8. 2026) ----------
   Na konci souboru — mobilní blok výš byl před definicemi
   .pd-acc__body a .pd-popis__text, takže je nepřebil. */
@media (max-width:1024px){
  .pd-desc{font-size:16px;line-height:1.65}
  .pd-acc__body{font-size:16px;line-height:1.7}
  .pd-acc__body h2,.pd-acc__body h3,.pd-acc__body h4{font-size:16.5px}
  .pd-popis__text,
  .pd-popis__text table{font-size:15px}
  .pd-qty__input{font-size:16px;width:52px;min-height:44px}
}

/* ---------- povinný údaj u slevy (§ 12a zákona o ochraně spotřebitele) ----------
   Musí být čitelný, ne schovaný drobným písmem pod cenou — smyslem je, aby
   zákazník poznal, jestli je sleva skutečná. */
.pd-price__nejnizsi{flex-basis:100%;margin-top:6px;font:400 13px/1.5 var(--font-sans);color:var(--c-text)}
.pd-price__nejnizsi strong{font-weight:700;color:var(--c-ink)}
@media (max-width:1024px){
  .pd-price__nejnizsi{font-size:14px}
}
