/* =========================================================
   Sports Vault Arena Shop / Sales Catalogue
   Public catalogue + product management UI.
   Uses the existing landing.css theme variables.
   ========================================================= */

.shop-page,
.shop-admin-page{
  min-height:100svh;
  background:var(--ink-navy);
  color:var(--line-white);
}

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.shop-hero{
  position:relative;
  overflow:hidden;
  padding:96px 0 76px;
  background:
    radial-gradient(circle at 8% 20%,rgba(255,68,56,.22),transparent 30%),
    radial-gradient(circle at 82% 22%,rgba(255,182,39,.16),transparent 32%),
    linear-gradient(135deg,rgba(7,23,39,.98),rgba(18,60,100,.92));
  border-bottom:1px solid rgba(255,255,255,.08);
}

.shop-hero:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.18) 49% 50%,transparent 51% 100%),
    linear-gradient(0deg,transparent 0 48%,rgba(255,255,255,.18) 49% 50%,transparent 51% 100%);
  background-size:90px 90px;
  pointer-events:none;
}

.shop-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:34px;
  align-items:center;
}

.shop-hero-copy h1{
  font-size:clamp(2.5rem,6vw,5rem);
  max-width:13ch;
  margin-bottom:20px;
}

.shop-hero-copy h1 span{
  color:var(--cork-red);
}

.shop-hero-copy p{
  max-width:720px;
  color:#D8E6F4;
  font-size:1.06rem;
  text-align:justify;
}

.shop-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.shop-hero-panel{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.shop-hero-card{
  padding:24px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 18px 52px rgba(0,0,0,.22);
}

.shop-hero-card strong{
  display:block;
  color:var(--champion-gold);
  font-family:'Space Mono',monospace;
  font-size:2.2rem;
  line-height:1;
}

.shop-hero-card span{
  display:block;
  margin-top:8px;
  color:#C7D7E5;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
}

.shop-toolbar-section{
  position:sticky;
  top:68px;
  z-index:40;
  padding:18px 0;
  background:rgba(7,23,39,.86);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}

.shop-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,280px);
  gap:14px;
  align-items:center;
}

.shop-search-wrap input,
.shop-sort-wrap select,
.shop-form-control,
.shop-form-select,
.shop-form-textarea{
  width:100%;
  min-height:48px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;
  padding:12px 18px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.shop-form-textarea{
  min-height:112px;
  border-radius:18px;
  resize:vertical;
}

.shop-search-wrap input:focus,
.shop-sort-wrap select:focus,
.shop-form-control:focus,
.shop-form-select:focus,
.shop-form-textarea:focus{
  border-color:rgba(255,182,39,.72);
  box-shadow:0 0 0 4px rgba(255,182,39,.12);
  background:rgba(255,255,255,.11);
}

.shop-sort-wrap select option,
.shop-form-select option{
  color:#111;
}

.shop-filter-pills{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}

.shop-filter-pill{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.055);
  color:#fff;
  border-radius:999px;
  padding:9px 14px;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.shop-filter-pill:hover,
.shop-filter-pill.is-active{
  transform:translateY(-1px);
  background:rgba(255,182,39,.16);
  border-color:rgba(255,182,39,.55);
  color:var(--champion-gold);
}

.shop-section{
  padding:70px 0;
}

.shop-section:nth-of-type(even){
  background:linear-gradient(180deg,rgba(18,60,100,.18),rgba(7,23,39,.12));
}

.shop-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}

.shop-section-head h2{
  margin:0 0 8px;
  font-size:clamp(1.75rem,3vw,2.6rem);
}

.shop-section-head p{
  color:#C8D6E4;
  max-width:680px;
}

.shop-slider-actions{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}

.shop-slider-btn{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.shop-slider-btn:hover{
  transform:translateY(-2px);
  background:var(--cork-red);
  border-color:var(--cork-red);
}

.shop-carousel,
.shop-featured-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 66px) / 4);
  gap:22px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:4px 2px 22px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,182,39,.6) rgba(255,255,255,.08);
}

.shop-carousel::-webkit-scrollbar,
.shop-featured-track::-webkit-scrollbar{
  height:8px;
}

.shop-carousel::-webkit-scrollbar-track,
.shop-featured-track::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border-radius:999px;
}

.shop-carousel::-webkit-scrollbar-thumb,
.shop-featured-track::-webkit-scrollbar-thumb{
  background:rgba(255,182,39,.65);
  border-radius:999px;
}

.shop-product-card{
  scroll-snap-align:start;
  min-width:0;
  display:flex;
  flex-direction:column;
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 45px rgba(0,0,0,.24);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}

.shop-product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,182,39,.36);
  background:rgba(255,255,255,.09);
  box-shadow:0 22px 64px rgba(0,0,0,.32);
}

.shop-product-card.is-hidden{
  display:none!important;
}

.shop-product-image-wrap{
  position:relative;
  aspect-ratio:4 / 3;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
  overflow:hidden;
}

.shop-product-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.shop-product-card:hover .shop-product-image-wrap img{
  transform:scale(1.06);
}

.shop-product-image-wrap.has-image-error::before{
  content:"🏸";
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:4rem;
  background:
    radial-gradient(circle at 20% 20%,rgba(255,182,39,.22),transparent 32%),
    linear-gradient(135deg,rgba(18,60,100,.8),rgba(7,23,39,.95));
}

.shop-product-image-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:4rem;
  background:
    radial-gradient(circle at 20% 20%,rgba(255,182,39,.22),transparent 32%),
    linear-gradient(135deg,rgba(18,60,100,.8),rgba(7,23,39,.95));
}

.shop-product-badges{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.shop-stock-badge,
.shop-ribbon-badge,
.shop-discount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  font-size:.66rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.shop-stock-badge.is-in{
  background:rgba(4,99,7,.88);
  color:#fff;
}

.shop-stock-badge.is-out{
  background:rgba(255,68,56,.92);
  color:#fff;
}

.shop-ribbon-badge{
  background:rgba(255,182,39,.95);
  color:#071727;
}

.shop-product-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:18px;
}

.shop-product-category{
  color:var(--champion-gold);
  font-family:'Space Mono',monospace;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:7px;
}

.shop-product-body h3{
  margin:0 0 7px;
  color:#fff;
  font-size:1.02rem;
}

.shop-product-brand,
.shop-product-desc{
  color:#C8D6E4;
  font-size:.86rem;
  line-height:1.5;
}

.shop-product-brand{
  margin-bottom:6px;
  color:#9FB5CA;
  font-weight:800;
}

.shop-product-desc{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.58em;
}

.shop-price-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.shop-mrp{
  color:#9FB5CA;
  text-decoration:line-through;
  font-weight:800;
  font-size:.85rem;
}

.shop-discount{
  background:rgba(255,68,56,.15);
  color:#ffb4af;
  border:1px solid rgba(255,68,56,.26);
}

.shop-selling-price{
  margin-top:5px;
  color:#fff;
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:.02em;
}

.shop-empty-category,
.shop-empty-filter{
  padding:24px;
  border-radius:var(--radius);
  border:1px dashed rgba(255,255,255,.22);
  background:rgba(255,255,255,.04);
  color:#C8D6E4;
  text-align:center;
}

.shop-contact-band{
  padding:70px 0 90px;
  background:linear-gradient(135deg,rgba(255,68,56,.18),rgba(18,60,100,.35));
}

.shop-contact-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:30px;
  border-radius:26px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:var(--shadow);
}

.shop-contact-card h2{
  font-size:clamp(1.7rem,3vw,2.5rem);
  margin-bottom:10px;
}

.shop-contact-card p{
  max-width:760px;
  color:#C8D6E4;
}

.shop-contact-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* Admin */
.shop-admin-shell{
  padding:34px 0 70px;
}

.shop-admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:24px;
}

.shop-admin-head h1{
  font-size:clamp(2rem,4vw,3.4rem);
  margin-bottom:8px;
}

.shop-admin-head p{
  color:#C8D6E4;
}

.shop-admin-grid{
  display:grid;
  grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}

.shop-admin-card{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  box-shadow:0 20px 52px rgba(0,0,0,.24);
  padding:22px;
}

.shop-admin-card h2{
  font-size:1.45rem;
  margin-bottom:16px;
}

.shop-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.shop-form-group{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.shop-form-group.is-full{
  grid-column:1 / -1;
}

.shop-form-group label{
  color:#EAF2FA;
  font-weight:800;
  font-size:.82rem;
}

.shop-form-checks{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.shop-form-check{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  font-weight:800;
  color:#fff;
}

.shop-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.shop-alert{
  padding:13px 16px;
  border-radius:16px;
  margin-bottom:16px;
  font-weight:800;
}

.shop-alert-success{
  background:rgba(4,99,7,.20);
  border:1px solid rgba(4,99,7,.35);
  color:#bdf8c2;
}

.shop-alert-danger{
  background:rgba(255,68,56,.18);
  border:1px solid rgba(255,68,56,.36);
  color:#ffd2cf;
}

.shop-admin-table-wrap{
  overflow:auto;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
}

.shop-admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:860px;
}

.shop-admin-table th,
.shop-admin-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.09);
  vertical-align:middle;
}

.shop-admin-table th{
  color:var(--champion-gold);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:rgba(7,23,39,.45);
}

.shop-admin-table td{
  color:#EAF2FA;
  font-size:.88rem;
}

.shop-admin-thumb{
  width:58px;
  height:50px;
  border-radius:12px;
  object-fit:cover;
  background:rgba(255,255,255,.08);
}

.shop-admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.shop-admin-link,
.shop-admin-danger{
  border:0;
  border-radius:999px;
  padding:7px 11px;
  font-weight:900;
  font-size:.76rem;
  text-decoration:none;
  cursor:pointer;
}

.shop-admin-link{
  background:rgba(255,182,39,.16);
  color:var(--champion-gold);
}

.shop-admin-danger{
  background:rgba(255,68,56,.16);
  color:#ffb4af;
}

