/* ==========================================================================
   Storefront / themes / default — product-detail.css
   Extracted from inline \3c style> in partials/product_detail.blade.php
   ========================================================================== */

  .sf-pd-wrap{ margin-top: 4px; }

  .sf-pd-breadcrumb{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
    margin: 0 0 10px;
    padding: 10px;
    background: #f7f7f7;
    border-radius: 10px;
    margin-top: 15px;
  }
  .sf-pd-breadcrumb a{ color:#475569; text-decoration:none; transition:color .15s ease; }
  .sf-pd-breadcrumb a:hover{ color:#0ea5e9; }
  .sf-pd-breadcrumb .sep{ color:#cbd5e1; font-size:11px; }
  .sf-pd-breadcrumb .current{ color:#0f172a; font-weight:600; }

  .sf-pd-card{
    border: 1px solid rgb(15,23,42,.08);
    border-radius: 10px;
    background: #fff;
  }

  .sf-pd-gallery{
    padding: 0;
    position: relative;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .sf-pd-gallery .sf-pd-gallery-scroller,
  .sf-pd-gallery .sf-pd-gallery-slide,
  .sf-pd-gallery .sf-pd-gallery-slide picture,
  .sf-pd-zoom-trigger{
    width: 100%;
    height: 100%;
    padding: 0 !important;
    margin: 0;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: transparent;
    clip-path: inset(0 round 10px);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  .sf-pd-zoom-trigger{
    position: relative;
    display: block;
    border: 0;
    cursor: zoom-in;
  }

  .sf-pd-zoom-hint{
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 4;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgb(15,23,42,.72);
    box-shadow: 0 8px 18px rgb(15,23,42,.22);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .16s ease, transform .16s ease;
    pointer-events: none;
  }

  .sf-pd-zoom-trigger:hover .sf-pd-zoom-hint,
  .sf-pd-zoom-trigger:focus-visible .sf-pd-zoom-hint{
    opacity: 1;
    transform: translateY(0);
  }

  .sf-pd-gallery .sf-pd-gallery-slide img{
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 !important;
    margin: 0;
    object-fit: contain !important;
    object-position: center center;
    border-radius: 10px !important;
    clip-path: inset(0 round 10px);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  .sf-pd-kazanc-badge{
    position:absolute; top:18px; right:18px; z-index:5;
    min-width:58px; min-height:58px;
    background:#f00; color:#fff; font-size:17px; font-weight:900;
    padding:10px 0; border-radius:999px;
    border:1px solid #ef4444;
    display:inline-flex; align-items:center; justify-content:center; flex-direction:column;
    line-height:1.05;
    box-shadow:0 10px 18px rgb(239,68,68,.24);
  }

  /* Ürün detayı: kart rozetinin (Yeni / Aynıgün Kargo / Stokta Yok) sol üst köşede
     gösterimi. Discount rozeti (sf-pd-kazanc-badge) sağ üstte kaldığından
     çakışmıyor. Görsel kart rozeti ile birebir aynı stil. */
  .sf-pd-gallery .sf-pd-status-tag{
    position:absolute;
    top:18px;
    left:8px;
    right:auto;
    z-index:7;
    border-radius:999px;
    padding:8px 14px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    letter-spacing:.3px;
    text-transform:uppercase;
    border:1px solid transparent;
    box-shadow:0 8px 18px rgb(15,23,42,.14);
    pointer-events:none;
  }
  .sf-pd-gallery .sf-pd-status-tag.new{ color:#14532d; background:#dcfce7; border-color:#86efac; }
  .sf-pd-gallery .sf-pd-status-tag.soldout{ color:#991b1b; background:#fee2e2; border-color:#fca5a5; }
  .sf-pd-gallery .sf-pd-status-tag.dealer-badge{ color:#fff; background:#dc2626; border-color:#dc2626; }

  .sf-pd-gallery .sf-pd-status-tag.sf-same-day-badge{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:88px;
    min-height:54px;
    padding:9px 13px 10px;
    gap:2px;
    text-align:center;
    line-height:1;
    letter-spacing:0;
    text-transform:none;
    box-shadow:0 8px 18px rgb(220,38,38,.22);
    transform: rotate(-7deg);
    transform-origin: center center;
  }

  .sf-pd-gallery .sf-pd-status-tag.sf-same-day-badge span{
    display:block;
    font-size:15px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
  }

  .sf-pd-gallery .sf-pd-status-tag.sf-same-day-badge small{
    display:block;
    font-size:11px;
    font-weight:800;
    line-height:1;
    letter-spacing:.2px;
    opacity:.95;
    white-space:nowrap;
  }

  /* İşçilik rozeti — sağ üst köşe pill. */
  .sf-pd-gallery .sf-pd-labor-badge{
    position:absolute;
    top:14px;
    right:18px;
    z-index:6;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:15px 7px;
    font-size:14px;
    font-weight:800;
    line-height:1;
    letter-spacing:.2px;
    color:#fff;
    background:rgb(0 0 0 / 88%);
    border:1px solid rgb(148,163,184,.35);
    box-shadow:0 8px 18px rgb(15,23,42,.18);
    pointer-events:none;
    max-width:calc(100% - 130px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .sf-pd-gallery .sf-pd-labor-badge i{ font-size:14px; color:#fbbf24; }

  .sf-pd-video-float{
    position:absolute;
    right:18px;
    bottom:92px;
    z-index:7;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    border:1px solid rgb(15,23,42,.14);
    border-radius:999px;
    padding:7px 12px 7px 9px;
    background:#0f172a;
    color:#fff;
    font-size:12px;
    font-weight:900;
    box-shadow:0 12px 28px rgb(15,23,42,.22);
  }

  .sf-pd-video-float i{
    width:20px;
    height:20px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f97316;
    color:#fff;
    font-size:13px;
  }

  .sf-pd-video-thumb{
    position:relative;
    overflow:hidden;
    background:#0f172a;
    border-color:#f97316;
  }

  .sf-pd-video-thumb::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgb(15,23,42,.05), rgb(15,23,42,.52));
    border-radius:8px;
  }

  .sf-pd-video-thumb__icon{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:24px;
  }

  .sf-pd-video-thumb__icon i{
    width:34px;
    height:34px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#f97316;
    box-shadow:0 8px 18px rgb(249,115,22,.28);
  }

  .sf-pd-video-modal[hidden]{
    display:none;
  }

  .sf-pd-zoom-modal[hidden]{
    display:none;
  }

  .sf-pd-video-modal{
    position:fixed;
    inset:0;
    z-index:1080;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
  }

  .sf-pd-zoom-modal{
    position:fixed;
    inset:0;
    z-index:1085;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
  }

  .sf-pd-video-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgb(2,6,23,.72);
    backdrop-filter:blur(3px);
  }

  .sf-pd-zoom-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgb(2,6,23,.82);
    backdrop-filter:blur(3px);
  }

  .sf-pd-video-modal__dialog{
    position:relative;
    z-index:1;
    width:min(960px, 100%);
    aspect-ratio:16 / 9;
    border-radius:12px;
    overflow:hidden;
    background:#020617;
    box-shadow:0 24px 70px rgb(2,6,23,.42);
  }

  .sf-pd-zoom-modal__dialog{
    position:relative;
    z-index:1;
    width:fit-content;
    max-width:calc(100vw - 48px);
    height:fit-content;
    max-height:88vh;
    overflow:visible;
    background:transparent;
    box-shadow:none;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .sf-pd-zoom-modal__dialog img{
    display:block;
    max-width:calc(100vw - 48px);
    max-height:88vh;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:10px;
    clip-path: inset(0 round 10px);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    background:transparent;
    box-shadow:0 24px 70px rgb(2,6,23,.42);
  }

  .sf-pd-video-modal__dialog iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
  }

  .sf-pd-video-modal__close{
    position:absolute;
    top:10px;
    right:10px;
    z-index:2;
    width:38px;
    height:38px;
    border:1px solid rgb(255,255,255,.16);
    border-radius:999px;
    background:rgb(15,23,42,.82);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .sf-pd-zoom-modal__close,
  .sf-pd-zoom-modal__nav{
    position:absolute;
    z-index:2;
    width:40px;
    height:40px;
    border:1px solid rgb(255,255,255,.2);
    border-radius:999px;
    background:rgb(15,23,42,.82);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .sf-pd-zoom-modal__close{
    top:10px;
    right:10px;
  }

  .sf-pd-zoom-modal__nav{
    top:50%;
    transform:translateY(-50%);
  }

  .sf-pd-zoom-modal__nav.left{ left:10px; }
  .sf-pd-zoom-modal__nav.right{ right:10px; }

  body.sf-pd-video-open,
  body.sf-pd-zoom-open{
    overflow:hidden;
  }

  @media (max-width: 480px){
    .sf-pd-gallery .sf-pd-status-tag{ top:12px; left:8px; padding:6px 11px; font-size:11px; }
    .sf-pd-gallery .sf-pd-status-tag.sf-same-day-badge{
      min-width:82px;
      min-height:50px;
      padding:8px 12px 9px;
    }
    .sf-pd-gallery .sf-pd-status-tag.sf-same-day-badge span{ font-size:14px; }
    .sf-pd-gallery .sf-pd-status-tag.sf-same-day-badge small{ font-size:10px; }
    .sf-pd-gallery .sf-pd-labor-badge{
      top:12px;
      right:12px;
      max-width:calc(100% - 118px);
      padding:13px 7px;
      font-size:13px;
    }
    .sf-pd-kazanc-badge{ top:12px; right:12px; min-width:50px; min-height:50px; font-size:14px; }
    .sf-pd-video-float{ right:12px; bottom:18px; }
  }

  /*
   * Main product image — aspect-ratio + object-fit are driven by the admin
   * settings via CSS variables defined in _head.blade.php. Keep only layout.
   */
  .sf-pd-main-image{
    position: relative; width: 100%;
    border-radius: 10px; background:#fff; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .sf-pd-main-image img{ display:block; }

  .sf-pd-gallery-scroller,
  .sf-pd-main-image{
    border-radius: 10px !important;
    background: #fff;
    overflow: hidden;
    padding: 0 !important;
    box-sizing: border-box;
  }

  .sf-pd-gallery-scroller{
    display: flex;
    width: 100%;
    scroll-snap-type: x mandatory;
    overflow: auto hidden;
  }

  .sf-pd-gallery-slide{
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    scroll-snap-align: center;
    background: #fff;
  }

  .sf-pd-gallery-slide picture,
  .sf-pd-main-image picture,
  .sf-pd-thumb picture{
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
  }

  .sf-pd-gallery-slide img,
  .sf-pd-main-image img,
  .sf-pd-thumb img,
  .sf-pd-video-thumb img{
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center center;
    padding: 0 !important;
    border-radius: 10px !important;
    background: #fff;
  }

  .sf-pd-gallery-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:36px; height:36px; border-radius:999px; border:1px solid #e5e7eb;
    background:#fff; color:#0f172a; display:inline-flex;
    align-items:center; justify-content:center;
    box-shadow:0 6px 14px rgb(2,6,23,.1); z-index:3;
  }
  .sf-pd-gallery-nav.left{ left:10px; }
  .sf-pd-gallery-nav.right{ right:10px; }

  .sf-pd-thumbs{
    display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:4px;
  }

  .sf-pd-thumb{
    width:64px; height:64px; border-radius:10px;
    border:1px solid #e5e7eb; background:#fff; padding:0; flex:0 0 auto;
    cursor:pointer; transition: border-color .15s ease;
    overflow: hidden;
  }
  .sf-pd-thumb:hover{ border-color:#0ea5e9; }
  .sf-pd-thumb img{ width:100%; height:100%; object-fit:cover !important; border-radius:10px; }

  .sf-pd-main{ padding: 4px 6px; }

  .sf-pd-title{
    margin:0; font-size:clamp(20px, 1.7vw, 26px);
    line-height:1.3; font-weight:800; color:#0f172a;
  }
  .sf-pd-brand{ margin-top:6px; font-size:13px; color:#64748b; }
  .sf-pd-brand a{ color:#2563eb; text-decoration:none; font-weight:600; }
  .sf-pd-brand a:hover{ text-decoration:underline; }

  .sf-pd-rate{
    margin-top:10px; font-size:13px; color:#334155;
  }
  .sf-pd-rate--rich{ display:flex; flex-direction:column; gap:6px; }

  .sf-pd-rate__stars-row{
    display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  }
  .sf-pd-stars{ display:inline-flex; align-items:center; gap:1px; color:#f59e0b; font-size:14px; }
  .sf-pd-rate__score{ font-weight:800; font-size:15px; color:#1e293b; }
  .sf-pd-rate__count{ color:#64748b; font-size:13px; }

  .sf-pd-rate__cart-proof{
    display:inline-flex; align-items:center; gap:7px;
    background:#fff7ed; border:1px solid #fed7aa;
    border-radius:8px; padding:5px 11px;
    font-size:13px; color:#92400e;
    overflow:hidden;
  }
  .sf-pd-rate__cart-icon{ color:#f97316; font-size:15px; line-height:1; flex-shrink:0; }

  /* Ticker wrapper */
  .sf-pd-rate__ticker-wrap{
    overflow:hidden; height:1.4em; display:inline-block;
  }

  .sf-pd-rate__ticker{
    display:flex; flex-direction:column;
    animation: sfTickerRoll 4s ease-in-out infinite;
  }

  .sf-pd-rate__ticker-item{
    height:1.4em; line-height:1.4em;
    white-space:nowrap; font-weight:600; color:#c2410c;
  }

  .sf-pd-rate__ticker-item:nth-child(2){
    font-weight:700; color:#dc2626;
  }

  @keyframes sfTickerRoll {
    0%   { transform: translateY(0); }
    30%  { transform: translateY(0); }
    45%  { transform: translateY(-1.4em); }
    70%  { transform: translateY(-1.4em); }
    85%  { transform: translateY(-2.8em); }
    100% { transform: translateY(-2.8em); }
  }

  @media (prefers-reduced-motion: reduce) {
    .sf-pd-rate__ticker { animation: none; }
  }
  .sf-pd-reviews-link{ color:#2563eb; text-decoration:none; }
  .sf-pd-reviews-link:hover{ text-decoration:underline; }
  .sf-pd-sku{ margin-top:8px; font-size:12px; color:#94a3b8; }
  .sf-pd-sku strong{ color:#475569; font-weight:700; }

  .sf-pd-short-desc{
    margin-top:14px; padding-top:14px; border-top:1px solid #e5e7eb;
    color:#475569; font-size:14px; line-height:1.7;
  }

  /* HTML kısa açıklama — ürün açıklamasıyla aynı stil */
  .sf-pd-short-desc--html{ color:#334155; }
  .sf-pd-short-desc--html p{ margin:0 0 10px; }
  .sf-pd-short-desc--html p:last-child{ margin-bottom:0; }

  .sf-pd-short-desc--html ul,
  .sf-pd-short-desc--html ol{ margin:0 0 10px; padding-left:20px; }
  .sf-pd-short-desc--html li{ margin-bottom:4px; }

  .sf-pd-short-desc--html strong,
  .sf-pd-short-desc--html b{ font-weight:700; color:#1e293b; }

  .sf-pd-short-desc--html h1,.sf-pd-short-desc--html h2,
  .sf-pd-short-desc--html h3,.sf-pd-short-desc--html h4{
    font-weight:700; margin:12px 0 6px; color:#0f172a;
  }
  .sf-pd-short-desc--html h3{ font-size:15px; }
  .sf-pd-short-desc--html h4{ font-size:14px; }

  .sf-pd-full-link{
    display:inline-flex; align-items:center; gap:5px;
    margin-top:10px; color:#2563eb;
    text-decoration:none; font-size:13px; font-weight:600;
  }
  .sf-pd-full-link:hover{ text-decoration:underline; }

  .sf-pd-delivery-promise{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid #d1fae5;
    border-radius:12px;
    background:linear-gradient(135deg,#f0fdf4,#ecfdf5);
    text-align:center;
    color:#0f172a;
    font-family: Inter, 'Helvetica Neue', sans-serif;
  }

  .sf-pd-delivery-promise__title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:18px;
    line-height:1.2;
    font-weight:500;
  }

  .sf-pd-delivery-promise__icon{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:28px;
    color:#166534;
  }

  .sf-pd-delivery-promise__icon::before,
  .sf-pd-delivery-promise__icon::after{
    content:"";
    position:absolute;
    left:-8px;
    height:3px;
    border-radius:999px;
    background:#16a34a;
    opacity:.9;
  }

  .sf-pd-delivery-promise__icon::before{
    top:8px;
    width:14px;
  }

  .sf-pd-delivery-promise__icon::after{
    top:17px;
    width:20px;
  }

  .sf-pd-delivery-promise__icon i{
    position:relative;
    z-index:1;
    font-size:26px;
    line-height:1;
    color:#166534;
    filter:drop-shadow(0 5px 10px rgb(22,101,52,.18));
  }

  .sf-pd-delivery-promise__date{
    margin-top:8px;
    font-size:15px;
    line-height:1.35;
    font-weight:900;
  }

  .sf-pd-delivery-promise__text{
    margin-top:4px;
    font-size:17px;
    line-height:1.35;
    font-weight:500;
  }

  .sf-pd-pricecard{ padding:16px; }

  .sf-pd-price-row{
    display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  }

  .sf-pd-price-row--center{
    justify-content:center;
    text-align:center;
    width:100%;
  }

  .sf-pd-price-row--center .sf-pd-price{
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }

  .sf-pd-price--hero{
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .sf-pd-price{
    font-size: clamp(28px, 2.4vw, 36px);
    line-height: 1; font-weight: 900;
    color:#0f172a; letter-spacing:-.5px;
  }

  .sf-pd-old{
    font-size:18px; color:#94a3b8;
    text-decoration:line-through; font-weight:600;
  }

  .sf-pd-kazanc-text{
    margin-top:8px; color:#16a34a; font-size:13px; font-weight:700;
  }

  .sf-pd-price-login{
    font-size:14px; font-weight:700; color:#334155;
    padding:8px 0;
  }

  .sf-pd-shipping-info{
    margin-top:14px; padding:10px 12px;
    background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px;
    display:flex; align-items:flex-start; gap:10px;
  }
  .sf-pd-shipping-info i{ color:#0f172a; font-size:18px; margin-top:2px; }

  .sf-pd-shipping-info .sf-pd-ship-t{
    font-size:13px; font-weight:800; color:#0f172a;
  }

  .sf-pd-shipping-info .sf-pd-ship-v{
    font-size:12px; color:#64748b; margin-top:2px;
  }

  .sf-pd-stock-row{
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    min-height:44px;
    border-radius:10px; padding:5px 12px;
    font-size:12px; font-weight:800;
    border:1px solid #86efac; color:#166534; background:#dcfce7;
    white-space:nowrap;
  }

  .sf-pd-stock-row.out{
    border-color:#fca5a5; color:#991b1b; background:#fee2e2;
  }

  .sf-pd-purchase-meta-row{
    margin-top:14px;
    display:flex;
    align-items:stretch;
    gap:8px;
    flex-wrap:wrap;
  }

  .sf-pd-qty{
    display:inline-flex; align-items:center;
    border:1px solid #e5e7eb; border-radius:10px;
    overflow:hidden; background:#fff;
  }

  .sf-pd-qty button{
    width:42px; height:42px; border:0; background:#fff;
    color:#0f172a; font-size:18px; font-weight:700;
    cursor:pointer;
  }
  .sf-pd-qty button:hover{ background:#f1f5f9; }

  .sf-pd-qty input{
    width:54px; height:42px; border:0;
    border-left:1px solid #e5e7eb; border-right:1px solid #e5e7eb;
    text-align:center; font-size:15px; font-weight:700;
    color:#0f172a; background:#fff; outline:none;
  }

  .sf-pd-buy-col{ margin-top:12px; display:flex; flex-direction:column; gap:8px; }

  .sf-pd-add{
    min-height:48px; border:0; border-radius:10px;
    padding:0 14px; background:#0f172a; color:#fff;
    font-size:15px; font-weight:800; letter-spacing:-.2px;
    display:inline-flex; align-items:center; justify-content:center;
    gap:8px; cursor:pointer;
    transition: background .15s ease, transform .1s ease;
  }
  .sf-pd-add:hover:not([disabled]){ background:#1e293b; }
  .sf-pd-add:disabled{ background:#94a3b8; cursor:not-allowed; }

  .sf-pd-buy-now{
    min-height:44px; border:1px solid #e5e7eb; border-radius:10px;
    padding:0 14px; background:#f1f5f9; color:#0f172a;
    font-size:14px; font-weight:700;
    display:inline-flex; align-items:center; justify-content:center;
    gap:8px; cursor:pointer; text-decoration:none;
    transition: background .15s ease;
  }
  .sf-pd-buy-now:hover{ background:#e2e8f0; color:#0f172a; }

  .sf-pd-icon-row{
    margin-top:10px; display:flex; gap:8px;
  }

  .sf-pd-icon-btn{
    flex:1; min-height:40px; border-radius:10px;
    border:1px solid #e5e7eb; background:#fff; color:#475569;
    display:inline-flex; align-items:center; justify-content:center;
    gap:6px; font-size:13px; font-weight:600; cursor:pointer;
    transition: border-color .15s ease, color .15s ease;
  }
  .sf-pd-icon-btn:hover{ border-color:#0f172a; color:#0f172a; }
  .sf-pd-icon-btn i{ font-size:15px; }

  .sf-pd-seller-row{
    margin-top:14px; padding-top:12px; border-top:1px solid #e5e7eb;
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; font-size:13px; color:#475569; flex-wrap:wrap;
  }
  .sf-pd-seller-row strong{ color:#0f172a; }
  .sf-pd-seller-row a{ color:#2563eb; text-decoration:none; font-weight:600; }
  .sf-pd-seller-row a:hover{ text-decoration:underline; }

  .sf-pd-share{
    margin-top:10px; display:flex; align-items:center; gap:10px;
    font-size:13px; color:#64748b;
  }

  .sf-pd-share a{
    width:30px; height:30px; border-radius:999px;
    border:1px solid #e5e7eb; color:#475569;
    display:inline-flex; align-items:center; justify-content:center;
    text-decoration:none; transition: all .15s ease;
  }
  .sf-pd-share a:hover{ border-color:#0f172a; color:#0f172a; }

  .sf-pd-slip{ margin-top:10px; }

  .sf-pd-slip .sf-secondary{
    width:100%; justify-content:center; border-radius:10px !important;
    min-height:38px; color:#334155 !important; font-size:13px !important;
  }

  /* ==========================================================================
     Segmented Tabs (Description / Installments / Payment)
     ========================================================================== */
  .sf-pd-tabs{ margin-top: 28px; }

  .sf-pd-tab-head{
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .sf-pd-tab-head::-webkit-scrollbar{ display: none; }

  .sf-pd-tab-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    border-radius: 8px;
    white-space: nowrap;
    transition: color .18s ease, background .18s ease, box-shadow .18s ease;
  }
  .sf-pd-tab-btn i{ font-size: 15px; }

  .sf-pd-tab-btn:hover{
    color: #0f172a;
    background: rgb(255,255,255,.6);
  }

  .sf-pd-tab-btn.active{
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 2px rgb(15,23,42,.06), 0 4px 8px rgb(15,23,42,.04);
  }

  .sf-pd-tab-panel{
    display: none;
    padding: 22px 4px 4px;
    color: #334155;
    line-height: 1.8;
    font-size: 14px;
  }
  .sf-pd-tab-panel.active{ display: block; }
  .sf-pd-tab-panel .sf-product-desc{ color: #334155; line-height: 1.8; font-size: 14px; }
  .sf-pd-tab-panel .sf-product-desc p{ margin: 0 0 12px; }
  .sf-pd-tab-panel .sf-product-desc p:last-child{ margin-bottom: 0; }

  .sf-pd-tab-panel .sf-product-desc ul,
  .sf-pd-tab-panel .sf-product-desc ol{ margin: 0 0 12px; padding-left: 22px; }
  .sf-pd-tab-panel .sf-product-desc li{ margin-bottom: 5px; }

  .sf-pd-tab-panel .sf-product-desc table{
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    margin: 10px 0 14px;
    overflow-wrap: anywhere;
  }

  .sf-pd-tab-panel .sf-product-desc th,
  .sf-pd-tab-panel .sf-product-desc td{
    border: 1px solid #e5e7eb;
    padding: 8px 10px;
    vertical-align: top;
  }
  .sf-pd-tab-panel .sf-product-desc img{ display:block; max-width:100%; width:auto; height:auto !important; object-fit:contain; border-radius:10px; margin:10px 0; }
  .sf-desc-acc--has-media > .sf-desc-acc-inner{ max-height:none; overflow:visible; }
  .sf-desc-acc--has-media > .sf-desc-acc-toggle{ display:none !important; }

  .sf-desc-acc{ position: relative; }

  .sf-desc-acc-inner{
    max-height: 140px;
    overflow: hidden;
    transition: max-height .35s ease;
  }

  .sf-desc-acc-inner.is-expanded{
    max-height: 5000px;
    overflow: visible;
  }

  .sf-desc-acc-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 16px;
    padding: 11px 24px;
    border: 2px solid #2563eb;
    border-radius: 10px;
    background: #fff;
    color: #2563eb;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background .18s, color .18s;
  }
  .sf-desc-acc-toggle:hover{ background:#2563eb; color:#fff; }
  .sf-desc-acc-toggle[hidden]{ display:none !important; }

  .sf-desc-acc:not(.is-collapsible) > .sf-desc-acc-inner{
    max-height: none;
    overflow: visible;
  }

  /* ==========================================================================
     PayTR taksit tablosu — PayTR'ın .taksit-tablosu-wrapper / .taksit-tutari
     class'larını koruyarak responsive ve şık hale getir.
     ========================================================================== */
  .sf-paytr-installments{
    display: block;
    margin: 0;
    padding: 0;
    background: transparent;
  }

  .sf-paytr-installments #paytr_taksit_tablosu,
  .sf-paytr-taksit-table#paytr_taksit_tablosu{
    max-width: 100%;
    text-align: center;
    font-family: inherit;
    font-size: 12px;
  }

  /* Her banka kartı */
  .sf-paytr-installments .taksit-tablosu-wrapper{
    display: inline-block;
    vertical-align: top;
    width: 280px;
    margin: 6px;
    padding: 14px 12px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15,23,42,.04);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    text-align: center;
    cursor: default;
    box-sizing: border-box;
  }

  .sf-paytr-installments .taksit-tablosu-wrapper:hover{
    border-color: #cbd5e1;
    box-shadow: 0 6px 14px rgb(15,23,42,.06);
    transform: translateY(-1px);
  }

  /* Banka logosu */
  .sf-paytr-installments .taksit-logo{
    display: block;
    margin-bottom: 10px;
    min-height: 32px;
  }

  .sf-paytr-installments .taksit-logo img{
    max-height: 28px !important;
    max-width: 130px !important;
    width: auto !important;
    height: auto !important;
    padding-bottom: 0 !important;
    margin: 0 auto !important;
    display: inline-block !important;
    object-fit: contain;
  }

  /* Header sütunları (Taksit Tutarı | Toplam Tutar) — PayTR'ın float düzeni */
  .sf-paytr-installments .taksit-tutari-text{
    float: left;
    width: 50%;
    margin-bottom: 6px;
    color: #94a3b8;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .3px;
    padding: 4px 0;
  }

  /* Veri satır kapsayıcısı */
  .sf-paytr-installments .taksit-tutar-wrapper{
    display: inline-block;
    width: 100%;
    background: #f8fafc;
    border-radius: 6px;
    margin-bottom: 4px;
    overflow: hidden;
    transition: background-color .15s ease;
  }

  .sf-paytr-installments .taksit-tutar-wrapper:hover{
    background: #eef2f6;
  }

  /* Veri hücreleri */
  .sf-paytr-installments .taksit-tutari{
    float: left;
    width: 50%;
    padding: 7px 0;
    color: #0f172a;
    border: 2px solid #fff;
    font-size: 12px;
    box-sizing: border-box;
  }

  .sf-paytr-installments .taksit-tutari-bold{
    font-weight: 700;
    color: #0f766e;
  }

  /* Float clear: her wrapper sonrası temizleme */
  .sf-paytr-installments .taksit-tablosu-wrapper::after,
  .sf-paytr-installments .taksit-tutar-wrapper::after{
    content: "";
    display: table;
    clear: both;
  }

  @media (max-width: 1199.98px){
    .sf-pd-title{ font-size:20px; }
    .sf-pd-price{ font-size:28px; }
  }

  @media (max-width: 991.98px){
    .sf-pd-main{ padding: 12px 6px; }
    .sf-pd-pricecard{ padding:14px; }
  }

  @media (max-width: 768px){
    .sf-pd-wrap{ margin-top: 0; }

    .sf-pd-gallery{
      padding: 0;
      position: relative;
    }
    .sf-pd-thumb{ width:56px; height:56px; }

    .sf-pd-tabs{ margin-top: 18px; }

    .sf-pd-tab-head{
      width: 100%;
      display: flex;
      gap: 2px;
      padding: 3px;
      border-radius: 10px;
    }

    .sf-pd-tab-btn{
      flex: 1 1 auto;
      padding: 9px 8px;
      font-size: 12px;
      gap: 5px;
      justify-content: center;
    }

    .sf-pd-tab-btn span{
      display: inline-block;
      max-width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sf-pd-tab-btn i{ font-size: 14px; }
    .sf-pd-tab-panel{ padding: 16px 0 4px; }

    .sf-paytr-installments .taksit-tablosu-wrapper{
      display: block;
      width: 100%;
      max-width: 100%;
      margin: 6px 0;
    }

    .sf-paytr-installments .taksit-tutari-text,
    .sf-paytr-installments .taksit-tutari{
      width: 50%;
      font-size: 12px;
    }

    .sf-paytr-installments .taksit-logo img{
      max-height: 24px !important;
      max-width: 110px !important;
    }
  }

  .sf-pd-gallery{
    padding: 0;
    position: relative;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .sf-pd-gallery .sf-pd-gallery-scroller,
  .sf-pd-gallery .sf-pd-gallery-slide,
  .sf-pd-gallery .sf-pd-gallery-slide picture,
  .sf-pd-gallery .sf-pd-gallery-slide img,
  .sf-pd-zoom-trigger{
    width: 100%;
    height: 100%;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    clip-path: inset(0 round 10px);
    -webkit-mask-image: -webkit-radial-gradient(white, black);
  }

  @media (max-width: 767.98px){
    .sf-pd-zoom-modal{
      padding:12px;
    }

    .sf-pd-zoom-modal__dialog,
    .sf-pd-zoom-modal__dialog img{
      max-width:calc(100vw - 24px);
      max-height:82vh;
    }

    .sf-pd-zoom-modal__close,
    .sf-pd-zoom-modal__nav{
      width:36px;
      height:36px;
    }

    .sf-pd-zoom-modal__close{
      top:8px;
      right:8px;
    }

    .sf-pd-zoom-modal__nav.left{ left:8px; }
    .sf-pd-zoom-modal__nav.right{ right:8px; }
  }

  .sf-pd-gallery .sf-pd-gallery-slide img{
    display: block;
    object-fit: contain !important;
    object-position: center center;
  }

  @media (max-width: 420px){
    .sf-pd-tab-btn span{ font-size: 11px; }
    .sf-pd-tab-btn i{ display: none; }
  }

  /* Bar reklamları — product_detail kancası
     Üst navbar’a yapışmayı önlemek için üst margin; yatay -15px ana sayfa içindir, PDP’de yok */
  .sf-dealer-promo-banner.sf-bar-ad--product_detail {
    margin: 22px 0 18px 0;
    border-radius: 12px;
    max-width: 100%;
    box-sizing: border-box;
  }

  @media (max-width: 768px) {
    .sf-dealer-promo-banner.sf-bar-ad--product_detail {
      margin-top: 14px;
      margin-bottom: 14px;
      padding-inline: 12px;
    }
  }

  @media (max-width: 420px) {
    .sf-dealer-promo-banner.sf-bar-ad--product_detail {
      margin-top: 12px;
      margin-bottom: 12px;
    }
  }

  /* Toplu alım — ürün görselli, kampanya başına tek kart */
  .sf-bulk-deals {
    margin: 16px 0 10px;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
  }

  .sf-bulk-deals--pricecard {
    margin: 14px 0 12px;
  }

  .sf-bulk-deals__title-row {
    margin-bottom: 10px;
    text-align: center;
  }

  .sf-bulk-deals__title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .sf-bulk-deals__list {
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .sf-bulk-tier {
    position: relative;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    overflow: hidden;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
  }

  .sf-bulk-tier--active {
    border-color: #f97316;
    background: #fff7ed;
    box-shadow: 0 10px 24px rgb(249, 115, 22, .12);
  }

  .sf-bulk-tier:hover {
    border-color: #f97316;
    transform: translateY(-1px);
  }

  .sf-bulk-tier::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, #f97316, #ec4899);
    opacity: 0;
    transition: opacity .16s ease;
  }

  .sf-bulk-tier--active::after {
    opacity: 1;
  }

  .sf-bulk-tier__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    min-height: 76px;
    cursor: pointer;
  }

  .sf-bulk-tier__row:focus-visible {
    outline: 3px solid rgb(249, 115, 22, .26);
    outline-offset: -3px;
  }

  .sf-bulk-tier__media {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .sf-bulk-tier__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }

  .sf-bulk-tier__media i {
    color: #94a3b8;
    font-size: 20px;
  }

  .sf-bulk-tier__body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  .sf-bulk-tier__headline {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex-wrap: wrap;
  }

  .sf-bulk-tier__label {
    min-width: 0;
    font-size: 16px;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.1;
  }

  .sf-bulk-tier__ship {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 7px;
    border: 1px solid #94a3b8;
    border-radius: 5px;
    background: #fff;
    color: #111827;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
  }

  .sf-bulk-tier__prices {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 5px;
    line-height: 1.2;
    margin-left: auto;
  }

  .sf-bulk-tier__discount {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:24px;
    padding:3px 10px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
    box-shadow:0 8px 16px rgb(239,68,68,.22);
  }

  .sf-bulk-tier__now {
    font-size: 18px;
    font-weight: 900;
    color: #f97316;
    white-space: nowrap;
  }

  .sf-bulk-tier__was {
    font-size: 13px;
    color: #9ca3af;
    text-decoration: line-through;
    font-weight: 800;
    white-space: nowrap;
  }

  .sf-bulk-tier__each {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 5px;
    background: linear-gradient(90deg, #f97316, #ec4899);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
  }

  .sf-bulk-tier__cta {
    position: absolute;
    inset: 0;
    opacity: 0;
    border: 0;
    padding: 0;
    cursor: pointer;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__row {
    gap: 8px;
    padding: 8px;
    min-height: 68px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__media {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__body {
    gap: 5px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__label {
    font-size: 14px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__ship {
    min-height: 19px;
    padding-inline: 5px;
    font-size: 10px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__each {
    min-height: 21px;
    padding: 3px 6px;
    font-size: 10px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__prices {
    gap: 3px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__discount {
    min-width: 38px;
    min-height: 21px;
    padding: 2px 8px;
    font-size: 11px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__now {
    font-size: 15px;
  }

  .sf-bulk-deals--pricecard .sf-bulk-tier__was {
    font-size: 11px;
  }

  @media (max-width: 520px) {
    .sf-bulk-deals {
      margin-top: 14px;
    }

    .sf-bulk-tier__row {
      gap: 8px;
      padding: 9px;
      min-height: 70px;
    }

    .sf-bulk-tier__media {
      flex-basis: 46px;
      width: 46px;
      height: 46px;
    }

    .sf-bulk-tier__label {
      font-size: 14px;
    }

    .sf-bulk-tier__ship {
      font-size: 10px;
      min-height: 19px;
      padding-inline: 5px;
    }

    .sf-bulk-tier__prices {
      gap: 3px;
    }

    .sf-bulk-tier__now {
      font-size: 15px;
    }

    .sf-bulk-tier__was {
      font-size: 12px;
    }

    .sf-bulk-tier__each {
      font-size: 10px;
      min-height: 21px;
      padding-inline: 6px;
    }
  }

/* ── Mobilde ürün kısa açıklama gizle ── */
@media (max-width: 991px) {
  .sf-pd-short-desc,
  .sf-pd-short-desc--html {
    display: none !important;
  }
}

/* ════════════════════════════════════════════════
   Ücretsiz Kargo Badge (.sf-pd-free-ship-badge)
   — "Tükenmeden al!" ile aynı ölçü/stil, farklı renk
   ════════════════════════════════════════════════ */
.sf-pd-free-ship-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 8px;
  padding: 5px 11px;
  font-size: 13px;
  color: #1e40af;
  overflow: hidden;
}

.sf-pd-free-ship-badge__icon {
  color: #2563eb;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}

.sf-pd-free-ship-badge__ticker-wrap {
  overflow: hidden;
  height: 1.4em;
  display: inline-block;
}

.sf-pd-free-ship-badge__ticker {
  display: flex;
  flex-direction: column;
  animation: sfFreeShipTick 5s ease-in-out infinite;
}

.sf-pd-free-ship-badge__ticker-item {
  height: 1.4em;
  line-height: 1.4em;
  white-space: nowrap;
  font-weight: 600;
  color: #1d4ed8;
}

.sf-pd-free-ship-badge__ticker-item:nth-child(2) {
  font-weight: 800;
  color: #1e40af;
}

@keyframes sfFreeShipTick {
  0%   { transform: translateY(0); }
  35%  { transform: translateY(0); }
  48%  { transform: translateY(-1.4em); }
  75%  { transform: translateY(-1.4em); }
  88%  { transform: translateY(-2.8em); }
  100% { transform: translateY(-2.8em); }
}

@media (prefers-reduced-motion: reduce) {
  .sf-pd-free-ship-badge__ticker { animation: none; }
}

/* Marka + SKU aynı satırda */
.sf-pd-brand-sku {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.sf-pd-brand-sku__sep {
  color: #cbd5e1;
  font-size: 14px;
}

/* Alternatif satış kanalları */
.sf-ext-buy {
  margin-top: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 12px;
  background: #fff;
  padding: 12px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}

.sf-ext-buy--below_summary {
  margin-top: 16px;
}

.sf-ext-buy--before_tabs {
  max-width: var(--sf-layout-max-width, 1360px);
  margin: 18px auto 14px;
}

.sf-ext-buy__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.sf-ext-buy__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.sf-ext-buy--before_tabs .sf-ext-buy__grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.sf-ext-buy__item {
  display: grid;
  grid-template-columns: 42px 1fr 18px;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 8px 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 10px;
  color: #0f172a;
  background: linear-gradient(180deg, #fff, #fbfdff);
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.sf-ext-buy__item:hover {
  color: #0f172a;
  text-decoration: none;
  transform: translateY(-1px);
  border-color: rgba(15, 23, 42, .18);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
}

.sf-ext-buy__logo {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: var(--sf-ext-color, #0f172a);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}

.sf-ext-buy__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
  background: #fff;
}

.sf-ext-buy__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sf-ext-buy__label {
  display: block;
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.sf-ext-buy__sub {
  color: #64748b;
  font-size: 11px;
  line-height: 1.2;
}

.sf-ext-buy__price {
  color: var(--sf-ext-color, #0f172a);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.sf-ext-buy__item > i {
  color: #94a3b8;
  font-size: 15px;
}

@media (max-width: 991.98px) {
  .sf-ext-buy {
    border-radius: 10px;
    padding: 10px;
  }

  .sf-ext-buy--before_tabs {
    margin-left: 12px;
    margin-right: 12px;
  }

  .sf-ext-buy__item {
    grid-template-columns: 38px 1fr 16px;
    min-height: 52px;
  }

  .sf-ext-buy__logo {
    width: 38px;
    height: 38px;
    border-radius: 9px;
  }
}

/* PDP gallery mask: the outer viewport is the only clipping surface. */
.sf-pd-gallery-viewport {
  width: 100%;
  aspect-ratio: var(--sf-product-card-ratio, 1 / 1);
  max-height: min(72vh, 760px);
  border-radius: 10px !important;
  overflow: hidden !important;
  contain: paint;
  isolation: isolate;
  transform: translateZ(0);
  background: #fff;
}

.sf-pd-gallery-viewport .sf-pd-gallery-scroller {
  width: 100%;
  height: 100% !important;
  max-height: none !important;
  border-radius: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
}

.sf-pd-gallery-viewport .sf-pd-gallery-slide,
.sf-pd-gallery-viewport .sf-pd-gallery-slide picture,
.sf-pd-gallery-viewport .sf-pd-zoom-trigger,
.sf-pd-gallery-viewport .sf-pd-gallery-slide img {
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
}

.sf-pd-gallery-viewport .sf-pd-gallery-slide img {
  display: block;
  padding: 0 !important;
}

.sf-pd-zoom-modal__image-frame {
  max-width: calc(100vw - 48px);
  max-height: 88vh;
  border-radius: 10px !important;
  overflow: hidden !important;
  contain: paint;
  isolation: isolate;
  transform: translateZ(0);
  background: transparent;
  box-shadow: 0 24px 70px rgb(2, 6, 23, .42);
}

.sf-pd-zoom-modal__image-frame img {
  display: block;
  max-width: calc(100vw - 48px);
  max-height: 88vh;
  width: auto;
  height: auto;
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  box-shadow: none !important;
}

@media (max-width: 991.98px) {
  .sf-pd-gallery-viewport {
    max-height: min(58vh, 560px);
  }
}

@media (max-width: 767.98px) {
  .sf-pd-zoom-modal__image-frame,
  .sf-pd-zoom-modal__image-frame img {
    max-width: calc(100vw - 24px);
    max-height: 82vh;
  }
}
