/* ═══════════════════════════════════════════════════════════════════════
   WooCommerce ve vzhledu návrhu.
   Výchozí styl WooCommerce (woocommerce-general) šablona nenačítá — zůstává
   jen jeho rozvržení (woocommerce-layout, -smallscreen). Tady jsou barvy,
   písmo, tlačítka, formuláře a tabulky podle DESIGN.md: papír, vlasové
   linky, žádné rámy se stínem ani zaoblení.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── karty produktů: cena a výzva na stejné lince i bez štítků ─────── */
.prods > .prod > .prod__price{grid-row:6}
.prods > .prod > .cta{grid-row:7}
.prod__cover img{max-height:100%; object-fit:contain}
.prod__cover--flat img{height:auto}

/* ── hlášky ────────────────────────────────────────────────────────── */
.woocommerce-notices-wrapper:not(:empty){padding:1.25rem var(--pad) 0}
.prose .woocommerce-notices-wrapper:not(:empty){padding:0 0 1.5rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1.5rem;
  margin:0 0 1rem; padding:1rem 1.25rem; list-style:none;
  border:1px solid var(--rule); background:var(--paper-hi);
  font-size:.9375rem; line-height:1.6; color:var(--ink);
}
.woocommerce-error{border-color:color-mix(in srgb, var(--accent) 40%, transparent); color:var(--accent)}
.woocommerce-error li{list-style:none; margin:0}
.woocommerce-form-coupon-toggle .woocommerce-info{justify-content:flex-start; gap:.5rem}
.woocommerce-form-coupon-toggle .woocommerce-info a{border-bottom:1px solid var(--rule) !important}
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus{outline:none}

/* ── tlačítka WooCommerce = .btn z návrhu ──────────────────────────── */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce-page a.button,.woocommerce-page button.button,
.wc-block-components-button{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.9em 1.9em; margin:0;
  border:1px solid var(--rule); border-radius:0; background:transparent; color:var(--ink);
  font-family:var(--sans); font-size:.72rem; letter-spacing:.145em;
  text-transform:uppercase; font-weight:500; line-height:1.5; text-decoration:none;
  cursor:pointer;
  transition:border-color .4s var(--ease), background-color .4s var(--ease), color .4s var(--ease);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{border-color:var(--ink); color:var(--ink)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce a.checkout-button,.woocommerce #place_order,.woocommerce .single_add_to_cart_button{
  background:var(--ink); border-color:var(--ink); color:var(--paper);
}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce a.checkout-button:hover,.woocommerce #place_order:hover,.woocommerce .single_add_to_cart_button:hover{
  background:#2E2A25; border-color:#2E2A25; color:var(--paper);
}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.45; cursor:not-allowed}
.woocommerce .button.loading{opacity:.55; pointer-events:none}

/* ── formulářová pole ──────────────────────────────────────────────── */
.woocommerce form .form-row{margin:0 0 1.35rem; padding:0}
.woocommerce form .form-row label,.woocommerce-form-row label,.buy .variations label{
  display:block; margin-bottom:.55rem;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; line-height:1.5; color:var(--faint);
}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox,
.woocommerce-form__label-for-checkbox{
  display:block; text-transform:none; letter-spacing:0; font-size:.875rem; font-weight:400; color:var(--ink-2); line-height:1.6;
}
.woocommerce form .form-row .required{color:var(--accent); text-decoration:none}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,
.woocommerce .select2-container .select2-selection--single{
  width:100%; min-height:48px; margin:0;
  border:1px solid var(--rule); border-radius:0; background:var(--paper-hi);
  padding:.8rem 1rem;
  font-family:var(--sans); font-size:.9375rem; line-height:1.4; color:var(--ink);
  transition:border-color .4s var(--ease), background-color .4s var(--ease);
}
.woocommerce textarea{min-height:7rem; line-height:1.7; resize:vertical}
.woocommerce input.input-text:hover,.woocommerce textarea:hover,.woocommerce select:hover{border-color:color-mix(in srgb, var(--ink) 34%, transparent)}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{outline:none; border-color:var(--ink); background:#fff}
.woocommerce .select2-container .select2-selection--single{display:flex; align-items:center; height:auto}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{padding:0; line-height:1.4; color:var(--ink)}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:100%; right:.6rem}
.select2-dropdown{border:1px solid var(--rule); border-radius:0; font-family:var(--sans); font-size:.9375rem}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--ink); color:var(--paper)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--accent)}
.woocommerce form .form-row .description,.woocommerce form .form-row .checkout-inline-error-message{
  display:block; margin-top:.4rem; font-size:.8125rem; color:var(--faint);
}
.woocommerce form .form-row .checkout-inline-error-message{color:var(--accent)}
.woocommerce input[type="checkbox"],.woocommerce input[type="radio"]{accent-color:var(--ink); margin-right:.5em}

/* ── množství ──────────────────────────────────────────────────────── */
.woocommerce .quantity .qty{
  width:4.75rem; min-height:48px; padding:.5rem .4rem; text-align:center;
  border:1px solid var(--rule); border-radius:0; background:var(--paper-hi);
  font-family:var(--sans); font-size:.9375rem; color:var(--ink);
}