@media (max-width:1100px){
  .shop-carousel,
  .shop-featured-track{
    grid-auto-columns:calc((100% - 44px) / 3);
  }

  .shop-admin-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:780px){
  .shop-hero{
    padding:70px 0 54px;
  }

  .shop-hero-grid,
  .shop-contact-card{
    grid-template-columns:1fr;
  }

  .shop-toolbar-section{
    position:relative;
    top:auto;
  }

  .shop-toolbar{
    grid-template-columns:1fr;
  }

  .shop-section{
    padding:52px 0;
  }

  .shop-section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .shop-carousel,
  .shop-featured-track{
    grid-auto-columns:calc((100% - 16px) / 2);
    gap:16px;
  }

  .shop-contact-actions{
    justify-content:flex-start;
  }

  .shop-form-grid,
  .shop-form-checks{
    grid-template-columns:1fr;
  }

  .shop-admin-head{
    flex-direction:column;
  }
}

@media (max-width:520px){
  .shop-carousel,
  .shop-featured-track{
    grid-auto-columns:82%;
  }

  .shop-filter-pills{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px;
  }

  .shop-filter-pill{
    flex:0 0 auto;
  }

  .shop-product-body{
    padding:15px;
  }

  .shop-selling-price{
    font-size:1.18rem;
  }

  .shop-contact-card{
    padding:22px;
  }
}

/* Shop Admin separate login */
.shop-login-page{
  min-height:100svh;
  background:var(--ink-navy);
  color:var(--line-white);
}

.shop-login-shell{
  min-height:calc(100svh - 72px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(34px,6vw,76px) 18px;
  background:
    radial-gradient(circle at 14% 18%,rgba(255,68,56,.22),transparent 32%),
    radial-gradient(circle at 86% 70%,rgba(255,182,39,.16),transparent 36%),
    linear-gradient(135deg,rgba(7,23,39,.98),rgba(18,60,100,.92));
}

.shop-login-card{
  width:min(100%,520px);
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
  padding:clamp(24px,4vw,36px);
  backdrop-filter:blur(18px);
}

.shop-login-intro{
  text-align:center;
  margin-bottom:22px;
}

.shop-login-intro .section-tag{
  justify-content:center;
}

.shop-login-intro h1{
  margin:12px 0 12px;
  font-size:clamp(2rem,2vw,3.15rem);
}

.shop-login-intro p{
  color:#C8D6E4;
  line-height:1.65;
}

.shop-login-form{
  display:grid;
  gap:16px;
}

.shop-login-form + .shop-login-form,
.shop-alert + .shop-login-form{
  margin-top:16px;
}

.shop-login-submit{
  width:100%;
  justify-content:center;
  margin-top:4px;
}

.shop-login-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:20px;
  font-weight:900;
  font-size:.86rem;
}

.shop-login-links a{
  color:var(--champion-gold);
  text-decoration:none;
}

.shop-login-links a:hover{
  text-decoration:underline;
}

@media (max-width:520px){
  .shop-login-shell{
    align-items:flex-start;
    padding:28px 14px 44px;
  }

  .shop-login-card{
    border-radius:22px;
  }
}

/* Separate Shop Admin session/navigation enhancements */
.shop-admin-user{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  color:#DDEAF7;
  font-weight:900;
  font-size:.78rem;
  white-space:nowrap;
}

.shop-admin-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.shop-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}

.shop-dashboard-card{
  min-height:154px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 20% 10%,rgba(255,182,39,.13),transparent 42%),
    rgba(255,255,255,.07);
  box-shadow:0 20px 52px rgba(0,0,0,.22);
}

.shop-dashboard-card span{
  color:var(--champion-gold);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.shop-dashboard-card strong{
  color:#fff;
  font-family:'Space Mono',monospace;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
}

.shop-dashboard-card small{
  color:#BFD0E0;
  line-height:1.45;
}

.shop-dashboard-actions h2{
  margin-bottom:16px;
}

.shop-dashboard-action-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.shop-dashboard-action{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:128px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  color:#EAF2FA;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}

.shop-dashboard-action:hover{
  transform:translateY(-3px);
  border-color:rgba(255,182,39,.42);
  background:rgba(255,182,39,.11);
}

.shop-dashboard-action strong{
  color:#fff;
  font-size:1.05rem;
}

.shop-dashboard-action span{
  color:#C8D6E4;
  line-height:1.55;
}

.shop-dashboard-action.is-danger:hover{
  border-color:rgba(255,68,56,.44);
  background:rgba(255,68,56,.12);
}

@media (max-width:1100px){
  .shop-dashboard-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .shop-dashboard-action-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:780px){
  .shop-admin-user{
    display:none;
  }

  .shop-admin-head-actions{
    justify-content:flex-start;
  }

  .shop-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:520px){
  .shop-dashboard-grid{
    grid-template-columns:1fr;
  }

  .shop-dashboard-card{
    min-height:126px;
  }
}

/* Shop Admin product/category enhancements */
.shop-admin-filterbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 16px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}

.shop-admin-filterbar .shop-form-group{
  margin:0;
  flex:1 1 260px;
}

.shop-admin-filterbar .shop-form-actions{
  margin:0;
  flex:0 0 auto;
}

.shop-admin-order-btn{
  width:32px;
  min-width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-weight:900;
  font-size:.92rem;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}

.shop-admin-order-btn:hover,
.shop-admin-order-btn:focus-visible{
  transform:translateY(-1px);
  background:rgba(255,182,39,.20);
  color:var(--champion-gold);
  outline:none;
}

.shop-category-row .shop-category-input:disabled,
.shop-category-row .shop-category-checkbox:disabled{
  opacity:.74;
  cursor:not-allowed;
}

.shop-category-row.is-editing{
  background:rgba(255,182,39,.055);
}

.shop-category-row.is-editing .shop-category-input,
.shop-category-row.is-editing .shop-category-checkbox{
  opacity:1;
  cursor:auto;
}

.shop-category-save{
  background:rgba(24,160,88,.18);
  color:#8df0b4;
}

.shop-admin-table{
  min-width:1060px;
}

@media (max-width:780px){
  .shop-admin-filterbar{
    align-items:stretch;
    flex-direction:column;
  }

  .shop-admin-filterbar .shop-form-actions{
    justify-content:flex-start;
  }
}

/* Shop Admin advanced product search, filtering and pagination */
.shop-admin-product-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) minmax(180px,.85fr) auto minmax(104px,130px);
  align-items:end;
  gap:12px;
}

.shop-admin-product-toolbar .shop-form-actions{
  align-self:end;
  margin:0;
  flex-wrap:nowrap;
}

.shop-admin-search-group,
.shop-admin-category-group,
.shop-admin-per-page-group{
  min-width:0;
}

.shop-admin-per-page-group .shop-form-select{
  min-width:92px;
}

.shop-admin-list-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}

.shop-admin-result-summary{
  color:#C8D6E4;
  font-size:.86rem;
  font-weight:800;
}

.shop-admin-pagination-wrap{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}

.shop-admin-pagination{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}

.shop-admin-page-btn,
.shop-admin-page-ellipsis{
  min-width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  color:#EAF2FA;
  text-decoration:none;
  font-weight:900;
  font-size:.82rem;
  background:rgba(255,255,255,.07);
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.shop-admin-page-btn:hover,
.shop-admin-page-btn:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,182,39,.50);
  background:rgba(255,182,39,.14);
  color:var(--champion-gold);
  outline:none;
}

.shop-admin-page-btn.is-active{
  border-color:var(--champion-gold);
  background:var(--champion-gold);
  color:#071727;
  pointer-events:none;
}

.shop-admin-page-btn.is-disabled{
  opacity:.42;
  cursor:not-allowed;
  pointer-events:none;
}

.shop-admin-page-ellipsis{
  border-color:transparent;
  background:transparent;
  color:#98AFC2;
}

[data-product-table-body].is-loading{
  opacity:.55;
  pointer-events:none;
}

.shop-admin-product-toolbar.is-loading{
  opacity:.86;
}

.shop-admin-product-toolbar .shop-form-control,
.shop-admin-product-toolbar .shop-form-select{
  min-height:42px;
  padding:10px 14px;
}

.shop-admin-product-toolbar .btn{
  min-height:42px;
  padding:10px 15px;
}

@media (max-width:1180px){
  .shop-admin-product-toolbar{
    grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto;
  }

  .shop-admin-per-page-group{
    grid-column:auto;
  }
}

@media (max-width:900px){
  .shop-admin-product-toolbar{
    grid-template-columns:1fr 1fr;
    align-items:stretch;
  }

  .shop-admin-filter-actions{
    justify-content:flex-start;
  }
}

@media (max-width:620px){
  .shop-admin-product-toolbar{
    grid-template-columns:1fr;
    gap:10px;
  }

  .shop-admin-product-toolbar .shop-form-actions{
    flex-wrap:wrap;
  }

  .shop-admin-list-meta,
  .shop-admin-pagination-wrap,
  .shop-admin-pagination{
    justify-content:flex-start;
  }

  .shop-admin-page-btn,
  .shop-admin-page-ellipsis{
    min-width:32px;
    height:32px;
    border-radius:10px;
  }
}

/* Multiple product image gallery */
.shop-product-gallery-track,
.shop-product-gallery-slide{
  position:absolute;
  inset:0;
}

.shop-product-gallery-track{
  z-index:0;
}

.shop-product-gallery-slide{
  margin:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.015);
  transition:opacity .34s ease,visibility .34s ease,transform .34s ease;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
}

.shop-product-gallery-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
}

.shop-product-gallery-slide img{
  display:block;
}

.shop-product-gallery-btn{
  position:absolute;
  top:50%;
  z-index:4;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(7,23,39,.58);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  opacity:0;
  transform:translateY(-50%) scale(.96);
  transition:opacity .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;
  backdrop-filter:blur(10px);
  box-shadow:0 10px 22px rgba(0,0,0,.25);
}

.shop-product-gallery-btn.is-prev{left:10px;}
.shop-product-gallery-btn.is-next{right:10px;}

.shop-product-image-wrap:hover .shop-product-gallery-btn,
.shop-product-image-wrap:focus-within .shop-product-gallery-btn{
  opacity:1;
  transform:translateY(-50%) scale(1);
}

.shop-product-gallery-btn:hover,
.shop-product-gallery-btn:focus-visible{
  background:var(--cork-red);
  border-color:var(--cork-red);
  outline:none;
}

