/*
Theme Name: Čaj od babky
Description: Skúšobná téma podľa návrhu zo Stitchu (Tailwind CDN), napojená na WooCommerce.
Version: 0.1
Text Domain: caj-s-laskou
*/
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
/* WooCommerce prvky (košík, pokladňa, hlášky) v farbách dizajnu */
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-info { border-top-color: #4A5D4E; background: #F5EFEB; }
.woocommerce a.button, .woocommerce button.button, .wc-block-components-button:not(.is-link),
.wp-element-button, .wc-block-cart__submit-button { background: #4A5D4E !important; color: #FFFDF9 !important; border-radius: .5rem !important; font-weight: 600; }
.woocommerce a.button:hover, .wc-block-components-button:not(.is-link):hover { background: #334537 !important; }
a.added_to_cart { display: none; }
.add_to_cart_button.loading { opacity: .6; }
.add_to_cart_button.added .material-symbols-outlined { color: #D4A373; }
.caj-content h1, .caj-content h2 { font-family: 'Newsreader', serif; color: #2E251E; }
.caj-content h1 { font-size: 36px; line-height: 44px; font-weight: 600; margin-bottom: 1.5rem; }
.caj-content h2 { font-size: 26px; line-height: 34px; margin: 2rem 0 .75rem; }
.caj-content p, .caj-content li { color: #4A3E35; line-height: 1.7; margin-bottom: .75rem; }
.caj-content ul { list-style: disc; padding-left: 1.25rem; }
.caj-qty input.qty { width: 4rem; text-align: center; background: #FFFDF9; border: 1px solid #D8CFC5; border-radius: .5rem; padding: .75rem .5rem; }
/* Kreslené ikony Streamline – SVG ako maska, farba z textu (currentColor), veľkosť z font-size */
.caj-icon { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; vertical-align: -0.15em; background-color: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
:where(.caj-icon) { font-size: 24px; }
/* Jedna farba všetkých kreslených ikon (šalviová zelená značky), na tmavých plochách krémová */
.caj-icon { background-color: var(--caj-icon, #4A5D4E) !important; }
[class*="bg-primary"]:not([class*="bg-primary-fixed"]):not([class*="/"]),
[class*="bg-[#233527]"], [class*="bg-[#2"], [class*="bg-secondary"]:not([class*="secondary-fixed"]):not([class*="secondary-container"]):not([class*="/"]),
[class*="bg-tertiary"]:not([class*="tertiary-fixed"]):not([class*="/"]), [class*="bg-inverse-surface"], [class*="bg-accent-rust"] { --caj-icon: #FFFDF9; }
/* svetlá plocha vnútri tmavej (krúžky, zlaté tlačidlo) -> späť zelená */
[class*="bg-surface"]:not([class*="/"]), [class*="bg-amber-gold"], [class*="bg-white"]:not([class*="/"]), [class*="bg-secondary-container"], [class*="bg-primary-fixed"], [class*="bg-secondary-fixed"], [class*="bg-tertiary-fixed"] { --caj-icon: #4A5D4E !important; }
/* pri prejdení myšou na tmavú plochu ikona zosvetlie */
[class*="hover:bg-primary"]:hover, [class*="hover:bg-secondary"]:hover { --caj-icon: #FFFDF9 !important; }

/* ===== Košík a pokladňa (WooCommerce bloky) v dizajne webu ===== */
.caj-woo { --cw-card: #FFFDF9; --cw-line: #E8DFD5; --cw-ink: #2E251E; --cw-walnut: #4A3E35; --cw-green: #4A5D4E; --cw-input: #D8CFC5; font-family: 'Instrument Sans', sans-serif; color: var(--cw-walnut); }
.caj-woo h2, .caj-woo h3, .caj-woo .wc-block-components-title, .caj-woo .wc-block-components-checkout-step__title,
.caj-woo .wc-block-cart__totals-title, .caj-woo .wc-block-components-product-name { font-family: 'Newsreader', serif !important; color: var(--cw-ink); letter-spacing: 0; text-transform: none; }
/* karty: zoznam položiek, súhrn, kroky pokladne */
.caj-woo .wc-block-components-main > .wc-block-cart-items, .caj-woo .wc-block-components-sidebar,
.caj-woo .wc-block-checkout__form .wc-block-components-checkout-step, .caj-woo .wc-block-checkout__actions {
  background: var(--cw-card); border: 1px solid var(--cw-line); border-radius: 1rem; box-shadow: 0 4px 16px rgba(46,37,30,.05); }
.caj-woo .wc-block-components-sidebar { padding: 1.5rem !important; }
.caj-woo .wc-block-checkout__form .wc-block-components-checkout-step { padding: 1.5rem !important; margin-bottom: 1.25rem !important; }
.caj-woo .wc-block-components-checkout-step__container::after, .caj-woo .wc-block-components-checkout-step::after { display: none !important; }
.caj-woo .wc-block-components-checkout-step__heading { margin: 0 0 1rem !important; }
.caj-woo .wc-block-components-checkout-step__title { font-size: 24px !important; font-weight: 600; }
.caj-woo .wc-block-checkout__actions { padding: 1.25rem 1.5rem !important; }
.caj-woo .wc-block-components-main > .wc-block-cart-items { border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; max-width: 100%; }
.caj-woo .wc-block-cart-items th { font-family: 'Instrument Sans', sans-serif; font-size: 12px; letter-spacing: .06em; color: #737872; }
@media (min-width: 782px) {
  .caj-woo .wc-block-cart-items th { padding: 1rem 1.25rem !important; border-bottom: 1px solid var(--cw-line) !important; }
  .caj-woo .wc-block-cart-items td { padding: 1.25rem !important; border-top: 1px solid var(--cw-line) !important; }
}
@media (max-width: 781px) {
  .caj-woo .wc-block-components-main > .wc-block-cart-items { padding: .25rem 1rem; }
  .caj-woo .wc-block-cart-items .wc-block-cart-items__row { border-top: 1px solid var(--cw-line); }
  .caj-woo .wc-block-cart-items .wc-block-cart-items__row:first-child { border-top: 0; }
  .caj-woo .wc-block-components-main > .wc-block-cart-items { table-layout: fixed; }
  .caj-woo .wc-block-cart-item__image { width: 64px !important; }
  .caj-woo .wc-block-cart-items .wc-block-components-product-name { font-size: 18px !important; }
  .caj-woo .wc-block-components-quantity-selector { min-width: 0; width: 112px; }
  .caj-woo .wc-block-cart-item__total { display: none !important; }  /* cena je pod názvom, súčet v súhrne */
  .caj-woo .wc-block-cart-items__row > td:first-child { padding-right: .5rem !important; }
  .caj-woo .wc-block-cart-items col:first-child, .caj-woo .wc-block-cart-items__row > td.wc-block-cart-item__image { width: 72px !important; }
}
/* položky v košíku */
.caj-woo .wc-block-cart-item__image img, .caj-woo .wc-block-components-order-summary-item__image img { border-radius: .75rem; background: #F5EFEB; }
.caj-woo .wc-block-cart-item__image { width: 88px !important; }
.caj-woo .wc-block-components-product-name { font-size: 20px !important; font-weight: 600; line-height: 1.25; text-decoration: none; }
.caj-woo .wc-block-components-product-metadata { font-size: 14px; color: var(--cw-walnut); }
.caj-woo .wc-block-components-product-price, .caj-woo .wc-block-cart-item__total { font-family: 'Newsreader', serif; color: var(--cw-green); font-size: 18px; font-weight: 600; }
.caj-woo .wc-block-cart-item__remove-link { font-size: 13px !important; color: #9E4732 !important; text-decoration: underline; }
/* množstvo */
.caj-woo .wc-block-components-quantity-selector { border: 1px solid var(--cw-input) !important; border-radius: .5rem !important; background: var(--cw-card); height: 44px; min-width: 120px; }
.caj-woo .wc-block-components-quantity-selector::after { display: none !important; }
.caj-woo .wc-block-components-quantity-selector input { font-size: 16px !important; font-weight: 600; color: var(--cw-ink); }
.caj-woo .wc-block-components-quantity-selector__button { min-width: 40px !important; font-size: 20px !important; color: var(--cw-green) !important; opacity: 1 !important; }
.caj-woo .wc-block-components-quantity-selector__button:hover { background: #F5EFEB !important; }
/* súhrn */
.caj-woo .wc-block-components-totals-item { font-size: 15px; padding: .5rem 0; }
.caj-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.caj-woo .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: 'Newsreader', serif; font-size: 24px !important; color: var(--cw-ink); font-weight: 600; }
.caj-woo .wc-block-components-totals-wrapper { border-color: var(--cw-line) !important; }
/* polia formulára */
.caj-woo .wc-block-components-text-input input, .caj-woo .wc-block-components-textarea, .caj-woo .wc-blocks-components-select__select,
.caj-woo .wc-block-components-combobox .components-combobox-control input {
  background: var(--cw-card) !important; border: 1px solid var(--cw-input) !important; border-radius: .5rem !important; color: var(--cw-ink) !important; font-size: 16px !important; }
.caj-woo .wc-block-components-text-input.is-active input, .caj-woo .wc-block-components-text-input input:focus, .caj-woo .wc-blocks-components-select__select:focus {
  border-color: var(--cw-green) !important; box-shadow: 0 0 0 2px rgba(74,93,78,.18) !important; outline: none !important; }
.caj-woo .wc-block-components-text-input label, .caj-woo .wc-blocks-components-select__label { color: #737872 !important; }
/* spôsob dopravy a platby ako karty */
.caj-woo .wc-block-components-radio-control__option, .caj-woo .wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--cw-line) !important; border-radius: .75rem !important; background: #FAF6F0; margin-bottom: .5rem; box-shadow: none !important; }
.caj-woo .wc-block-components-radio-control__option-checked, .caj-woo .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--cw-green) !important; background: #F0F4EC !important; }
.caj-woo .wc-block-components-radio-control__input:checked, .caj-woo .wc-block-components-checkbox__input:checked { background: var(--cw-green) !important; border-color: var(--cw-green) !important; }
.caj-woo .wc-block-components-radio-control__input:checked::before { background: #FFFDF9 !important; }
.caj-woo .wc-block-components-checkbox__mark { fill: #FFFDF9 !important; }
/* tlačidlá */
.caj-woo .wc-block-components-button:not(.is-link), .caj-woo .wp-block-button__link, .caj-woo .wp-element-button {
  background: var(--cw-green) !important; color: #FFFDF9 !important; border-radius: .5rem !important; min-height: 52px; font-family: 'Instrument Sans', sans-serif !important;
  font-weight: 600 !important; font-size: 16px !important; box-shadow: 0 4px 12px rgba(46,37,30,.12); border: 0 !important; }
.caj-woo .wc-block-components-button:not(.is-link):hover, .caj-woo .wp-block-button__link:hover { background: #334537 !important; }
.caj-woo .wc-block-components-panel__button, .caj-woo .wc-block-components-totals-coupon-link { color: var(--cw-green) !important; }
.caj-woo .wc-block-checkout__terms { font-size: 14px; color: var(--cw-walnut); }
.caj-woo a:not([class*="bg-"]):not(.wc-block-components-button):not(.wp-block-button__link) { color: var(--cw-green); }
.caj-woo a[class*="bg-primary"], .caj-woo a[class*="bg-secondary"] { color: #FFFDF9 !important; }
.caj-woo .caj-empty-cart img { width: 160px !important; height: 160px !important; max-width: none; object-fit: cover; object-position: center 20%; border-radius: 9999px; }
@media (min-width: 768px) { .caj-woo .caj-empty-cart img { width: 220px !important; height: 220px !important; } }
/* prázdny košík */
.caj-woo .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none !important; }
.caj-woo .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
.caj-woo .wc-block-components-order-summary .wc-block-components-product-name { font-size: 17px !important; }
.caj-woo .wc-block-components-order-summary .wc-block-components-product-price { font-size: 16px; }
/* Obľúbené: srdiečko na kartách a detaile, počet v hlavičke */
.caj-fav { width: 40px; height: 40px; border-radius: 9999px; background: #FFFDF9; border: 1px solid #E8DFD5; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(46,37,30,.10); cursor: pointer; transition: transform .15s, background .15s; --caj-icon: #9E4732 !important; }
.caj-fav:hover { transform: scale(1.06); }
.caj-fav[aria-pressed="true"] { background: #9E4732; border-color: #9E4732; --caj-icon: #FFFDF9 !important; }
.caj-fav-lg { width: 52px; height: 52px; flex-shrink: 0; border-radius: .5rem; }
.caj-fav-count { position: absolute; top: -6px; left: 14px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9999px; background: #9E4732; color: #FFFDF9; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.caj-fav-count.hidden { display: none; }
/* Dotykové zariadenia: ovládacie prvky aspoň 44 px (inline odkazy v texte sa nemenia – min-height na ne nepôsobí) */
@media (pointer: coarse) {
  a, button, select, input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="number"] { min-height: 44px; }
  header a[title], header button, .caj-fav, footer a[title] { min-width: 44px; }
  footer li a, #caj-mnav nav a, main nav a { display: inline-flex; align-items: center; }
}
#caj-mnav .caj-fav-count { position: static; }

/* Logo DPD pri doprave v pokladni */
.wc-block-components-radio-control__option:has(input[value^="flat_rate"]) .wc-block-components-radio-control__label::before,
.wc-block-components-radio-control__option:has(input[value^="free_shipping"]) .wc-block-components-radio-control__label::before { content: ""; display: inline-block; width: 52px; height: 22px; margin-right: .5rem; vertical-align: middle; background: url(img/dpd-logo.png) left center / contain no-repeat; }
/* Účet zákazníka */
.caj-ucet .u-columns { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .caj-ucet .u-columns { grid-template-columns: 1fr 1fr; } }
.caj-ucet .u-column1, .caj-ucet .u-column2 { float: none !important; width: auto !important; }
.caj-ucet form.login, .caj-ucet form.register, .caj-ucet form.lost_reset_password, .caj-ucet .woocommerce-EditAccountForm, .caj-ucet .woocommerce-address-fields, .caj-ucet .woocommerce-Address {
  background: var(--cw-card); border: 1px solid var(--cw-line) !important; border-radius: 1rem !important; padding: 1.5rem !important; margin: 0 !important; box-shadow: 0 4px 16px rgba(46,37,30,.05); }
.caj-ucet h2, .caj-ucet h3 { font-size: 24px; font-weight: 600; margin: 0 0 .75rem; }
.caj-ucet label { font-size: 14px; font-weight: 600; color: var(--cw-walnut); }
.caj-ucet input.input-text, .caj-ucet select, .caj-ucet textarea { width: 100%; min-height: 44px; background: var(--cw-card); border: 1px solid var(--cw-input); border-radius: .5rem; padding: .625rem .75rem; font-size: 16px; color: var(--cw-ink); }
.caj-ucet input.input-text:focus { outline: none; border-color: var(--cw-green); box-shadow: 0 0 0 2px rgba(74,93,78,.18); }
.caj-ucet button.button, .caj-ucet a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .625rem 1.25rem !important; font-weight: 600; text-decoration: none; }
.caj-ucet .woocommerce-MyAccount-navigation ul { list-style: none; padding: .5rem; margin: 0 0 1.5rem; background: var(--cw-card); border: 1px solid var(--cw-line); border-radius: 1rem; }
.caj-ucet .woocommerce-MyAccount-navigation li { margin: 0; }
.caj-ucet .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 44px; padding: 0 .875rem; border-radius: .5rem; color: var(--cw-walnut); font-weight: 500; text-decoration: none; }
.caj-ucet .woocommerce-MyAccount-navigation a:hover { background: #F5EFEB; }
.caj-ucet .woocommerce-MyAccount-navigation .is-active a { background: var(--cw-green); color: #FFFDF9 !important; }
.caj-ucet table.shop_table { background: var(--cw-card); border: 1px solid var(--cw-line) !important; border-radius: 1rem; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.caj-ucet table.shop_table th, .caj-ucet table.shop_table td { padding: .875rem 1rem !important; border-color: var(--cw-line) !important; }