/* ── detail produktu: formulář „do košíku“ ─────────────────────────── */
.buy form.cart{
  display:flex; flex-wrap:wrap; align-items:stretch; gap:.85rem;
  margin:clamp(1.25rem,2.2vw,1.75rem) 0 0;
}
.buy form.cart .quantity{display:flex}
.buy form.cart .quantity.hidden{display:none}
.buy form.variations_form{display:block}
.buy table.variations{width:100%; border-collapse:collapse; margin:0 0 1.1rem}
.buy table.variations th,.buy table.variations td{display:block; padding:0; border:0; text-align:left}
/* výběr varianty a odkaz „Vyčistit“ vedle sebe s odstupem; na úzké obrazovce pod sebou */
.buy table.variations td.value{display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.25rem}
.buy table.variations select{flex:0 1 22rem; width:auto; min-width:0}
.buy .reset_variations{
  flex:0 0 auto;
  font-size:.8125rem; line-height:1.4; color:var(--faint); border-bottom:1px solid var(--rule);
  transition:color .35s var(--ease), border-color .35s var(--ease);
}
.buy .reset_variations:hover,.buy .reset_variations:focus-visible{color:var(--accent); border-color:var(--accent)}
.buy .woocommerce-variation{margin-bottom:.85rem}
.buy .woocommerce-variation .price{font-size:1.125rem}
.buy .woocommerce-variation-add-to-cart{display:flex; flex-wrap:wrap; align-items:stretch; gap:.85rem}
.buy .stock{margin:0 0 .85rem; font-size:.8125rem; color:var(--faint)}
.buy .stock.out-of-stock{color:var(--accent)}
.buy .added_to_cart{
  align-self:center;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.145em;
  text-transform:uppercase; font-weight:500; color:var(--ink);
  border-bottom:1px solid var(--rule); padding-bottom:.2em;
}
.detail__body > * + *{margin-top:.9em}
.detail__body strong{font-weight:600; color:var(--ink)}
.detail__body a{border-bottom:1px solid var(--rule); transition:border-color .35s var(--ease), color .35s var(--ease)}
.detail__body a:hover,.detail__body a:focus-visible{border-color:var(--accent); color:var(--accent)}

/* vějíř obálek: když se obálky do rámu vejdou celé (balíček o dvou knihách),
   stojí těsně vedle sebe — vzorec z návrhu by je od sebe roztáhl */
.pack__stack img + img,
/* totéž pro obálky, které Imagify obalí do <picture> — obrázky pak nejsou sousedé */
.pack__stack picture + picture img,
.pack__stack picture + img,
.pack__stack img + picture img{
  margin-left:min(0px, calc(-100% * ((var(--s) / var(--a) - 1) / (var(--n) - 1))));
}
.pdesc{border-bottom:1px solid var(--rule)}
.pdesc .band{border-bottom:1px solid var(--rule-soft)}

/* ── košík, pokladna, účet: širší sloupec než běžný text ───────────── */
.woocommerce-cart .prose,.woocommerce-checkout .prose,.woocommerce-account .prose{max-width:72rem}
.prose .woocommerce ul,.prose .woocommerce ol{list-style:none; padding-left:0}
.prose .woocommerce li + li{margin-top:0}
/* odkazy v košíku a pokladně bez podtržení běžného textu — tlačítka si svůj rám nechávají */
.prose .woocommerce a:not(.button){border-bottom:0}
.prose .woocommerce > * + *,.prose .woocommerce form > * + *{margin-top:0}
.prose .woocommerce h2,.prose .woocommerce h3{
  margin:0 0 1.25rem;
  font-family:var(--serif); font-weight:400; color:var(--ink);
  font-size:clamp(1.375rem,2.3vw,1.875rem); line-height:1.2; letter-spacing:-.016em;
}

/* tabulky: košík, souhrn objednávky, přehledy v účtu */
.woocommerce table.shop_table{
  width:100%; margin:0 0 2rem; border:0; border-top:1px solid var(--rule);
  border-collapse:collapse; border-radius:0; font-size:.9375rem;
}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{
  padding:1rem .75rem 1rem 0; border:0; border-bottom:1px solid var(--rule-soft);
  text-align:left; vertical-align:middle; color:var(--ink-2);
}
.woocommerce table.shop_table th{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.woocommerce table.shop_table td.product-name a{color:var(--ink); font-family:var(--serif); font-size:1.0625rem}
.woocommerce table.shop_table td.product-thumbnail{width:5rem}
.woocommerce table.shop_table td.product-thumbnail img{width:64px; height:auto}
.woocommerce table.shop_table td.product-remove{width:2rem}
.woocommerce a.remove{
  display:inline-grid; place-items:center; width:1.75rem; height:1.75rem;
  border:1px solid var(--rule); color:var(--muted) !important; font-size:1.125rem; line-height:1; text-decoration:none;
  transition:border-color .35s var(--ease), color .35s var(--ease);
}
.woocommerce a.remove:hover{border-color:var(--accent); color:var(--accent) !important; background:none}
.woocommerce table.shop_table td.actions{padding:1.25rem 0}
.woocommerce table.cart td.actions .coupon{display:flex; flex-wrap:wrap; gap:.6rem; float:left}
.woocommerce table.cart td.actions .coupon .input-text{width:12rem}
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tfoot td,
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td{padding:.85rem .75rem .85rem 0}
.woocommerce table.shop_table .order-total th,.woocommerce table.shop_table .order-total td{
  border-bottom:0; color:var(--ink);
}
.woocommerce table.shop_table .order-total .amount{font-family:var(--serif); font-size:1.375rem; font-weight:500}
.woocommerce ul#shipping_method li{margin:0 0 .35rem}
.woocommerce ul#shipping_method label{display:inline; text-transform:none; letter-spacing:0; font-size:.9375rem; color:var(--ink-2)}
.woocommerce .cart-collaterals{margin-top:1rem}
.woocommerce .wc-proceed-to-checkout{padding:1rem 0 0}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex; width:100%}
.woocommerce .cart-empty,.woocommerce .return-to-shop{text-align:center}
.woocommerce .return-to-shop{margin-top:1.5rem}