.shop-product-gallery-dots{
  position:absolute;
  left:50%;
  bottom:10px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(7,23,39,.54);
  border:1px solid rgba(255,255,255,.16);
  transform:translateX(-50%);
  backdrop-filter:blur(10px);
}

.shop-product-gallery-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(255,255,255,.48);
  cursor:pointer;
  transition:width .2s ease,background .2s ease,transform .2s ease;
}

.shop-product-gallery-dot.is-active{
  width:18px;
  border-radius:999px;
  background:var(--champion-gold);
}

.shop-admin-image-preview{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.shop-admin-image-preview figure{
  position:relative;
  width:54px;
  height:54px;
  margin:0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
}

.shop-admin-image-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.shop-admin-image-preview figcaption{
  position:absolute;
  left:4px;
  bottom:4px;
  padding:2px 5px;
  border-radius:999px;
  background:rgba(7,23,39,.72);
  color:var(--champion-gold);
  font-size:.55rem;
  font-weight:900;
  line-height:1;
}

@media (hover:none){
  .shop-product-gallery-btn{
    opacity:1;
    transform:translateY(-50%) scale(1);
  }
}

@media (max-width:520px){
  .shop-product-gallery-btn{
    width:31px;
    height:31px;
    font-size:1.28rem;
  }

  .shop-product-gallery-btn.is-prev{left:8px;}
  .shop-product-gallery-btn.is-next{right:8px;}
}

/* =========================================================
   Shop Admin Responsive Hardening
   Keeps existing logic unchanged and makes admin tables/forms
   usable on desktop, laptop, tablet, iPad, iPhone and Android.
   ========================================================= */
.shop-admin-page{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.shop-admin-page *,
.shop-admin-page *::before,
.shop-admin-page *::after{
  box-sizing:border-box;
}

.shop-admin-shell,
.shop-admin-shell .wrap,
.shop-admin-card,
.shop-admin-grid,
.shop-admin-head,
.shop-admin-product-toolbar,
.shop-admin-filterbar,
.shop-admin-list-meta,
.shop-admin-pagination-wrap{
  max-width:100%;
}

.shop-admin-shell .wrap,
.shop-admin-card,
.shop-admin-grid,
.shop-admin-head,
.shop-admin-product-toolbar,
.shop-admin-filterbar,
.shop-form-grid,
.shop-form-group,
.shop-form-actions,
.shop-admin-actions,
.shop-admin-list-meta,
.shop-admin-pagination-wrap{
  min-width:0;
}

.shop-admin-card{
  overflow:hidden;
}

.shop-admin-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,182,39,.72) rgba(255,255,255,.08);
}

.shop-admin-table-wrap::-webkit-scrollbar{
  height:8px;
}

.shop-admin-table-wrap::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border-radius:999px;
}

.shop-admin-table-wrap::-webkit-scrollbar-thumb{
  background:rgba(255,182,39,.72);
  border-radius:999px;
}

.shop-admin-table{
  table-layout:auto;
  white-space:nowrap;
}

.shop-admin-table th,
.shop-admin-table td{
  white-space:nowrap;
}

.shop-admin-table td:nth-child(2){
  white-space:normal;
  min-width:220px;
}

.shop-admin-table td:nth-child(2) small{
  overflow-wrap:anywhere;
}

.shop-admin-actions{
  white-space:nowrap;
}

.shop-admin-actions form{
  margin:0;
  display:inline-flex;
}

.shop-admin-product-toolbar .shop-form-control,
.shop-admin-product-toolbar .shop-form-select,
.shop-admin-filterbar .shop-form-control,
.shop-admin-filterbar .shop-form-select,
.shop-admin-card .shop-form-control,
.shop-admin-card .shop-form-select,
.shop-admin-card .shop-form-textarea{
  width:100%;
  max-width:100%;
}

.shop-admin-image-preview{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  flex-wrap:nowrap;
  padding-bottom:4px;
}

.shop-admin-image-preview figure{
  flex:0 0 auto;
}

@media (max-width:1180px){
  .shop-admin-shell{
    padding-left:0;
    padding-right:0;
  }

  .shop-admin-card{
    padding:20px;
  }
}

@media (max-width:900px){
  .shop-admin-head{
    align-items:stretch;
  }

  .shop-admin-head .btn{
    width:max-content;
    max-width:100%;
  }

  .shop-admin-product-toolbar,
  .shop-admin-filterbar{
    width:100%;
  }
}

@media (max-width:780px){
  .shop-admin-shell{
    padding:24px 0 54px;
  }

  .shop-admin-card{
    border-radius:18px;
    padding:18px;
  }

  .shop-admin-head{
    gap:14px;
    margin-bottom:18px;
  }

  .shop-admin-head h1{
    font-size:clamp(1.85rem,9vw,2.55rem);
  }

  .shop-admin-head p{
    font-size:.92rem;
  }

  .shop-form-actions,
  .shop-admin-filter-actions{
    gap:8px;
  }

  .shop-admin-table-wrap{
    margin-left:-2px;
    margin-right:-2px;
    border-radius:16px;
  }

  .shop-admin-table{
    min-width:980px;
  }

  .shop-admin-table th,
  .shop-admin-table td{
    padding:11px 12px;
  }

  .shop-admin-list-meta{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:620px){
  .shop-admin-shell .wrap{
    width:100%;
    padding-left:12px;
    padding-right:12px;
  }

  .shop-admin-card{
    padding:15px;
    border-radius:16px;
  }

  .shop-admin-card h2{
    font-size:1.24rem;
  }

  .shop-admin-product-toolbar,
  .shop-admin-filterbar{
    padding:12px;
    border-radius:16px;
  }

  .shop-admin-product-toolbar .shop-form-actions,
  .shop-admin-filterbar .shop-form-actions,
  .shop-form-actions{
    width:100%;
  }

  .shop-admin-product-toolbar .btn,
  .shop-admin-filterbar .btn,
  .shop-form-actions .btn{
    flex:1 1 auto;
    justify-content:center;
    min-width:0;
  }

  .shop-admin-per-page-group{
    width:100%;
  }

  .shop-admin-result-summary{
    font-size:.80rem;
    line-height:1.45;
  }

  .shop-admin-pagination{
    width:100%;
    justify-content:flex-start;
  }

  .shop-admin-table-wrap{
    border-radius:14px;
  }

  .shop-admin-table{
    min-width:930px;
  }

  .shop-admin-thumb{
    width:52px;
    height:46px;
  }

  .shop-admin-link,
  .shop-admin-danger{
    padding:7px 10px;
    font-size:.72rem;
  }

  .shop-admin-order-btn{
    width:30px;
    min-width:30px;
    height:30px;
  }
}

@media (max-width:420px){
  .shop-admin-shell .wrap{
    padding-left:10px;
    padding-right:10px;
  }

  .shop-admin-card{
    padding:13px;
  }

  .shop-admin-head .btn,
  .shop-form-actions .btn,
  .shop-admin-product-toolbar .btn,
  .shop-admin-filterbar .btn{
    width:100%;
  }

  .shop-admin-product-toolbar .shop-form-actions,
  .shop-admin-filterbar .shop-form-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .shop-admin-table{
    min-width:900px;
  }

  .shop-admin-page-btn,
  .shop-admin-page-ellipsis{
    min-width:30px;
    height:30px;
    font-size:.76rem;
  }
}

/* Shop admin compact action/status refinements */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.shop-admin-logout-icon{
  width:48px;
  height:48px;
  min-width:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--racket-red);
  color:#fff;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(255,68,56,.30);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}

.shop-admin-logout-icon:hover,
.shop-admin-logout-icon:focus-visible{
  transform:translateY(-1px);
  background:#ff4438;
  color:#fff;
  box-shadow:0 16px 30px rgba(255,68,56,.42);
  outline:2px solid rgba(255,255,255,.34);
  outline-offset:3px;
}

.shop-admin-logout-icon svg{
  width:24px;
  height:24px;
  display:block;
  fill:currentColor;
}

.shop-active-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.shop-active-status.is-active{
  background:rgba(4,99,7,.18);
  color:#9ff3a8;
  border:1px solid rgba(4,99,7,.34);
}

.shop-active-status.is-inactive{
  background:rgba(255,68,56,.18);
  color:#ffb4af;
  border:1px solid rgba(255,68,56,.38);
}

.shop-admin-actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  flex-wrap:nowrap;
  white-space:nowrap;
  min-width:max-content;
}

.shop-admin-actions form{
  margin:0;
  display:inline-flex;
  flex:0 0 auto;
}

.shop-admin-actions .shop-admin-link,
.shop-admin-actions .shop-admin-danger,
.shop-admin-actions .shop-admin-order-btn{
  flex:0 0 auto;
}

.shop-admin-table th:last-child,
.shop-admin-table td:last-child{
  min-width:220px;
}

.shop-category-table th:last-child,
.shop-category-table td:last-child{
  min-width:260px;
}

.shop-category-order-col{
  width:116px;
  min-width:116px;
  max-width:116px;
  text-align:center!important;
}

.shop-category-order-input{
  text-align:center;
  min-width:78px;
  max-width:96px;
  margin:0 auto;
}

.shop-category-active-label{
  justify-content:center;
  gap:8px;
}

.shop-confirm-modal{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(3,11,20,.74);
  backdrop-filter:blur(10px);
}

.shop-confirm-modal.is-visible{
  display:flex;
}

.shop-confirm-card{
  width:min(100%,420px);
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(145deg,rgba(26,51,70,.98),rgba(8,24,39,.98));
  box-shadow:0 28px 70px rgba(0,0,0,.46);
  color:#fff;
}

.shop-confirm-card h2{
  margin:0 0 10px;
  font-size:1.45rem;
}

.shop-confirm-card p{
  margin:0;
  color:#D6E2EF;
  line-height:1.55;
}

.shop-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}

.shop-confirm-yes{
  min-width:92px;
}

