/* 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:#ffffff; border:1px solid var(--line); border-radius:var(--radius);
    aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
    padding:0;
  }
  .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:8px; flex-wrap:wrap;}
  .size-opt{
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 16px; border:1.5px solid #d8e0ec; border-radius:8px; text-align:center;
    font-size:13px; font-weight:600; color:#334155; background:#ffffff; transition:all .2s ease; cursor:pointer;
    position:relative;
  }
  .size-opt:hover{border-color:#cbd5e1; background:#f8fafc; color:#0f172a;}
  .size-opt:not(.active)::before{
    content:""; display:inline-block; width:14px; height:14px; border-radius:50%;
    border:1.5px solid #cbd5e1; background:#ffffff; flex-shrink:0; box-sizing:border-box; transition:all .2s ease;
  }
  .size-opt.active{
    border:2px solid #15803d; background:#16a34a; color:#ffffff; font-weight:700;
    box-shadow:0 3px 10px rgba(22, 163, 74, 0.25);
  }
  .size-opt.active::before{
    content:""; display:inline-block; width:16px; height:16px; border-radius:50%;
    background-color:#ffffff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2316a34a'%3E%3Cpath fill-rule='evenodd' d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0z'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:center; background-size:10px 10px; flex-shrink:0; box-sizing:border-box;
  }
  .attr-selected-pill{
    display:inline-flex; align-items:center; gap:4px;
    background:#e8f7f0; color:#10945d; font-size:11px; font-weight:700;
    padding:2px 8px; border-radius:20px; border:1px solid #bce6d0;
    text-transform:uppercase; letter-spacing:0.3px; line-height:1.4;
  }
  .attr-selected-pill i{font-size:11px; color:#10945d;}

  /* Key Features (Star Tech / Ryans Tech Style) */
  .product-key-features{
    margin-top:20px;
    padding:16px 18px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:10px;
    box-shadow:0 1px 3px rgba(15,23,42,.03);
  }
  .key-features-heading{
    font-size:15px;
    font-weight:700;
    color:#0f172a;
    margin:0 0 12px 0;
    display:flex;
    align-items:center;
    gap:8px;
    text-transform:capitalize;
    letter-spacing:0.2px;
  }
  .key-features-heading::before{
    content:"";
    display:inline-block;
    width:4px;
    height:16px;
    background:var(--purple, #4f46e5);
    border-radius:2px;
  }
  .key-features-list{
    list-style:none !important;
    padding:0 !important;
    margin:0 0 12px 0;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .key-features-list li{
    list-style:none !important;
    display:flex;
    align-items:baseline;
    gap:8px;
    font-size:13.5px;
    line-height:1.55;
    padding:0 !important;
    margin:0;
  }
  .feat-label{
    font-weight:700;
    color:#1e293b;
    white-space:nowrap;
    flex-shrink:0;
  }
  .feat-val{
    color:#475569;
    word-break:break-word;
  }
  .key-features-view-more{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:12.5px;
    font-weight:600;
    color:var(--purple, #4f46e5);
    text-decoration:none;
    margin-top:4px;
    padding:4px 0;
    transition:color .2s ease;
  }
  .key-features-view-more:hover{
    color:var(--navy, #1e1b4b);
    text-decoration:underline;
  }
  .key-features-view-more i{
    font-size:11px;
    transition:transform .2s ease;
  }
  .key-features-view-more:hover i{
    transform:translateY(2px);
  }

  .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:var(--navy); 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(16,34,61,.35); transition:.2s;
  }
  .buy-btn-primary:hover{background:var(--purple); 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;}

  /* Rich Product Description Content */
  .product-description-content{
    font-size:14.5px;
    color:#334155;
    line-height:1.8;
    margin-bottom:20px;
  }
  .product-description-content p{margin-bottom:14px;}
  .product-description-content h1, .product-description-content h2, .product-description-content h3, .product-description-content h4{
    color:#0f172a;
    font-weight:700;
    margin:20px 0 10px;
    line-height:1.4;
  }
  .product-description-content ul, .product-description-content ol{
    padding-left:22px;
    margin-bottom:16px;
  }
  .product-description-content li{
    margin-bottom:6px;
  }
  .product-description-content table{
    width:100%;
    border-collapse:collapse;
    margin:16px 0;
    border:1px solid #e2e8f0;
    font-size:13.5px;
  }
  .product-description-content th, .product-description-content td{
    border:1px solid #e2e8f0;
    padding:10px 14px;
    text-align:left;
  }
  .product-description-content th{
    background:#f8fafc;
    font-weight:600;
    color:#1e293b;
  }
  .product-description-content img{
    max-width:100%;
    height:auto;
    border-radius:8px;
    margin:12px 0;
  }

  .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%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#ffffff;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;cursor:zoom-in;padding:0;box-sizing:border-box;}
.gallery-main>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover !important;object-position:center !important;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{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-ms-overflow-style:none;}
.thumb-row::-webkit-scrollbar{display:none;}
.thumb,.detail-thumb{width:70px;height:70px;overflow:hidden;flex:0 0 70px;border:2px solid var(--line);border-radius:10px;background:#fff;}
.thumb,.detail-thumb{display:flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;}
.thumb img,.detail-thumb img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain !important;object-position:center !important;display:block;}
.detail-thumb.active{border-color:var(--purple);box-shadow:0 0 0 2px rgba(91,61,240,0.2);}
.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:8px;flex-wrap:wrap;}
.option-buttons button{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;border:1.5px solid #d8e0ec;border-radius:8px;color:#334155;background:#ffffff;font-size:13px;font-weight:600;transition:all .2s ease;cursor:pointer;
}
.option-buttons button:hover{border-color:var(--purple-light);background:#fdfaf9;color:var(--ink);}
.option-buttons button.active{
  border:2px solid #15803d;background:#16a34a;color:#ffffff;font-weight:700;
  box-shadow:0 3px 10px rgba(22, 163, 74, 0.25);
}
.option-buttons button.active::before{
  content:"";display:inline-block;width:16px;height:16px;border-radius:50%;
  background-color:#ffffff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2316a34a'%3E%3Cpath fill-rule='evenodd' d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:10px 10px;flex-shrink:0;box-sizing:border-box;
}
.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;scrollbar-width:none;-ms-overflow-style:none;}
.tabs-nav::-webkit-scrollbar{display:none;}
.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;}
.related-section .product-card{display:flex !important;flex-direction:column !important;height:100% !important;}
.related-section .product-info{display:flex !important;flex-direction:column !important;flex:1 1 auto !important;justify-content:space-between !important;}
.related-section .product-name{min-height:2.8em;max-height:2.8em;line-height:1.4;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
.related-section .product-thumb{overflow:hidden;padding:14px;background:#f8fafc;aspect-ratio:1/1;}
.related-section .product-thumb img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain !important;object-position:center !important;transition:transform .3s ease;}
.related-section .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;}
}