/* pokladna */
/* WooCommerce ukončuje formuláře prvkem .clear; jeho styl je ve výchozím vzhledu, který šablona nenačítá */
.woocommerce .clear{clear:both}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce form.woocommerce-form-login{
  margin:0 0 2rem; padding:1.5rem; border:1px solid var(--rule); border-radius:0; background:var(--paper-hi);
}
/* kupón: pole a tlačítko vedle sebe jako v košíku */
.woocommerce form.checkout_coupon{display:flex; flex-wrap:wrap; align-items:flex-start; gap:.6rem}
.woocommerce form.checkout_coupon .form-row{float:none; width:auto; margin:0}
.woocommerce form.checkout_coupon .form-row-first{flex:0 1 20rem}
.woocommerce form.checkout_coupon .clear{display:none}
.woocommerce form.checkout_coupon #coupon_code.has-error{border-color:var(--accent)}
.woocommerce form.checkout_coupon .coupon-error-notice{display:block; margin-top:.4rem; font-size:.8125rem; line-height:1.5; color:var(--accent)}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{max-width:34rem}
.woocommerce-checkout #customer_details{margin-bottom:2.5rem}
.woocommerce-checkout #order_review_heading{margin-top:1rem}
.woocommerce-checkout #payment{background:var(--paper-hi); border:1px solid var(--rule); border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{margin:0; padding:1.25rem 1.5rem; border-bottom:1px solid var(--rule-soft)}
.woocommerce-checkout #payment ul.payment_methods li{margin:0 0 .6rem; line-height:1.6}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline; text-transform:none; letter-spacing:0; font-size:.9375rem; font-weight:500; color:var(--ink)}
.woocommerce-checkout #payment ul.payment_methods li img{display:inline-block; max-height:1.5rem; width:auto; margin-left:.5rem; vertical-align:middle}
.woocommerce-checkout #payment div.payment_box{
  margin:.6rem 0 .9rem; padding:.9rem 1.1rem; background:var(--paper-lo);
  font-size:.875rem; line-height:1.6; color:var(--ink-2);
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.place-order{padding:1.5rem}
.woocommerce-checkout #payment #place_order{width:100%; margin-top:1rem}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:.8125rem; line-height:1.6; color:var(--faint)}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a{border-bottom:1px solid var(--rule) !important; color:var(--ink-2)}

/* potvrzení objednávky */
.woocommerce ul.order_details{
  display:flex; flex-wrap:wrap; gap:1rem 2.5rem; margin:0 0 2rem; padding:1.25rem 0;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.woocommerce ul.order_details li{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; font-weight:500; color:var(--faint);
}
.woocommerce ul.order_details li strong{
  display:block; margin-top:.35rem;
  font-family:var(--serif); font-size:1.0625rem; letter-spacing:0; text-transform:none; font-weight:500; color:var(--ink);
}
.woocommerce .woocommerce-customer-details address{font-style:normal; line-height:1.7; padding:1rem 0; border-top:1px solid var(--rule)}

/* účet */
.woocommerce-account .woocommerce-MyAccount-navigation ul{border-top:1px solid var(--rule)}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--rule-soft)}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block; padding:.8rem 0;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.145em; text-transform:uppercase; font-weight:500; color:var(--muted);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){border-bottom:1px solid var(--rule) !important}
.woocommerce form .show-password-input{position:absolute; right:.7rem; top:50%; transform:translateY(-50%); background:none; border:0; cursor:pointer}
.woocommerce form .password-input{position:relative; display:block}

@media (max-width:640px){
  .buy form.cart .single_add_to_cart_button{flex:1 1 auto}
  .woocommerce table.cart td.actions .coupon{float:none; margin-bottom:.75rem}
  .woocommerce table.cart td.actions .coupon .input-text{flex:1 1 8rem; width:auto}
  .woocommerce table.cart td.actions > .button{width:100%}
  .woocommerce form.checkout_coupon .form-row-first,
  .woocommerce form.checkout_coupon .form-row-last{flex:1 1 100%}
  .woocommerce form.checkout_coupon .button{width:100%}
}