@media (max-width:620px){
  .shop-admin-logout-icon{
    width:46px;
    height:46px;
    min-width:46px;
  }

  .shop-admin-actions{
    gap:6px;
  }

  .shop-admin-actions .shop-admin-link,
  .shop-admin-actions .shop-admin-danger{
    padding:7px 9px;
    font-size:.70rem;
  }

  .shop-admin-actions .shop-admin-order-btn{
    width:30px;
    min-width:30px;
    height:30px;
  }

  .shop-admin-table th:last-child,
  .shop-admin-table td:last-child{
    min-width:212px;
  }

  .shop-category-table th:last-child,
  .shop-category-table td:last-child{
    min-width:250px;
  }

  .shop-category-order-col{
    width:104px;
    min-width:104px;
    max-width:104px;
  }

  .shop-confirm-card{
    border-radius:20px;
    padding:20px;
  }

  .shop-confirm-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

/* =========================================================
   Shop public page hero, sticky catalogue navigation and
   desktop header auto-hide refinements.
   ========================================================= */
.shop-page{
  --shop-nav-h:68px;
  --shop-toolbar-h:116px;
}

.shop-page .site-nav{
  transition:transform .32s ease,opacity .24s ease,box-shadow .24s ease;
  will-change:transform;
}

.shop-page.shop-header-hidden .site-nav{
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
}

.shop-page .shop-toolbar-section{
  top:var(--shop-nav-h,68px);
  transition:top .32s ease,box-shadow .22s ease,background .22s ease;
}

.shop-page.shop-header-hidden .shop-toolbar-section{
  top:0;
}

.shop-section,
.shop-contact-band,
#featured-products{
  scroll-margin-top:calc(var(--shop-nav-h,68px) + var(--shop-toolbar-h,116px) + 18px);
}

.shop-page.shop-header-hidden .shop-section,
.shop-page.shop-header-hidden .shop-contact-band,
.shop-page.shop-header-hidden #featured-products{
  scroll-margin-top:calc(var(--shop-toolbar-h,116px) + 18px);
}

.shop-hero-products{
  min-width:0;
}

.shop-hero-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(12px,1.35vw,18px);
  align-items:stretch;
}

.shop-hero-feature-grid .shop-product-card{
  min-height:0;
  border-radius:16px;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}

.shop-hero-feature-grid .shop-product-image-wrap{
  aspect-ratio:2.08 / 1;
}

.shop-hero-feature-grid .shop-product-body{
  padding:10px 12px 12px;
}

.shop-hero-feature-grid .shop-product-category{
  margin-bottom:4px;
  font-size:.58rem;
}

.shop-hero-feature-grid .shop-product-body h3{
  margin-bottom:4px;
  font-size:.84rem;
}

.shop-hero-feature-grid .shop-product-brand,
.shop-hero-feature-grid .shop-product-desc{
  font-size:.70rem;
  line-height:1.35;
}

.shop-hero-feature-grid .shop-product-brand{
  margin-bottom:3px;
}

.shop-hero-feature-grid .shop-product-desc{
  min-height:0;
  -webkit-line-clamp:1;
}

.shop-hero-feature-grid .shop-price-row{
  margin-top:7px;
  gap:6px;
}

.shop-hero-feature-grid .shop-selling-price{
  margin-top:3px;
  font-size:1rem;
}

.shop-hero-feature-grid .shop-stock-badge,
.shop-hero-feature-grid .shop-ribbon-badge,
.shop-hero-feature-grid .shop-discount{
  padding:4px 7px;
  font-size:.54rem;
}

.shop-hero-feature-grid .shop-product-badges{
  top:8px;
  left:8px;
  right:8px;
  gap:5px;
}

.shop-hero-empty{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:26px;
  border-radius:24px;
  border:1px dashed rgba(255,255,255,.22);
  background:rgba(255,255,255,.055);
  color:#D8E6F4;
  text-align:center;
}

.shop-hero-empty strong{
  color:#fff;
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:1.25rem;
}

.shop-hero-empty span{
  max-width:32ch;
  color:#C8D6E4;
  font-size:.92rem;
}

@media (min-width:992px){
  .shop-hero{
    min-height:calc(100svh - var(--shop-nav-h,68px) - var(--shop-toolbar-h,116px));
    display:flex;
    align-items:center;
    padding:clamp(26px,3.6vh,50px) 0;
  }

  .shop-hero-grid{
    width:100%;
    grid-template-columns:minmax(330px,.82fr) minmax(520px,1.18fr);
    gap:clamp(26px,3.2vw,58px);
  }

  .shop-hero-copy h1{
    font-size:clamp(3rem,5.2vw,5rem);
    margin-bottom:clamp(12px,1.8vh,18px);
  }

  .shop-hero-copy p{
    max-width:620px;
    font-size:clamp(.92rem,1.05vw,1.02rem);
    line-height:1.55;
  }

  .shop-hero-actions{
    margin-top:clamp(18px,2.4vh,28px);
  }

  .shop-toolbar-section{
    padding:clamp(10px,1.55vh,16px) 0;
  }

  .shop-filter-pills{
    margin-top:clamp(8px,1.2vh,12px);
  }
}

@media (min-width:992px) and (max-height:760px){
  .shop-hero-grid{
    grid-template-columns:minmax(310px,.78fr) minmax(500px,1.22fr);
    gap:24px;
  }

  .shop-hero-copy h1{
    font-size:clamp(2.6rem,4.8vw,4.35rem);
  }

  .shop-hero-copy p{
    font-size:.90rem;
    line-height:1.48;
  }

  .shop-hero-actions .btn{
    padding:11px 22px;
  }

  .shop-hero-feature-grid{
    gap:12px;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:2.35 / 1;
  }

  .shop-hero-feature-grid .shop-product-body{
    padding:8px 11px 10px;
  }

  .shop-hero-feature-grid .shop-product-desc{
    -webkit-line-clamp:1;
  }
}

@media (min-width:781px) and (max-width:991px){
  .shop-hero-grid{
    grid-template-columns:1fr;
  }

  .shop-hero-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:780px){
  .shop-page .site-nav{
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .shop-page .shop-toolbar-section{
    position:sticky;
    top:var(--shop-nav-h,70px);
    z-index:40;
  }

  .shop-hero-products{
    margin-top:10px;
  }

  .shop-hero-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:4 / 3;
  }
}

@media (max-width:620px){
  .shop-hero-feature-grid{
    grid-template-columns:1fr;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:16 / 10;
  }

  .shop-page .shop-toolbar-section{
    top:var(--shop-nav-h,70px);
  }
}

@media (prefers-reduced-motion:reduce){
  .shop-page .site-nav,
  .shop-page .shop-toolbar-section{
    transition:none!important;
  }
}

/* =========================================================
   Final shop-sale.php viewport, full header auto-hide and
   hero featured product slideshow refinements.
   ========================================================= */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  .shop-page .site-nav{
    transition:margin-top .32s ease,transform .32s ease,opacity .24s ease,box-shadow .24s ease;
  }

  .shop-page.shop-header-hidden .site-nav{
    margin-top:calc(-1 * var(--shop-nav-h, 68px));
    transform:translateY(-105%);
    opacity:0;
    pointer-events:none;
    box-shadow:none;
  }

  .shop-page.shop-header-hidden .shop-toolbar-section{
    top:0;
  }

  .shop-hero{
    min-height:calc(100svh - var(--shop-nav-h, 68px) - var(--shop-toolbar-h, 116px));
    display:flex;
    align-items:flex-start;
    padding:clamp(18px,2.4vh,30px) 0 clamp(18px,2.4vh,30px);
  }

  .shop-hero-grid{
    width:100%;
    align-items:start;
  }

  .shop-hero-copy{
    align-self:start;
    padding-top:clamp(2px,.8vh,10px);
  }

  .shop-hero-copy .section-tag{
    margin-bottom:clamp(8px,1vh,12px);
  }

  .shop-hero-copy h1{
    margin-bottom:clamp(10px,1.2vh,16px);
  }

  .shop-hero-copy p{
    margin-bottom:0;
  }

  .shop-hero-actions{
    margin-top:clamp(14px,1.8vh,22px);
  }

  .shop-hero-products{
    align-self:start;
  }

  .shop-hero-feature-grid{
    align-items:start;
  }

  .shop-hero-feature-grid .shop-product-card{
    overflow:hidden;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:auto;
    height:clamp(152px,20.5vh,228px);
  }

  .shop-hero-feature-grid .shop-product-gallery-slide{
    transition:opacity .72s ease,visibility .72s ease,transform .72s ease;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover;
    object-position:top center;
  }

  .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:scale(1.035);
  }

  .shop-toolbar-section{
    padding:clamp(12px,1.65vh,18px) 0;
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  .shop-hero{
    padding:14px 0;
  }

  .shop-hero-grid{
    gap:clamp(20px,2.4vw,34px);
  }

  .shop-hero-copy h1{
    font-size:clamp(2.55rem,4.5vw,4.15rem);
    line-height:.96;
  }

  .shop-hero-copy p{
    font-size:.88rem;
    line-height:1.44;
  }

  .shop-hero-actions .btn{
    padding:10px 20px;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(132px,19.5vh,168px);
  }

  .shop-hero-feature-grid .shop-product-body{
    padding:7px 10px 9px;
  }

  .shop-hero-feature-grid .shop-product-body h3{
    font-size:.80rem;
  }

  .shop-hero-feature-grid .shop-product-category,
  .shop-hero-feature-grid .shop-product-brand,
  .shop-hero-feature-grid .shop-product-desc{
    font-size:.66rem;
  }

  .shop-hero-feature-grid .shop-selling-price{
    font-size:.94rem;
  }
}

@media (min-width:1400px) and (min-height:860px){
  .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(190px,21vh,250px);
  }
}

@media (min-width:781px) and (max-width:991px){
  .shop-hero-copy{
    padding-top:0;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:auto;
    height:clamp(170px,25vw,230px);
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover;
    object-position:top center;
  }
}

@media (max-width:780px){
  .shop-page.shop-header-hidden .site-nav{
    margin-top:0!important;
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover;
    object-position:top center;
  }
}

@media (prefers-reduced-motion:reduce){
  .shop-page .site-nav,
  .shop-hero-feature-grid .shop-product-gallery-slide{
    transition:none!important;
  }
}

