/* eshop-product.css — product-specific styles only.
   Base :root variables, topbar, header, nav are in eshop.css (loaded by layouts.storefront). */

  /* ---------- PRODUCT MAIN ---------- */
  .product-main{padding:8px 0 40px;}
  .product-layout{display:grid; grid-template-columns:460px 1fr 320px; gap:32px; align-items:start;}

  /* gallery */
  .gallery{position:sticky; top:20px;}

  .gallery-main{
    background:#f6f5fc; border:1px solid var(--line); border-radius:var(--radius);
    aspect-ratio:3/4; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
  }
  .gallery-main i{font-size:150px; color:var(--purple-light); transition:.3s;}
  .gallery-badge{position:absolute; top:16px; left:16px; background:var(--red); color:#fff; font-size:12px; font-weight:700; padding:5px 12px; border-radius:8px;}
  .gallery-fav{position:absolute; top:16px; right:16px; width:38px; height:38px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--gray); box-shadow:0 2px 8px rgba(20,20,50,.15); transition:.2s;}
  .gallery-fav:hover, .gallery-fav.active{color:var(--red);}
  .gallery-zoom{position:absolute; bottom:16px; right:16px; width:34px; height:34px; border-radius:50%; background:rgba(20,20,50,.55); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px;}
  .thumb-row{display:flex; gap:10px; margin-top:14px;}
  .thumb{
    width:78px; height:78px; border-radius:10px; background:#f6f5fc; border:2px solid var(--line);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.2s;
  }
  .thumb i{font-size:26px; color:var(--purple-light);}
  .thumb.active{border-color:var(--purple);}
  .thumb:hover{border-color:var(--purple-light);}

  /* center info */
  .p-info h1{font-size:25px; font-weight:700; line-height:1.35;}
  .p-meta{display:flex; align-items:center; gap:18px; margin-top:10px; flex-wrap:wrap; font-size:13.5px; color:var(--gray);}
  .p-rating{display:flex; align-items:center; gap:6px;}
  .p-rating .stars{color:var(--amber); font-size:13px;}
  .p-rating a{color:var(--purple);}
  .p-meta .stock{display:flex; align-items:center; gap:6px; color:var(--green); font-weight:600;}
  .p-meta .stock i{font-size:8px;}
  .p-meta .sku{color:var(--gray);}

  .p-price-block{display:flex; align-items:baseline; gap:14px; margin-top:18px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .p-price-now{font-size:32px; font-weight:800; color:var(--red);}
  .p-price-old{font-size:17px; color:var(--gray); text-decoration:line-through;}
  .p-save-badge{background:var(--lilac-bg); color:var(--purple); font-size:12.5px; font-weight:700; padding:5px 10px; border-radius:7px;}

  .p-desc{margin-top:18px; font-size:14px; color:#4c4d63; line-height:1.8;}

  .option-group{margin-top:22px;}
  .option-group > label{font-size:13.5px; font-weight:600; display:block; margin-bottom:10px;}
  .swatches{display:flex; gap:10px; flex-wrap:wrap;}
  .swatch{
    width:38px; height:38px; border-radius:50%; border:2px solid var(--line); cursor:pointer; position:relative; transition:.2s;
  }
  .swatch.active{border-color:var(--purple); box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--purple-light);}
  .size-opts{display:flex; gap:10px; flex-wrap:wrap;}
  .size-opt{
    min-width:52px; padding:9px 14px; border:2px solid var(--line); border-radius:8px; text-align:center;
    font-size:13.5px; font-weight:600; color:var(--ink); transition:.2s;
  }
  .size-opt.active{border-color:var(--purple); background:var(--purple); color:#fff;}
  .size-opt:hover{border-color:var(--purple-light);}

  .highlight-list{margin-top:20px; display:flex; flex-direction:column; gap:9px;}
  .highlight-list li{display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#4c4d63;}
  .highlight-list i{color:var(--green); font-size:13px; margin-top:2px;}

  /* buy box */
  .buy-box{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; position:sticky; top:20px; box-shadow:0 2px 10px -6px rgba(20,20,50,.06);}
  .buy-price{font-size:26px; font-weight:800; color:var(--red);}
  .buy-price .old{font-size:14px; color:var(--gray); font-weight:500; text-decoration:line-through; margin-left:8px;}
  .buy-row{display:flex; align-items:center; gap:8px; color:var(--green); font-size:13px; font-weight:600; margin-top:8px;}
  .qty-row{display:flex; align-items:center; gap:14px; margin-top:18px;}
  .qty-row label{font-size:13.5px; font-weight:600;}
  .qty-control{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:8px; overflow:hidden;}
  .qty-control button{width:32px; height:32px; font-size:15px; color:var(--purple); transition:.15s;}
  .qty-control button:hover{background:var(--lilac-bg);}
  .qty-control span{width:38px; text-align:center; font-weight:600; font-size:14px;}
  .buy-btn-primary{
    margin-top:18px; width:100%; background:#2d6fb7; color:#fff; font-weight:700; font-size:14.5px;
    padding:14px 0; border-radius:9px; display:flex; align-items:center; justify-content:center; gap:10px;
    box-shadow:0 10px 22px -8px rgba(45, 111, 183, 0.4); transition:.2s;
  }
  .buy-btn-primary:hover{background:#1e5591; transform:translateY(-1px);}
  .buy-btn-secondary{
    margin-top:10px; width:100%; background:var(--amber); color:#3a2900; font-weight:700; font-size:14.5px;
    padding:14px 0; border-radius:9px; transition:.2s;
  }
  .buy-btn-secondary:hover{filter:brightness(0.96);}
  .compare-btn-detail{
    background:#f1f5f9; border:1.5px solid #e2e8f0; color:#334155; border-radius:9px; transition:.2s;
  }
  .compare-btn-detail:hover{background:#e2e8f0; color:#0f172a;}
  .compare-btn-detail.compare-active{background:#34d399 !important; border-color:#34d399 !important; color:#1e293b !important;}
  .buy-wishlist{margin-top:10px; width:100%; border:1.5px solid var(--line); color:var(--ink); font-weight:600; font-size:13.5px; padding:11px 0; border-radius:9px; display:flex; align-items:center; justify-content:center; gap:8px; transition:.2s;}
  .buy-wishlist:hover{border-color:var(--red); color:var(--red);}
  .buy-wishlist.active{border-color:var(--red); color:var(--red); background:#fdf0f1;}

  .buy-info{margin-top:20px; display:flex; flex-direction:column; gap:12px; border-top:1px solid var(--line); padding-top:18px;}
  .buy-info-item{display:flex; align-items:flex-start; gap:12px; font-size:12.8px; color:var(--gray);}
  .buy-info-item i{color:var(--purple); font-size:16px; margin-top:1px; width:18px;}
  .buy-info-item b{color:var(--ink); display:block; font-size:13px;}

  .sold-by{margin-top:18px; border-top:1px solid var(--line); padding-top:16px; display:flex; align-items:center; gap:12px;}
  .sold-by-avatar{width:38px; height:38px; border-radius:50%; background:var(--lilac-bg); color:var(--purple); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}
  .sold-by div b{font-size:13px; display:block;}
  .sold-by div span{font-size:11.5px; color:var(--gray);}

  /* ---------- TABS ---------- */
  .tabs-section{padding:10px 0 40px;}
  .tabs-nav{display:flex; gap:6px; border-bottom:2px solid var(--line); overflow-x:auto;}
  .tab-btn{
    padding:14px 22px; font-size:14.5px; font-weight:600; color:var(--gray); position:relative; white-space:nowrap; transition:.2s;
  }
  .tab-btn.active{color:var(--purple);}
  .tab-btn.active::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--purple); border-radius:3px 3px 0 0;}
  .tab-panel{display:none; padding:28px 4px; font-size:14px; color:#4c4d63; line-height:1.8;}
  .tab-panel.active{display:block;}

  .spec-table{width:100%; border-collapse:collapse; max-width:720px;}
  .spec-table tr{border-bottom:1px solid var(--line);}
  .spec-table td{padding:12px 14px; font-size:13.8px;}
  .spec-table td:first-child{color:var(--gray); width:220px; font-weight:500;}
  .spec-table td:last-child{color:var(--ink); font-weight:600;}
  .spec-table tr:nth-child(odd){background:#faf9ff;}

  /* reviews */
  .review-summary{display:flex; gap:40px; align-items:center; padding-bottom:24px; border-bottom:1px solid var(--line); flex-wrap:wrap;}
  .review-score{text-align:center;}
  .review-score .num{font-size:44px; font-weight:800; color:var(--ink); line-height:1;}
  .review-score .stars{color:var(--amber); font-size:16px; margin-top:8px;}
  .review-score .count{font-size:12.5px; color:var(--gray); margin-top:6px;}
  .review-bars{flex:1; min-width:220px; display:flex; flex-direction:column; gap:8px;}
  .review-bar-row{display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--gray);}
  .review-bar-row .track{flex:1; height:8px; background:var(--line); border-radius:6px; overflow:hidden;}
  .review-bar-row .fill{height:100%; background:var(--amber); border-radius:6px;}

  .review-item{display:flex; gap:14px; padding:22px 0; border-bottom:1px solid var(--line);}
  .review-avatar{width:42px; height:42px; border-radius:50%; background:var(--lilac-bg); color:var(--purple); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; flex-shrink:0;}
  .review-body b{font-size:14px;}
  .review-body .r-meta{display:flex; align-items:center; gap:10px; margin-top:2px; font-size:12px; color:var(--gray);}
  .review-body .r-stars{color:var(--amber); font-size:12px; margin-top:8px;}
  .review-body p{margin-top:8px; font-size:13.5px; color:#4c4d63; line-height:1.7;}
  .verified-tag{background:#e9f7f0; color:var(--green); font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:20px;}

  /* ---------- RELATED ---------- */
  .related-section{padding:10px 0 50px;}
  .section-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;}
  .section-head h3{font-size:21px; font-weight:700;}
  .section-head a{color:var(--purple); font-weight:600; font-size:14px; display:flex; align-items:center; gap:6px;}
.product-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;}
  .product-card{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:.2s; position:relative; display:flex; flex-direction:column;}
  .product-card:hover{box-shadow:0 12px 24px -12px rgba(20,20,50,.18); transform:translateY(-3px); border-color:#ded9f7;}
  .product-thumb{aspect-ratio:1/1; background:#f6f5fc; display:flex; align-items:center; justify-content:center; position:relative; padding:22px;}
  .product-thumb i{font-size:52px; color:var(--purple-light);}
  .discount-badge{position:absolute; top:10px; left:10px; background:var(--red); color:#fff; font-size:11px; font-weight:700; padding:3px 8px; border-radius:6px;}
  .product-info{padding:14px 14px 16px; display:flex; flex-direction:column; gap:6px;}
  .product-name{font-size:14px; font-weight:600; line-height:1.35;}
  .product-rating{display:flex; align-items:center; gap:5px; font-size:12px; color:var(--gray);}
  .product-rating i{color:var(--amber); font-size:11px;}
  .product-price-row{display:flex; align-items:center; justify-content:space-between; margin-top:4px;}
  .price-block{display:flex; align-items:baseline; gap:8px;}
  .price-now{font-size:16px; font-weight:700; color:var(--red);}
  .price-old{font-size:12px; color:var(--gray); text-decoration:line-through;}
  .cart-btn{width:34px; height:34px; border-radius:8px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--purple); font-size:14px; transition:.2s; flex-shrink:0;}
  .cart-btn:hover{background:var(--purple); color:#fff; border-color:var(--purple);}

  footer{background:var(--navy); color:#c3c7dd; padding:26px 0; text-align:center; font-size:13px;}
  footer b{color:#fff;}

  /* toast */
  .toast{
    position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(100px); background:var(--ink); color:#fff;
    padding:14px 24px; border-radius:10px; font-size:14px; display:flex; align-items:center; gap:10px; z-index:300; transition:.35s ease; opacity:0;
  }
  .toast.show{transform:translateX(-50%) translateY(0); opacity:1;}
  .toast i{color:var(--green);}

  /* ---------------- RESPONSIVE ---------------- */
  @media (max-width:1180px){
    .product-layout{grid-template-columns:1fr 340px; grid-template-areas:"gallery buybox" "info buybox";}
    .gallery{grid-area:gallery;}
    .p-info{grid-area:info;}
    .buy-box{grid-area:buybox;}
    .product-grid{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:860px){
    .product-layout{grid-template-columns:1fr; grid-template-areas:"gallery" "info" "buybox";}
    .gallery, .buy-box{position:static;}
    .head-action .label{display:none;}
  }
  @media (max-width:720px){
    .topbar-left span:not(:first-child){display:none;}
    header.main .wrap{flex-wrap:wrap;}
    .search-bar{order:3; flex-basis:100%; max-width:100%; margin-top:12px;}
    .search-bar select{display:none;}
    .mobile-menu-btn{display:block;}
    .navmenu{padding-left:14px;}
    .gallery-main i{font-size:110px;}
    .product-grid{grid-template-columns:repeat(2,1fr);}
    .review-summary{gap:20px;}
    .p-info h1{font-size:20px;}
    .p-price-now{font-size:26px;}
  }
  @media (max-width:480px){
    .logo-mark{width:40px; height:40px; font-size:17px;}
    .brand-logo-image{max-width:155px;height:40px;}
    .brand-name{font-size:19px;}
    .thumb{width:62px; height:62px;}
    .spec-table td:first-child{width:130px;}
  }

/* product page integration — body scoped overrides only */
body[data-eshop-product]{background:#f6f8fb;color:var(--ink);}
body[data-eshop-product] .storefront-sticky-header{position:sticky;top:0;z-index:110;background:#fff;box-shadow:0 8px 24px rgba(16,34,61,.06);}
body[data-eshop-product] .head-actions{margin-left:auto;justify-content:flex-end;}
body[data-eshop-product] .logo-mark img,
body[data-eshop-product] .footer-logo-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit;}
body[data-eshop-product] .cat-toggle{border-radius:8px 8px 0 0;}
body[data-eshop-product] .hot-tag{margin-left:4px;background:#f04438;color:#fff;border-radius:4px;padding:2px 5px;font-size:9px;vertical-align:top;}
body[data-eshop-product] .breadcrumb{display:flex;align-items:center;gap:9px;min-height:54px;margin-top:15px;margin-bottom:15px;font-size:12.5px;color:var(--gray);}
body[data-eshop-product] .breadcrumb a{color:var(--ink);text-decoration:none;transition:color .2s;}
body[data-eshop-product] .breadcrumb a:hover{color:var(--purple);}
body[data-eshop-product] .breadcrumb .sep i{font-size:9px;color:#a8b1c0;}
body[data-eshop-product] .breadcrumb .current{color:var(--gray);}

.product-layout{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 12px 35px rgba(16,34,61,.05);}
.gallery,.buy-box{top:176px;}
.gallery{width:100%;max-width:460px;}
.gallery-main{width:100%;background:#f7f8fb;cursor:zoom-in;border-radius:12px;overflow:hidden;}
.gallery-main>img{width:100%;height:100%;object-fit:cover;display:block;padding:0;transition:transform .25s ease;}
.gallery-main.hover-zoom-active>img{transform:scale(1.55);}
.gallery-main .gallery-fav i,.gallery-main .gallery-zoom i{font-size:inherit;color:inherit;}
.gallery-fav,.gallery-zoom{z-index:2;}
.gallery-fav.active{color:var(--red);background:#fff1f1;}
.gallery-badge:empty{display:none;}
.thumb-row{overflow-x:auto;padding-bottom:3px;scrollbar-width:thin;}
.thumb,.detail-thumb{width:70px;height:70px;overflow:hidden;flex:0 0 70px;border:2px solid var(--line);border-radius:10px;background:#fff;}
.thumb img,.detail-thumb img{width:100%;height:100%;object-fit:contain;padding:6px;}
.detail-thumb.active{border-color:var(--purple);}
.product-category-label{display:inline-flex;margin-bottom:9px;padding:5px 10px;border-radius:6px;background:var(--lilac-bg);color:var(--purple-dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;}
.stock-row strong{display:inline-flex;align-items:center;gap:5px;color:inherit;}
.stock-row strong i{font-size:13px;}
.option-buttons{display:flex;gap:10px;flex-wrap:wrap;}
.option-buttons button{min-width:52px;padding:9px 14px;border:2px solid var(--line);border-radius:8px;color:var(--ink);font-size:13.5px;font-weight:600;transition:.2s;}
.option-buttons button:hover{border-color:var(--purple-light);}
.option-buttons button.active{border-color:var(--purple);background:var(--purple);color:#fff;}
.option-buttons button:disabled{cursor:not-allowed;opacity:.45;text-decoration:line-through;}
.buy-box{box-shadow:0 12px 34px rgba(16,34,61,.08);}
.buy-btn-primary:disabled,.buy-btn-secondary:disabled{cursor:not-allowed;opacity:.5;transform:none;}
.buy-btn-secondary{background:#ffb21a;color:#2d2105;}
.affiliate-panel{margin-top:22px;padding:15px;border:1px solid #ffd5c7;border-radius:12px;background:#fff7f4;}
.affiliate-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;color:var(--purple-dark);}
.affiliate-heading b{padding:3px 7px;border-radius:5px;background:#fff0e9;}
.affiliate-copy{display:flex;}
.affiliate-copy input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px 0 0 7px;padding:9px;background:#fff;color:var(--gray);}
.affiliate-copy button{padding:0 12px;border-radius:0 7px 7px 0;background:var(--purple);color:#fff;font-weight:700;white-space:nowrap;}
.affiliate-panel small{display:block;margin-top:7px;color:var(--green);}
.affiliate-panel small[hidden]{display:none;}

.tabs-section{margin-top:0;}
.tabs-section,.related-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 28px 28px;margin-bottom:30px;box-shadow:0 10px 30px rgba(16,34,61,.04);}
.tabs-nav{padding-top:4px;}
.tab-panel h2{margin-bottom:14px;color:var(--ink);font-size:21px;}
.description-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}
.description-points li{display:flex;align-items:center;gap:8px;padding:13px;border-radius:9px;background:#f8fafc;color:#455168;font-size:13px;}
.description-points i{color:var(--green);}
.spec-table-wrap{overflow-x:auto;}
.spec-table th,.spec-table td{padding:12px 14px;text-align:left;font-size:13.8px;}
.spec-table th{width:220px;color:var(--gray);font-weight:500;}
.spec-table tr:nth-child(odd){background:#fafbfc;}

.review-verified{display:flex;align-items:flex-start;gap:10px;max-width:290px;padding:15px;border-radius:10px;background:#f0fbf6;color:#4d6659;font-size:12px;line-height:1.5;}
.review-verified>i{color:var(--green);font-size:20px;}
.review-verified b{display:block;color:var(--ink);}
.rating-row{display:grid;grid-template-columns:48px minmax(110px,1fr) 25px;align-items:center;gap:9px;font-size:12px;color:var(--gray);}
.rating-bar{height:8px;overflow:hidden;border-radius:8px;background:var(--line);}
.rating-bar span{display:block;height:100%;border-radius:inherit;background:var(--amber);}
.reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;margin-top:26px;align-items:start;}
.review-list{display:flex;flex-direction:column;}
.review-card{padding:20px 0;border-bottom:1px solid var(--line);}
.review-card:first-child{padding-top:0;}
.review-card-header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;}
.review-author{display:flex;flex-direction:column;gap:2px;}
.review-author strong{color:var(--ink);font-size:14px;}
.review-author span{color:var(--green);font-size:11px;}
.review-date{color:var(--gray);font-size:11px;}
.review-card .review-stars{margin:10px 0 5px;color:var(--amber);}
.review-card p{margin:0;color:#4c576b;}
.review-form{padding:22px;border:1px solid var(--line);border-radius:13px;background:#fafbfc;}
.review-form h3{margin-bottom:3px;font-size:18px;}
.review-form>p{margin-bottom:16px;color:var(--gray);font-size:12px;}
.review-label{display:block;margin:12px 0 6px;color:var(--ink);font-size:12px;font-weight:700;}
.rating-picker{display:flex;gap:5px;}
.rating-picker button{color:var(--amber);font-size:22px;}
.form-control{display:block;width:100%;border:1px solid #d9deea;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit;outline:none;resize:vertical;}
.form-control:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(244,93,47,.12);}
.review-form-message{min-height:18px;margin:8px 0;font-size:12px;}
.text-danger{color:#cf283c;}.text-success{color:var(--green);}.text-muted{color:var(--gray);}.text-center{text-align:center;}
.review-submit{width:100%;padding:11px 14px;border-radius:8px;background:var(--purple);color:#fff;font-weight:700;}
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;}
.delivery-grid>div{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--line);border-radius:11px;background:#fafbfc;}
.delivery-grid i{color:var(--purple);font-size:20px;}
.delivery-grid span{color:var(--gray);font-size:12px;line-height:1.55;}
.delivery-grid b{display:block;margin-bottom:2px;color:var(--ink);font-size:13px;}

.related-section{padding-top:25px;}
.product-thumb{overflow:hidden;padding:0;}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.product-card:hover .product-thumb img{transform:scale(1.04);}
.product-brand{color:var(--purple);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;}
.related-empty{grid-column:1/-1;padding:25px;text-align:center;color:var(--gray);}

.image-zoom-modal{position:fixed;inset:0;z-index:500;display:none;grid-template-rows:auto minmax(0,1fr);background:rgba(7,15,28,.96);color:#fff;}
.image-zoom-modal.show{display:grid;}
.zoom-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;border-bottom:1px solid rgba(255,255,255,.12);}
.zoom-viewer-header>div:first-child{display:flex;flex-direction:column;}
.zoom-viewer-header small{color:#98a6bc;text-transform:uppercase;letter-spacing:.8px;}
.zoom-controls{display:flex;align-items:center;gap:8px;}
.zoom-controls button{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.1);color:#fff;}
.zoom-controls button:hover{background:var(--purple);}
.zoom-controls button:disabled{opacity:.35;}
.zoom-controls span{min-width:48px;text-align:center;font-size:12px;}
.zoom-viewer-stage{position:relative;display:grid;place-items:center;overflow:hidden;padding:30px;}
.zoom-viewer-stage img{max-width:90vw;max-height:80vh;object-fit:contain;transform:scale(var(--zoom-level,1));transition:transform .15s ease;}
.zoom-viewer-stage.zoomed{cursor:zoom-in;}
.zoom-instruction{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:7px 12px;border-radius:20px;background:rgba(0,0,0,.55);color:#dce3ed;font-size:11px;white-space:nowrap;}
.zoom-viewer-open{overflow:hidden;}

.toast{display:none;align-items:center;}
.toast.show{display:flex;}
.toast-body{white-space:nowrap;}

body[data-eshop-product] .storefront-footer{padding:0;text-align:left;color:#aeb8ca;}
body[data-eshop-product] .storefront-footer b{color:#fff;}

@media (max-width:1180px){
  .gallery,.buy-box{top:170px;}
}
@media (max-width:860px){
  .product-layout{padding:22px;}
  .gallery{margin-inline:auto;}
  .description-points,.delivery-grid{grid-template-columns:1fr;}
  .reviews-layout{grid-template-columns:1fr;}
  body[data-eshop-product] .head-actions{gap:14px;}
  body[data-eshop-product] .page-cart-action .label{display:none;}
}
@media (max-width:720px){
  body[data-eshop-product] .topbar .wrap{height:34px;}
  body[data-eshop-product] header.main .wrap{flex-wrap:wrap;}
  body[data-eshop-product] .search-bar{order:3;flex-basis:100%;max-width:100%;margin-top:4px;}
  body[data-eshop-product] .navrow{display:none;}
  body[data-eshop-product] .product-main{padding-bottom:22px;}
  .product-layout{padding:16px;gap:24px;}
  .gallery-main>img{padding:0;}
  .tabs-section,.related-section{padding-left:16px;padding-right:16px;border-radius:14px;}
  .tab-btn{padding:13px 14px;font-size:13px;}
  .product-grid{gap:10px;}
  .product-info{padding:11px;}
  .product-name{font-size:12px;}
  .review-card-header{grid-template-columns:38px minmax(0,1fr);}
  .review-date{grid-column:2;}
}
@media (max-width:480px){
  .wrap{padding-left:14px;padding-right:14px;}
  body[data-eshop-product] .account-action .label{display:none;}
  .product-layout{margin-left:-5px;margin-right:-5px;}
  .gallery-main>img{padding:0;}
  .p-price-block{gap:9px;flex-wrap:wrap;}
  .p-price-now{font-size:27px;}
  .buy-box{padding:18px;}
  .review-form{padding:17px;}
  .spec-table th{width:125px;}
  .zoom-viewer-header{padding:10px;}
  .zoom-viewer-header>div:first-child{display:none;}
  .zoom-controls{width:100%;justify-content:center;}
}
