/* Shared presentation tokens. Light is always the initial theme. */
:root{--passport-bg:#fff;--passport-surface:#f7f7fb;--passport-raised:#fff;--passport-text:#292d3b;--passport-muted:#687080;--passport-line:#e6e7ee;--passport-accent:#576bcd;--passport-tint:#efefff;--passport-action:#596fda;color-scheme:light}
.passport-theme-toggle{display:inline-flex;flex:0 0 40px;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:5px;border:1px solid var(--passport-line);border-radius:50%;background:var(--passport-surface);color:var(--passport-text);cursor:pointer}
.passport-theme-toggle[hidden]{display:none}.passport-theme-icon{font-size:23px;line-height:1}.passport-theme-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.passport-theme-toggle:focus-visible,.passport-variant-choice:focus-visible,.passport-share-button:focus-visible{outline:3px solid var(--passport-accent);outline-offset:3px}
.header__actions .passport-theme-toggle{margin-left:4px}.header__actions{gap:12px}
.passport-product-page{background:var(--passport-bg);color:var(--passport-text)}
.passport-product-page .pk-shop{padding-top:36px;padding-bottom:28px}.passport-product-page .pk-shop__inner{background:var(--passport-bg);padding:0;border-radius:0}
.passport-product-page .pk-single-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.passport-product-page .pk-single-product__images,.passport-product-page .pk-single-product__content{grid-column:auto;min-width:0;width:auto;text-align:left;margin:0}
.passport-product-page .pk-single-product__images .woocommerce-product-gallery{width:100%;float:none;margin:0}.passport-product-page .pk-single-product__images .woocommerce-product-gallery__image{border-radius:18px;overflow:hidden;background:var(--passport-surface)}
.passport-product-page .pk-single-product__images .woocommerce-product-gallery__image img{width:100%;height:auto;max-height:740px;object-fit:contain;border-radius:18px;margin:0;display:block}
.passport-product-page .pk-single-product__images .flex-control-nav{margin-top:14px}.passport-product-page .pk-single-product__images .flex-control-nav img{border-radius:9px}
.passport-product-page .pk-single-product__content .p-title,.passport-product-page .pk-single-product__content .product_title{font-size:clamp(28px,2.6vw,42px);line-height:1.18;letter-spacing:-.035em;margin:0 0 20px;color:var(--passport-text)}
.passport-product-page .woocommerce-product-details__short-description{font-size:16px;line-height:1.7;color:var(--passport-muted);margin-bottom:18px}.passport-product-page .woocommerce-product-details__short-description p{margin:0 0 12px}
.passport-product-page .pk-single-product__content .price{font-size:28px;font-weight:500;color:var(--passport-text);margin:16px 0 22px}.passport-product-page .pk-single-product__content .price del{color:var(--passport-muted)}
.passport-product-page .pk-form-cart{border:0;padding:0}.passport-product-page .pk-form-cart .cart{align-items:stretch;justify-content:flex-start;flex-direction:row;gap:12px}
.passport-product-page .pk-form-cart .variations{margin:0 0 15px;border:0}.passport-product-page .pk-form-cart .variations tr{display:block;margin:0 0 18px}.passport-product-page .pk-form-cart .variations th,.passport-product-page .pk-form-cart .variations td{display:block;text-align:left;padding:0;border:0;width:100%}.passport-product-page .pk-form-cart .variations th{margin-bottom:9px;font-size:14px}
.passport-product-page .pk-form-cart .variations select{background:var(--passport-raised);color:var(--passport-text);border-color:var(--passport-line);border-radius:10px}
.passport-product-page .pk-form-cart .variations select[hidden]{display:none!important}.passport-variant-choices{display:flex;gap:8px;flex-wrap:wrap}
.passport-variant-choice{min-width:46px;min-height:44px;padding:9px 14px;border:1px solid var(--passport-line);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--passport-raised);color:var(--passport-text);font:inherit;font-size:14px;cursor:pointer}
.passport-variant-choice[aria-pressed=true]{border-color:var(--passport-accent);box-shadow:inset 0 0 0 1px var(--passport-accent);background:var(--passport-tint)}.passport-variant-choice:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.passport-variant-swatch{display:inline-block;width:16px;height:16px;border:1px solid #9097a8;border-radius:50%}.passport-variant-swatch[data-tone=white]{background:#fff}.passport-variant-swatch[data-tone=black]{background:#222}
.passport-product-page .pk-form-cart .variations .reset_variations{position:static;display:inline-block;font-size:12px;color:var(--passport-muted);margin-top:8px}
.passport-product-page .pk-form-cart .woocommerce-variation-add-to-cart{justify-content:flex-start;display:flex;gap:12px;align-items:stretch}.passport-product-page .pk-single-product__content .pk-quantity{margin:0;display:inline-flex;align-items:center;gap:3px;border:1px solid var(--passport-line);border-radius:10px;padding:3px;max-width:145px}
.passport-product-page .pk-quantity .qty{border:0;background:transparent;color:var(--passport-text);max-width:45px}.passport-product-page .pk-quantity button,.passport-product-page .pk-quantity .quantity-minus,.passport-product-page .pk-quantity .quantity-plus{background:var(--passport-surface);color:var(--passport-text)}
.passport-product-page button.single_add_to_cart_button{background:var(--passport-action);color:#fff;border:0;border-radius:10px;min-height:52px;padding:13px 24px;font-size:16px;flex:1;max-width:460px}
.passport-product-page button.single_add_to_cart_button.disabled{opacity:.55}.passport-product-page .stock{font-size:14px}
.passport-product-share{margin-top:16px}.passport-share-button{border:0;background:none;color:var(--passport-muted);font-size:13px;padding:8px 0;text-align:left;cursor:pointer}.passport-share-feedback{color:var(--passport-muted);font-size:12px;margin:0}.passport-share-url{max-width:100%;width:100%;font-size:13px}
.passport-product-details{padding:20px 0 48px;background:var(--passport-bg);color:var(--passport-text)}.passport-product-detail-grid{border-top:1px solid var(--passport-line);padding-top:32px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:clamp(24px,4vw,60px)}
.passport-product-kicker{color:var(--passport-accent);text-transform:uppercase;letter-spacing:.13em;font-size:12px;margin:0 0 12px}.passport-product-story{min-width:0;font-size:16px;line-height:1.8}.passport-product-story h2{display:block;color:var(--passport-text);font-size:clamp(25px,2vw,32px);line-height:1.3;margin:0 0 20px;font-weight:600}.passport-product-story h3{font-size:21px;line-height:1.4;margin:25px 0 12px}.passport-product-story p{margin:0 0 18px}.passport-product-story ul,.passport-product-story ol{padding-left:24px;margin:0 0 20px}.passport-product-story a{color:var(--passport-accent)}
.passport-product-specs{background:var(--passport-surface);padding:26px;border-radius:18px;align-self:start;font-size:14px;min-width:0}.passport-product-specs h2{font-size:21px;margin:0 0 16px}.passport-product-specs table{width:100%;border:0}.passport-product-specs tr{display:block;padding:12px 0;border-bottom:1px solid var(--passport-line)}.passport-product-specs th,.passport-product-specs td{display:block;border:0;text-align:left;padding:0;width:100%;background:none}.passport-product-specs th{font-weight:400;color:var(--passport-muted);font-size:12px;margin-bottom:4px}.passport-product-specs p{margin:0}.passport-product-specs .product_meta{margin-top:18px}.passport-product-specs .sku_wrapper{font-size:12px;color:var(--passport-muted);margin-bottom:14px}.passport-product-specs .sku_wrapper[hidden]{display:none!important}.passport-product-categories summary{cursor:pointer}.passport-product-categories p{font-size:12px;line-height:1.8;margin-top:12px}.passport-product-categories a{color:var(--passport-accent)}
.passport-product-extra{border-top:1px solid var(--passport-line);padding:16px 0}.passport-product-extra summary{cursor:pointer;font-size:17px}
@media(max-width:767px){.passport-product-page .pk-single-product,.passport-product-detail-grid{grid-template-columns:1fr;gap:24px}.passport-product-page .pk-shop{padding-top:22px}.passport-product-page .pk-single-product__images .woocommerce-product-gallery__image img{max-height:560px}.passport-product-page .pk-single-product__content .p-title{font-size:30px}.passport-product-page .pk-form-cart .variations tr{margin-bottom:16px}.passport-product-specs{padding:22px}.passport-product-details{padding-bottom:28px}.passport-product-page .pk-single-product__content .price{font-size:26px}}
@media(max-width:420px){.passport-product-page button.single_add_to_cart_button{padding:12px 14px;font-size:14px}.header__actions{gap:7px}.header__actions .passport-theme-toggle{min-width:36px;min-height:36px;flex-basis:36px;margin:0}}
@media(prefers-reduced-motion:reduce){.passport-theme-toggle,.passport-variant-choice{transition:none}}

/* Remove legacy menu padding that adds to the new flex gaps. */
@media (min-width: 992px) {
  .header__wrap { grid-template-columns: minmax(185px, auto) minmax(0, 1fr) auto auto; }
  .header__menu { min-width: 0; }
  .header__menu .passport-main-menu { gap: clamp(14px, 1.7vw, 26px); }
  .header__menu .passport-main-menu > li { padding: 0; }
  .header__menu .passport-main-menu > li > a { padding: 12px 0; min-height: 44px; }
  .header__actions { flex-shrink: 0; }
  .header__lang { margin-right: 0; }
}
/* Keep all actions on compact phones without clipping or hiding labels. */
@media (max-width: 420px) {
  .header__wrap { gap: 6px; }
  .header__logo { gap: 7px; }
  .header__logo img { margin-right: 0; }
  .header__actions { gap: 6px; }
  .header__phone, .header__cart, .header .ad-burger { width: 38px; height: 38px; min-width: 38px; }
}
@media (max-width: 359px) {
  .header__logo img { width: 32px; }
  .header__logo span, .header__logo span a { font-size: 12px; }
}
/* Clip image/zoom layers to the same shape instead of only rounding the img. */
.passport-product-page .pk-single-product__images .woocommerce-product-gallery__wrapper,
.passport-product-page .pk-single-product__images .flex-viewport {
  border-radius: 18px;
  overflow: hidden;
}

/* The restored native share template inherits the selected palette. */
.passport-product-page .pk-share { color: var(--passport-muted); }
.passport-product-page .pk-share__list { flex-wrap: wrap; gap: 12px; }
.passport-product-page .pk-share__list-item { margin-right: 0; }
.passport-product-page .pk-share__list a { display: inline-flex; border-radius: 50%; }
.passport-product-page .pk-share__list a:focus-visible { outline: 3px solid var(--passport-accent); outline-offset: 4px; }

.passport-product-region{margin-top:24px;padding-top:18px;border-top:1px solid var(--passport-line)}
.passport-product-region p{font-size:14px;color:var(--passport-muted);margin:0 0 8px}
.passport-product-region a{color:var(--passport-accent);text-decoration:none;font-weight:600}
.passport-product-region a:hover{text-decoration:underline}