/* =========================================================
   Final public shop hero spacing and featured gallery polish
   ========================================================= */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  .shop-page .site-nav{
    transition:margin-top .32s ease,transform .32s ease,opacity .24s ease,box-shadow .24s ease;
  }

  .shop-page.shop-header-hidden .site-nav{
    margin-top:calc(-1 * var(--shop-nav-h, 68px));
    transform:translate3d(0, calc(-1 * var(--shop-nav-h, 68px) - 2px), 0);
    opacity:0;
    pointer-events:none;
    box-shadow:none;
  }

  .shop-page.shop-header-hidden .shop-toolbar-section{
    top:0;
  }

  .shop-hero{
    min-height:calc(100svh - var(--shop-nav-h, 68px));
    display:flex;
    align-items:center;
    padding:clamp(22px,3.2vh,42px) 0;
  }

  .shop-hero-grid{
    width:100%;
    align-items:center;
    grid-template-columns:minmax(340px,.82fr) minmax(560px,1.18fr);
    gap:clamp(28px,3.4vw,64px);
  }

  .shop-hero-copy{
    align-self:start;
    padding-top:clamp(4px,.9vh,12px);
  }

  .shop-hero-products{
    align-self:start;
  }

  .shop-hero-feature-grid{
    align-items:start;
  }

  .shop-hero-feature-grid .shop-product-card{
    overflow:hidden;
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:auto;
    height:clamp(178px,24vh,266px);
    background:#fff;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide{
    transition:opacity .82s ease,visibility .82s ease,transform .82s ease;
    transform:none;
    background:#fff;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide.is-active{
    transform:none;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    height:100%;
    object-fit:cover;
    object-position:top center;
    transform:translateY(-2%) scale(1.045);
    transform-origin:top center;
    transition:transform .45s ease;
  }

  .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translateY(-2.5%) scale(1.065);
  }

  .shop-toolbar-section{
    margin-top:clamp(26px,5vh,62px);
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  .shop-hero{
    min-height:calc(100svh - var(--shop-nav-h, 68px));
    padding:clamp(14px,2vh,24px) 0;
  }

  .shop-hero-grid{
    grid-template-columns:minmax(310px,.78fr) minmax(520px,1.22fr);
    gap:clamp(20px,2.5vw,38px);
  }

  .shop-hero-copy h1{
    font-size:clamp(2.55rem,4.45vw,4.15rem);
    line-height:.96;
    margin-bottom:clamp(8px,1vh,13px);
  }

  .shop-hero-copy p{
    font-size:.88rem;
    line-height:1.43;
  }

  .shop-hero-actions{
    margin-top:clamp(12px,1.5vh,18px);
  }

  .shop-hero-actions .btn{
    padding:10px 20px;
  }

  .shop-hero-feature-grid{
    gap:clamp(10px,1.4vh,13px);
  }

  .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(154px,22vh,190px);
  }

  .shop-hero-feature-grid .shop-product-body{
    padding:7px 10px 9px;
  }

  .shop-hero-feature-grid .shop-product-body h3{
    font-size:.80rem;
    margin-bottom:3px;
  }

  .shop-hero-feature-grid .shop-product-category,
  .shop-hero-feature-grid .shop-product-brand,
  .shop-hero-feature-grid .shop-product-desc{
    font-size:.66rem;
  }

  .shop-hero-feature-grid .shop-price-row{
    margin-top:5px;
  }

  .shop-hero-feature-grid .shop-selling-price{
    font-size:.94rem;
  }

  .shop-toolbar-section{
    margin-top:clamp(22px,4vh,46px);
  }
}

@media (min-width:1400px) and (min-height:860px){
  .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(220px,25vh,310px);
  }
}

@media (min-width:781px) and (max-width:991px){
  .shop-hero-feature-grid .shop-product-image-wrap{
    aspect-ratio:auto;
    height:clamp(180px,27vw,250px);
    background:#fff;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover;
    object-position:top center;
    transform:translateY(-1.5%) scale(1.035);
    transform-origin:top center;
  }
}

@media (max-width:780px){
  .shop-toolbar-section{
    margin-top:0;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover;
    object-position:top center;
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .shop-hero-feature-grid .shop-product-gallery-slide,
  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    transition:none!important;
    transform:none!important;
  }
}

/* =========================================================
   Final fix: complete shop header auto-hide, hero image top
   alignment and adaptive sticky category navigation.
   ========================================================= */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body.shop-page{
    padding-top:var(--shop-nav-h, 68px) !important;
    transition:padding-top .32s ease;
  }

  body.shop-page.shop-header-hidden{
    padding-top:0 !important;
  }

  body.shop-page .site-nav{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    transform:translate3d(0,0,0) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition:transform .32s ease,opacity .24s ease,visibility .24s ease,box-shadow .24s ease !important;
    will-change:transform,opacity !important;
    z-index:99999 !important;
  }

  body.shop-page.shop-header-hidden .site-nav{
    transform:translate3d(0,calc(-1 * var(--shop-nav-h, 68px) - 4px),0) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    box-shadow:none !important;
  }

  body.shop-page .shop-toolbar-section{
    position:sticky !important;
    top:var(--shop-nav-h, 68px) !important;
    z-index:280 !important;
    transition:top .32s ease,box-shadow .22s ease,background .22s ease !important;
    will-change:top;
  }

  body.shop-page.shop-header-hidden .shop-toolbar-section{
    top:0 !important;
  }

  body.shop-page .shop-section,
  body.shop-page .shop-contact-band,
  body.shop-page #featured-products{
    scroll-margin-top:calc(var(--shop-nav-h, 68px) + var(--shop-toolbar-h, 116px) + 18px) !important;
  }

  body.shop-page.shop-header-hidden .shop-section,
  body.shop-page.shop-header-hidden .shop-contact-band,
  body.shop-page.shop-header-hidden #featured-products{
    scroll-margin-top:calc(var(--shop-toolbar-h, 116px) + 18px) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(198px,27vh,320px) !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    background:#fff !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-13%,0) scale(1.18) !important;
    transform-origin:50% 0% !important;
    transition:transform .45s ease !important;
    will-change:transform;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-14%,0) scale(1.205) !important;
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(170px,25vh,218px) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    transform:translate3d(0,-11%,0) scale(1.16) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-12%,0) scale(1.185) !important;
  }
}

@media (min-width:1400px) and (min-height:860px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(240px,28vh,350px) !important;
  }
}

@media (min-width:781px) and (max-width:991px){
  body.shop-page .shop-toolbar-section{
    position:sticky !important;
    top:var(--shop-nav-h, 70px) !important;
    z-index:280 !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-7%,0) scale(1.10) !important;
    transform-origin:50% 0% !important;
  }
}

@media (max-width:780px){
  body.shop-page{
    padding-top:var(--shop-nav-h, 70px) !important;
  }

  body.shop-page.shop-header-hidden .site-nav,
  body.shop-page .site-nav{
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  body.shop-page .shop-toolbar-section{
    position:sticky !important;
    top:var(--shop-nav-h, 70px) !important;
    z-index:280 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.shop-page,
  body.shop-page .site-nav,
  body.shop-page .shop-toolbar-section,
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    transition:none !important;
  }
}

/* =========================================================
   Product card information layout optimization
   Compact title/brand, clamped description and one-line price.
   ========================================================= */
.shop-product-body{
  min-width:0;
}

.shop-product-title-row{
  display:flex;
  align-items:baseline;
  gap:5px;
  width:100%;
  min-width:0;
  margin:0 0 6px;
  white-space:nowrap;
  overflow:hidden;
}

.shop-product-title-row .shop-product-name,
.shop-product-body h3.shop-product-name{
  flex:0 1 auto;
  min-width:0;
  max-width:68%;
  margin:0;
  color:var(--champion-gold)!important;
  font-family:'Oswald',sans-serif;
  font-weight:800;
  line-height:1.12;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.shop-product-brand-inline{
  flex:1 1 auto;
  min-width:0;
  color:#EAF3FC;
  font-weight:800;
  line-height:1.12;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.shop-product-desc{
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.58em;
}

.shop-price-row{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  margin-top:auto;
}

.shop-price-row.has-discount{
  justify-content:space-between;
}

.shop-price-row.no-discount{
  justify-content:flex-start;
}

.shop-price-row .shop-mrp,
.shop-price-row .shop-discount,
.shop-price-row .shop-selling-price{
  margin-top:0;
  white-space:nowrap;
  flex:0 0 auto;
}

.shop-price-row .shop-selling-price{
  margin-left:auto;
}

.shop-price-row.no-discount .shop-selling-price{
  margin-left:0;
}

.shop-price-row .shop-discount{
  max-width:42%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Hero featured product card compact layout and larger image area */
.shop-hero-feature-grid .shop-product-card{
  display:grid;
  grid-template-rows:auto minmax(104px,1fr);
  height:100%;
}

.shop-hero-feature-grid .shop-product-body{
  min-height:104px;
  padding:8px 12px 10px;
  justify-content:flex-start;
}

.shop-hero-feature-grid .shop-product-title-row{
  margin-bottom:4px;
  gap:4px;
}

.shop-hero-feature-grid .shop-product-title-row .shop-product-name,
.shop-hero-feature-grid .shop-product-body h3.shop-product-name{
  max-width:54%;
  font-size:.74rem;
  letter-spacing:.01em;
}

.shop-hero-feature-grid .shop-product-brand-inline{
  font-size:.70rem;
}

.shop-hero-feature-grid .shop-product-desc{
  min-height:2.26em;
  margin-bottom:7px;
  color:#D6E5F2;
  font-size:.66rem;
  line-height:1.25;
  -webkit-line-clamp:2;
}

.shop-hero-feature-grid .shop-price-row{
  margin-top:auto;
  gap:6px;
}

.shop-hero-feature-grid .shop-price-row .shop-mrp{
  font-size:.76rem;
}

.shop-hero-feature-grid .shop-price-row .shop-discount{
  padding:3px 6px;
  font-size:.54rem;
  max-width:45%;
}

.shop-hero-feature-grid .shop-price-row .shop-selling-price{
  font-size:1.08rem;
  line-height:1;
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(230px,31vh,372px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover!important;
    object-position:50% 0%!important;
    transform:translate3d(0,-17%,0) scale(1.24)!important;
    transform-origin:50% 0%!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-18%,0) scale(1.265)!important;
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(186px,28vh,254px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-body{
    min-height:94px;
    padding:7px 10px 8px;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-desc{
    min-height:2.14em;
    margin-bottom:5px;
    font-size:.62rem;
    line-height:1.2;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-title-row .shop-product-name,
  body.shop-page .shop-hero-feature-grid .shop-product-body h3.shop-product-name{
    font-size:.70rem;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-brand-inline{
    font-size:.64rem;
  }

  body.shop-page .shop-hero-feature-grid .shop-price-row .shop-selling-price{
    font-size:.98rem;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    transform:translate3d(0,-15%,0) scale(1.22)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-16%,0) scale(1.245)!important;
  }
}

@media (min-width:1400px) and (min-height:860px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(260px,32vh,392px)!important;
  }
}

@media (min-width:781px) and (max-width:991px){
  .shop-hero-feature-grid .shop-product-card{
    grid-template-rows:auto minmax(106px,1fr);
  }

  .shop-hero-feature-grid .shop-product-body{
    min-height:106px;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover!important;
    object-position:50% 0%!important;
    transform:translate3d(0,-10%,0) scale(1.14)!important;
  }
}

@media (max-width:780px){
  .shop-product-title-row .shop-product-name,
  .shop-product-body h3.shop-product-name{
    max-width:62%;
  }

  .shop-price-row{
    gap:7px;
  }

  .shop-price-row .shop-discount{
    max-width:48%;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover!important;
    object-position:50% 0%!important;
  }
}

@media (max-width:420px){
  .shop-product-title-row .shop-product-name,
  .shop-product-body h3.shop-product-name{
    max-width:56%;
  }

  .shop-price-row .shop-selling-price{
    font-size:1.18rem;
  }

  .shop-price-row .shop-discount{
    max-width:44%;
    padding:4px 7px;
    font-size:.58rem;
  }
}

/* =========================================================
   Final featured product card compact polish
   Moves hero product images upward and keeps price grouping compact.
   ========================================================= */
.shop-hero-feature-grid .shop-product-card{
  grid-template-rows:auto minmax(92px,92px) !important;
}

.shop-hero-feature-grid .shop-product-body{
  height:92px !important;
  min-height:92px !important;
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  align-content:start !important;
  gap:4px !important;
  padding:7px 12px 8px !important;
  overflow:hidden !important;
}

.shop-hero-feature-grid .shop-product-title-row{
  margin:0 !important;
  line-height:1.05 !important;
}

.shop-hero-feature-grid .shop-product-title-row .shop-product-name,
.shop-hero-feature-grid .shop-product-body h3.shop-product-name,
.shop-hero-feature-grid .shop-product-brand-inline{
  line-height:1.05 !important;
}

.shop-hero-feature-grid .shop-product-desc{
  margin:0 !important;
  min-height:0 !important;
  max-height:2.34em !important;
  line-height:1.17 !important;
  -webkit-line-clamp:2 !important;
}

.shop-hero-feature-grid .shop-price-row,
.shop-hero-feature-grid .shop-price-row.has-discount,
.shop-hero-feature-grid .shop-price-row.no-discount{
  width:auto !important;
  margin:1px 0 0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
  justify-self:start !important;
}

.shop-hero-feature-grid .shop-price-row .shop-mrp,
.shop-hero-feature-grid .shop-price-row .shop-discount,
.shop-hero-feature-grid .shop-price-row .shop-selling-price{
  margin:0 !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

.shop-hero-feature-grid .shop-price-row .shop-selling-price{
  margin-left:0 !important;
}

.shop-hero-feature-grid .shop-price-row .shop-discount{
  max-width:112px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(242px,33vh,392px) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-27%,0) scale(1.38) !important;
    transform-origin:50% 0% !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-28%,0) scale(1.405) !important;
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  .shop-hero-feature-grid .shop-product-card{
    grid-template-rows:auto minmax(84px,84px) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-body{
    height:84px !important;
    min-height:84px !important;
    padding:6px 10px 7px !important;
    gap:3px !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(196px,30vh,272px) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-desc{
    line-height:1.14 !important;
    max-height:2.28em !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-price-row{
    gap:6px !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    transform:translate3d(0,-24%,0) scale(1.34) !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-25%,0) scale(1.365) !important;
  }
}

@media (min-width:1400px) and (min-height:860px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(270px,34vh,410px) !important;
  }
}

@media (min-width:781px) and (max-width:991px){
  .shop-hero-feature-grid .shop-product-card{
    grid-template-rows:auto minmax(94px,94px) !important;
  }

  .shop-hero-feature-grid .shop-product-body{
    height:94px !important;
    min-height:94px !important;
    display:grid !important;
    grid-template-rows:auto auto auto !important;
    align-content:start !important;
    gap:4px !important;
    overflow:hidden !important;
  }

  .shop-hero-feature-grid .shop-product-desc{
    min-height:0 !important;
    margin:0 !important;
  }

  .shop-hero-feature-grid .shop-price-row,
  .shop-hero-feature-grid .shop-price-row.has-discount{
    justify-content:flex-start !important;
  }

  .shop-hero-feature-grid .shop-price-row .shop-selling-price{
    margin-left:0 !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-16%,0) scale(1.22) !important;
    transform-origin:50% 0% !important;
  }
}

@media (max-width:780px){
  .shop-hero-feature-grid .shop-product-card{
    grid-template-rows:auto minmax(92px,auto) !important;
  }

  .shop-hero-feature-grid .shop-product-body{
    min-height:92px !important;
    display:grid !important;
    grid-template-rows:auto auto auto !important;
    align-content:start !important;
    gap:4px !important;
  }

  .shop-hero-feature-grid .shop-product-desc{
    min-height:0 !important;
    margin:0 !important;
  }

  .shop-hero-feature-grid .shop-price-row,
  .shop-hero-feature-grid .shop-price-row.has-discount{
    justify-content:flex-start !important;
  }

  .shop-hero-feature-grid .shop-price-row .shop-selling-price{
    margin-left:0 !important;
  }

  .shop-hero-feature-grid .shop-product-gallery-slide img,
  .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-10%,0) scale(1.12) !important;
    transform-origin:50% 0% !important;
  }
}

/* =========================================================
   Scope fix: keep the upward image positioning ONLY for the
   four Hero featured product cards. Standard product cards
   below the Hero retain their original image layout.
   ========================================================= */
.shop-page .shop-section .shop-product-image-wrap,
.shop-page .shop-contact-band .shop-product-image-wrap{
  aspect-ratio:4 / 3;
  height:auto !important;
}

.shop-page .shop-section .shop-product-gallery-slide img,
.shop-page .shop-section .shop-product-image-wrap > img,
.shop-page .shop-contact-band .shop-product-gallery-slide img,
.shop-page .shop-contact-band .shop-product-image-wrap > img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  transform-origin:center center !important;
}

.shop-page .shop-section .shop-product-card:hover .shop-product-gallery-slide img,
.shop-page .shop-section .shop-product-card:hover .shop-product-image-wrap > img,
.shop-page .shop-contact-band .shop-product-card:hover .shop-product-gallery-slide img,
.shop-page .shop-contact-band .shop-product-card:hover .shop-product-image-wrap > img{
  transform:scale(1.06) !important;
}

.shop-page .shop-section .shop-product-gallery-slide,
.shop-page .shop-contact-band .shop-product-gallery-slide{
  transform:scale(1.015);
}

.shop-page .shop-section .shop-product-gallery-slide.is-active,
.shop-page .shop-contact-band .shop-product-gallery-slide.is-active{
  transform:scale(1);
}

@media (hover:none){
  .shop-page .shop-section .shop-product-card:hover .shop-product-gallery-slide img,
  .shop-page .shop-section .shop-product-card:hover .shop-product-image-wrap > img,
  .shop-page .shop-contact-band .shop-product-card:hover .shop-product-gallery-slide img,
  .shop-page .shop-contact-band .shop-product-card:hover .shop-product-image-wrap > img{
    transform:none !important;
  }
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-27%,0) scale(1.38) !important;
    transform-origin:50% 0% !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-28%,0) scale(1.405) !important;
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-24%,0) scale(1.34) !important;
    transform-origin:50% 0% !important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:translate3d(0,-25%,0) scale(1.365) !important;
  }
}

@media (min-width:781px) and (max-width:991px){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-16%,0) scale(1.22) !important;
    transform-origin:50% 0% !important;
  }
}

@media (max-width:780px){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-fit:cover !important;
    object-position:50% 0% !important;
    transform:translate3d(0,-10%,0) scale(1.12) !important;
    transform-origin:50% 0% !important;
  }
}

/* =========================================================
   Final hero featured image visibility fix
   Scope: only top Hero Featured Product cards.
   Removes over-zoom/blur and keeps full product visibility
   inside the hero image frame without affecting product cards
   below the hero section.
   ========================================================= */
.shop-hero-feature-grid .shop-product-image-wrap{
  background:#fff;
}

.shop-hero-feature-grid .shop-product-gallery-track,
.shop-hero-feature-grid .shop-product-gallery-slide{
  width:100%!important;
  height:100%!important;
}

.shop-hero-feature-grid .shop-product-gallery-slide img,
.shop-hero-feature-grid .shop-product-image-wrap > img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
  transform-origin:center top!important;
  image-rendering:auto;
}

.shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
.shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
  transform:none!important;
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(300px,37vh,440px)!important;
    min-height:300px!important;
  }
}

@media (min-width:992px) and (max-height:760px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(250px,34vh,330px)!important;
    min-height:250px!important;
  }
}

@media (min-width:1400px) and (min-height:860px) and (hover:hover) and (pointer:fine){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(335px,39vh,480px)!important;
    min-height:335px!important;
  }
}

@media (min-width:781px) and (max-width:991px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    min-height:260px!important;
  }
}

@media (max-width:780px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    min-height:240px!important;
  }
}

@media (max-width:420px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    min-height:220px!important;
  }
}

/* =========================================================
   Final correction: make Hero Featured Product images smaller
   inside their existing frames.
   Scope: only the top Hero Featured Product cards.
   This prevents over-zoom/blur and keeps the full product
   visible without affecting normal product listing cards.
   ========================================================= */
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
  background:#fff!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide,
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  background:#fff!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:clamp(8px,.8vw,14px) clamp(12px,1.1vw,18px) clamp(8px,.9vw,16px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  transform-origin:center center!important;
  filter:none!important;
  image-rendering:auto!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
  transform:none!important;
}

@media (max-width:780px){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    padding:10px 12px!important;
  }
}


/* =========================================================
   Hero Featured Products: 6-card / 3-per-row layout
   Scope: shop-sale.php public hero only.
   Keeps standard product listings below the filter section
   in their existing 4-per-row layout, with only a slight
   image-size reduction inside each frame.
   ========================================================= */
@media (min-width:992px){
  body.shop-page .shop-hero-grid{
    grid-template-columns:minmax(260px,.68fr) minmax(0,1.62fr)!important;
    gap:clamp(22px,2.4vw,42px)!important;
    align-items:center!important;
  }

  body.shop-page .shop-hero-feature-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(10px,1vw,14px)!important;
    align-items:stretch!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card{
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    border-radius:16px!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    flex:0 0 auto!important;
    height:clamp(136px,15.8vh,190px)!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    background:#fff!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-body{
    flex:1 1 auto!important;
    min-height:72px!important;
    padding:8px 10px 9px!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-title-row{
    margin-bottom:3px!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-desc{
    margin:0 0 5px!important;
    line-height:1.28!important;
    -webkit-line-clamp:1!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-price-row,
  body.shop-page .shop-hero-feature-grid .shop-price-row.has-discount,
  body.shop-page .shop-hero-feature-grid .shop-price-row.no-discount{
    margin-top:4px!important;
    gap:6px!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    width:100%!important;
    height:100%!important;
    padding:8px 10px!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:none!important;
  }
}

@media (min-width:992px) and (max-height:760px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(118px,14.5vh,158px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-body{
    min-height:66px!important;
    padding:7px 9px 8px!important;
  }
}

@media (min-width:781px) and (max-width:991px){
  body.shop-page .shop-hero-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:780px){
  body.shop-page .shop-hero-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:620px){
  body.shop-page .shop-hero-feature-grid{
    grid-template-columns:1fr!important;
  }
}

/* Standard product listing image sizing after the sticky filter/navigation section.
   Only the image inside each frame is slightly reduced; the 4-card row layout,
   card width, slider behaviour, and product data remain unchanged. */
body.shop-page .shop-section .shop-product-image-wrap{
  background:#fff!important;
}

body.shop-page .shop-section .shop-product-gallery-slide,
body.shop-page .shop-section .shop-product-image-wrap > img{
  background:#fff!important;
}

body.shop-page .shop-section .shop-product-gallery-slide img,
body.shop-page .shop-section .shop-product-image-wrap > img{
  width:100%!important;
  height:100%!important;
  box-sizing:border-box!important;
  padding:clamp(5px,.45vw,8px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
}

body.shop-page .shop-section .shop-product-card:hover .shop-product-gallery-slide img,
body.shop-page .shop-section .shop-product-card:hover .shop-product-image-wrap > img{
  transform:scale(1.018)!important;
}

@media (hover:none){
  body.shop-page .shop-section .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-section .shop-product-card:hover .shop-product-image-wrap > img{
    transform:none!important;
  }
}

/* =========================================================
   Hero Featured Products final frame tuning
   Scope: only .shop-hero-feature-grid cards on shop-sale.php.
   Slightly narrows hero cards, increases hero image frame height,
   and lets product images appear larger inside the frame without
   affecting standard product listing cards below the toolbar.
   ========================================================= */
@media (min-width:992px){
  body.shop-page .shop-hero-grid{
    grid-template-columns:minmax(280px,.76fr) minmax(0,1.48fr)!important;
    gap:clamp(24px,2.8vw,48px)!important;
  }

  body.shop-page .shop-hero-products{
    width:100%!important;
    max-width:min(100%,980px)!important;
    justify-self:end!important;
  }

  body.shop-page .shop-hero-feature-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(11px,1.15vw,16px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(150px,17.6vh,212px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    padding:4px 6px!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:none!important;
  }
}

@media (min-width:992px) and (max-height:760px){
  body.shop-page .shop-hero-grid{
    grid-template-columns:minmax(270px,.76fr) minmax(0,1.48fr)!important;
    gap:clamp(18px,2.2vw,34px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(132px,16.3vh,178px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    padding:3px 5px!important;
  }
}

@media (min-width:1400px) and (min-height:860px){
  body.shop-page .shop-hero-products{
    max-width:min(100%,1040px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(170px,18.6vh,238px)!important;
  }
}

@media (min-width:781px) and (max-width:991px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(170px,24vw,238px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    padding:6px 8px!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }
}

/* =========================================================
   Hero Featured Products height + visibility adjustment
   Scope: only .shop-hero-feature-grid cards on shop-sale.php.
   Increases hero image frame height by about 25% and allows
   the product image to occupy the full frame without affecting
   standard product listing cards below the toolbar.
   ========================================================= */
@media (min-width:992px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(188px,22vh,265px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    width:100%!important;
    height:100%!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
    transform:none!important;
  }
}

@media (min-width:992px) and (max-height:760px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(165px,20.4vh,223px)!important;
  }
}

@media (min-width:1400px) and (min-height:860px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(213px,23.25vh,298px)!important;
  }
}

@media (min-width:781px) and (max-width:991px){
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
    height:clamp(213px,30vw,298px)!important;
  }

  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    width:100%!important;
    height:100%!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
  }
}

/* =========================================================
   TV / large-screen browser hero image frame background fix
   Scope: only top Hero Featured Product cards.
   Reason: portrait/narrow product images rendered with object-fit:contain
   can leave side gaps. Keep the product fully visible, but fill the
   unused frame area with a clean white product-catalogue background.
   ========================================================= */
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide,
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  background:#fff!important;
  background-color:#fff!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
  isolation:isolate!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide{
  inset:0!important;
  overflow:hidden!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
  transform:none!important;
}

/* =========================================================
   Final TV browser black-side-gutter fix for Hero products
   Scope: only top Hero Featured Product cards.
   Some TV browsers show dark gutters around contain-fitted
   portrait/narrow product images. For the Hero showcase only,
   fill the image frame completely and use a clean white product
   background on every gallery layer so no black side shade appears.
   ========================================================= */
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-track,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide{
  background:#fff!important;
  background-color:#fff!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
  overflow:hidden!important;
  isolation:isolate!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-image-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:#fff!important;
  pointer-events:none;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-track,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide{
  z-index:1;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  background:#fff!important;
  background-color:#fff!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
  transform:none!important;
}

@media (min-width:1600px){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    object-position:center top!important;
  }
}


/* =========================================================
   Robust Hero image side-gutter blur fill
   Scope: only top Hero Featured Product cards.
   Keeps the product image size/contain behavior, but replaces
   TV-browser dark/black side gutters with a blurred copy of the
   currently active product image behind the main image.
   ========================================================= */
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
  overflow:hidden!important;
  isolation:isolate!important;
  background-color:#fff!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-image-wrap::before{
  content:""!important;
  position:absolute!important;
  inset:-18px!important;
  z-index:0!important;
  display:block!important;
  pointer-events:none!important;
  background-image:inherit!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
  filter:blur(24px)!important;
  transform:scale(1.16)!important;
  opacity:.86!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-image-wrap::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:rgba(255,255,255,.10)!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-track,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-track,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide,
body.shop-page .shop-hero-feature-grid .shop-product-badges,
body.shop-page .shop-hero-feature-grid .shop-product-gallery-dots{
  z-index:2!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  position:absolute!important;
  top:-4%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  display:block!important;
  width:94%!important;
  height:108%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:translateX(-50%)!important;
  filter:none!important;
  box-shadow:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
  transform:translateX(-50%)!important;
}

@media (max-width:991px){
  body.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
  body.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
    top:-2%!important;
    width:96%!important;
    height:106%!important;
  }
}

/* =========================================================
   Hero featured cards: strong blurred gutter background for
   TV / large-screen browsers using contain-mode product images.
   This is scoped only to the top hero featured grid.
   ========================================================= */
.shop-page .shop-hero-feature-grid .shop-product-image-wrap{
  background:#f7f9fb !important;
  overflow:hidden !important;
  isolation:isolate;
}

.shop-page .shop-hero-feature-grid .shop-product-gallery-slide{
  overflow:hidden !important;
  background:#f7f9fb !important;
  isolation:isolate;
}

.shop-page .shop-hero-feature-grid .shop-product-gallery-slide::before{
  content:"";
  position:absolute;
  inset:-22%;
  z-index:0;
  background-image:var(--shop-hero-gallery-bg, none);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:blur(30px) saturate(1.08);
  transform:scale(1.18);
  opacity:.92;
  pointer-events:none;
}

.shop-page .shop-hero-feature-grid .shop-product-gallery-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}

.shop-page .shop-hero-feature-grid .shop-product-gallery-slide img,
.shop-page .shop-hero-feature-grid .shop-product-image-wrap > img{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  transform-origin:center center !important;
  background:transparent !important;
}

.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-gallery-slide img,
.shop-page .shop-hero-feature-grid .shop-product-card:hover .shop-product-image-wrap > img{
  transform:none !important;
}

@media (min-width:1200px){
  .shop-page .shop-hero-feature-grid .shop-product-gallery-slide::before{
    inset:-28%;
    filter:blur(34px) saturate(1.10);
    transform:scale(1.24);
    opacity:.96;
  }
}

/* =========================================================
   Hero featured product cards: image-only presentation
   Scope: only cards rendered inside .shop-hero-feature-grid.
   Product details and badges remain unchanged in every normal
   shop carousel and Product Management view.
   ========================================================= */
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  display:flex!important;
  flex-direction:column!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only > .shop-product-body,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-badges{
  display:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-image-wrap{
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  background:#fff!important;
  background-image:none!important;
  overflow:hidden!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-image-wrap::before,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-image-wrap::after,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-gallery-slide::before,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-gallery-slide::after{
  content:none!important;
  display:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-gallery-track,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-gallery-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:#fff!important;
  background-image:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-image-wrap > img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:clamp(6px,.55vw,10px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  background-image:none!important;
  transform:none!important;
  transform-origin:center center!important;
  filter:none!important;
  box-shadow:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only:hover .shop-product-gallery-slide img,
body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only:hover .shop-product-image-wrap > img{
  transform:none!important;
}

body.shop-page .shop-hero-feature-grid .shop-product-card.is-image-only .shop-product-image-fallback{
  width:100%!important;
  height:100%!important;
}

/* =========================================================
   Professional racket gutting promotional section
   Scope: public Shop page only, inserted between the Hero and
   sticky catalogue toolbar. No existing product styles altered.
   ========================================================= */
body.shop-page .shop-gutting-promo{
  position:relative;
  padding:clamp(24px,3vw,38px) 0;
  background:
    radial-gradient(circle at 8% 50%,rgba(255,182,39,.10),transparent 34%),
    linear-gradient(180deg,rgba(7,23,39,.98),rgba(10,37,62,.98));
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.shop-page .shop-gutting-promo-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:clamp(18px,2.2vw,30px);
  align-items:stretch;
}

body.shop-page .shop-gutting-promo-media{
  position:relative;
  min-height:100%;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:#EAF1F7;
  box-shadow:0 20px 54px rgba(0,0,0,.28);
}

body.shop-page .shop-gutting-promo-media img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

body.shop-page .shop-gutting-coming-soon{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 13px;
  border-radius:999px;
  color:#0B2540;
  background:linear-gradient(135deg,#FFD45A,#FFB627);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

body.shop-page .shop-gutting-coming-soon svg{
  width:16px;
  height:16px;
  fill:currentColor;
}

body.shop-page .shop-gutting-promo-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  padding:clamp(22px,2.8vw,36px);
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.15);
  background:
    radial-gradient(circle at 92% 12%,rgba(255,182,39,.18),transparent 30%),
    linear-gradient(135deg,rgba(18,73,121,.98),rgba(6,31,55,.98));
  box-shadow:0 22px 58px rgba(0,0,0,.30);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

@media (hover:hover) and (pointer:fine){
  body.shop-page .shop-gutting-promo-grid:hover .shop-gutting-promo-content{
    transform:translateY(-2px);
    border-color:rgba(255,182,39,.34);
    box-shadow:0 26px 66px rgba(0,0,0,.34);
  }
}

body.shop-page .shop-gutting-heading-row{
  display:flex;
  align-items:center;
  gap:14px;
}

body.shop-page .shop-gutting-heading-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:16px;
  color:#0B2540;
  background:linear-gradient(135deg,#FFD45A,#FFB627);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}

body.shop-page .shop-gutting-heading-icon svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

body.shop-page .shop-gutting-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#FFD45A;
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

body.shop-page .shop-gutting-promo-content h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.5rem,1.6vw,2.35rem);
  line-height:1.08;
}

body.shop-page .shop-gutting-intro{
  max-width:1000px;
  margin:0;
  color:#DDEAF6;
  font-size:clamp(.94rem,1.3vw,1.04rem);
  line-height:1.65;
}

body.shop-page .shop-gutting-details-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.35fr);
  gap:14px;
}

body.shop-page .shop-gutting-info-card{
  padding:15px 16px;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.065);
}

body.shop-page .shop-gutting-info-card h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 11px;
  color:#FFD45A;
  font-size:1rem;
}

body.shop-page .shop-gutting-info-card h3 svg{
  flex:0 0 auto;
  width:18px;
  height:18px;
  fill:currentColor;
}

body.shop-page .shop-gutting-checklist{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

body.shop-page .shop-gutting-checklist.is-two-column{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

body.shop-page .shop-gutting-checklist li{
  position:relative;
  padding-left:22px;
  color:#F5F9FD;
  font-size:.86rem;
  line-height:1.4;
}

body.shop-page .shop-gutting-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.28em;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#FFD45A;
  box-shadow:0 0 0 3px rgba(255,212,90,.14);
}

body.shop-page .shop-gutting-checklist li::after{
  content:"";
  position:absolute;
  left:4px;
  top:.49em;
  width:5px;
  height:3px;
  border-left:2px solid #0B2540;
  border-bottom:2px solid #0B2540;
  transform:rotate(-45deg);
}

body.shop-page .shop-gutting-strings{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:13px 15px;
  border-radius:16px;
  border:1px solid rgba(255,212,90,.32);
  background:linear-gradient(90deg,rgba(255,182,39,.18),rgba(255,255,255,.055));
}

body.shop-page .shop-gutting-strings > span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#FFD45A;
  font-family:'Space Mono',monospace;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

body.shop-page .shop-gutting-strings svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

body.shop-page .shop-gutting-strings strong{
  color:#fff;
  font-size:.84rem;
  line-height:1.55;
}

body.shop-page .shop-gutting-strings i{
  color:#FFD45A;
  font-style:normal;
}

body.shop-page .shop-gutting-footer-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
}

body.shop-page .shop-gutting-closing p{
  margin:0 0 9px;
  color:#DDEAF6;
  font-size:.9rem;
  line-height:1.5;
}

body.shop-page .shop-gutting-closing blockquote{
  margin:0;
  padding:10px 13px;
  border-left:3px solid #FFD45A;
  border-radius:0 12px 12px 0;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-family:'Oswald',sans-serif;
  font-size:clamp(.98rem,1.45vw,1.15rem);
  font-weight:600;
  letter-spacing:.02em;
}

body.shop-page .shop-gutting-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:150px;
  white-space:nowrap;
}

body.shop-page .shop-gutting-cta svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

@media (max-width:1100px){
  body.shop-page .shop-gutting-promo-grid{
    grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  }

  body.shop-page .shop-gutting-details-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  body.shop-page .shop-gutting-promo{
    padding:22px 0;
  }

  body.shop-page .shop-gutting-promo-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  body.shop-page .shop-gutting-promo-media{
    display:block;
    width:100%;
    min-height:0;
    aspect-ratio:auto;
  }

  body.shop-page .shop-gutting-promo-media img{
    position:relative;
    inset:auto;
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center center;
    opacity:1;
    visibility:visible;
  }

  body.shop-page .shop-gutting-promo-content{
    padding:20px;
  }

  body.shop-page .shop-gutting-checklist.is-two-column{
    grid-template-columns:1fr;
  }

  body.shop-page .shop-gutting-strings,
  body.shop-page .shop-gutting-footer-row{
    grid-template-columns:1fr;
  }

  body.shop-page .shop-gutting-strings > span{
    white-space:normal;
  }

  body.shop-page .shop-gutting-cta{
    width:100%;
  }
}

@media (max-width:480px){
  body.shop-page .shop-gutting-heading-row{
    align-items:flex-start;
  }

  body.shop-page .shop-gutting-heading-icon{
    width:44px;
    height:44px;
    border-radius:14px;
  }

  body.shop-page .shop-gutting-heading-icon svg{
    width:24px;
    height:24px;
  }

  body.shop-page .shop-gutting-promo-content h2{
    font-size:1rem;
  }
}

@media (prefers-reduced-motion:reduce){
  body.shop-page .shop-gutting-promo-content{
    transition:none;
  }
}

/* Shop Admin: promotional section visibility control */
.shop-admin-alert{
  margin:0 0 18px;
  padding:13px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-weight:700;
  line-height:1.5;
}

.shop-admin-alert.is-success{
  border-color:rgba(82,211,135,.34);
  background:rgba(82,211,135,.13);
}

.shop-admin-alert.is-error{
  border-color:rgba(255,68,56,.38);
  background:rgba(255,68,56,.13);
}

.shop-promo-admin-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-bottom:22px;
}

.shop-promo-admin-title-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:10px;
}

.shop-promo-admin-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:15px;
  color:#0B2540;
  background:linear-gradient(135deg,#FFD45A,#FFB627);
}

.shop-promo-admin-icon svg{
  width:26px;
  height:26px;
  fill:currentColor;
}

.shop-promo-admin-control h2{
  margin:3px 0 0;
}

.shop-promo-admin-copy p{
  max-width:760px;
  margin:0;
  color:#C8D6E4;
  line-height:1.55;
}

.shop-promo-admin-state{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.shop-promo-visibility-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#EAF2FA;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}

.shop-promo-visibility-status > span{
  width:9px;
  height:9px;
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(255,255,255,.07);
}

.shop-promo-visibility-status.is-visible > span{
  background:#52D387;
}

.shop-promo-visibility-status.is-hidden > span{
  background:#FF6A5F;
}

.shop-promo-hide-btn{
  border-color:rgba(255,106,95,.48)!important;
}

.shop-promo-hide-btn:hover{
  border-color:#FF6A5F!important;
  background:rgba(255,106,95,.13)!important;
}

@media (max-width:820px){
  .shop-promo-admin-control{
    grid-template-columns:1fr;
  }

  .shop-promo-admin-state{
    justify-content:flex-start;
  }
}

@media (max-width:520px){
  .shop-promo-admin-state{
    display:grid;
    grid-template-columns:1fr;
  }

  .shop-promo-admin-state form,
  .shop-promo-admin-state .btn{
    width:100%;
  }
}


/* =========================================================
   Standard product carousel: exactly one complete card per mobile view
   Scope: product listing sections only. The flex-basis is fixed at 100%
   so earlier grid column rules cannot compress several cards into one row.
   Hero, tablet/desktop, PHP and product-gallery JavaScript remain unchanged.
   ========================================================= */
@media (max-width:768px){
  body.shop-page .shop-section .shop-carousel{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:stretch;
    width:100%;
    max-width:100%;
    grid-auto-flow:initial!important;
    grid-auto-columns:initial!important;
    gap:16px;
    padding:4px 0 22px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }

  body.shop-page .shop-section .shop-carousel > .shop-product-card{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    box-sizing:border-box;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  body.shop-page .shop-section .shop-product-image-wrap,
  body.shop-page .shop-section .shop-product-gallery-track,
  body.shop-page .shop-section .shop-product-gallery-slide{
    width:100%!important;
    max-width:100%!important;
  }

  body.shop-page .shop-section .shop-product-gallery-slide img,
  body.shop-page .shop-section .shop-product-image-wrap > img{
    display:block;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    padding:4px!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}
