/* Super Limpac design system — visual layer only; no business logic */
:root{
  --brand-navy-950:#06152d;--brand-navy-900:#081a35;--brand-blue-800:#004db7;
  --brand-blue-700:#0069e8;--brand-blue-600:#087cff;--brand-blue-100:#dcecff;--brand-blue-50:#f0f6ff;
  --brand-red-600:#e51f2a;--brand-red-500:#ff2a35;
  --neutral-950:#101828;--neutral-700:#344054;--neutral-600:#475467;--neutral-500:#667085;
  --neutral-300:#d0d5dd;--neutral-200:#e4e7ec;--neutral-100:#f2f4f7;--neutral-50:#f8fafc;--white:#fff;
  --font-display:'Barlow Condensed',Arial,sans-serif;--font-body:'Inter',Arial,sans-serif;
  --text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(6,21,45,.06);--shadow-sm:0 4px 12px rgba(6,21,45,.08);
  --shadow-md:0 12px 30px rgba(6,21,45,.12);--shadow-lg:0 24px 60px rgba(6,21,45,.16);
  --ease-standard:cubic-bezier(.2,.8,.2,1);--duration-fast:160ms;--duration-base:240ms;
  --container:1200px;--header-height:76px;
}
html{scroll-padding-top:calc(var(--header-height) + var(--space-4));}
body{background:var(--neutral-50);color:var(--brand-navy-900);font-size:var(--text-base);}
.wrap{max-width:var(--container);padding-inline:clamp(var(--space-4),4vw,var(--space-8));}
.skip-link{position:fixed;z-index:1000;left:var(--space-4);top:var(--space-4);transform:translateY(-180%);background:var(--white);color:var(--brand-navy-900);padding:.75rem 1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-weight:700;text-decoration:none;transition:transform var(--duration-fast) var(--ease-standard);}
.skip-link:focus{transform:translateY(0);}
:focus-visible{outline:3px solid var(--brand-red-500);outline-offset:3px;}
section{padding-block:clamp(var(--space-16),7vw,var(--space-24));}
.section-head{margin-bottom:clamp(var(--space-8),4vw,var(--space-12));}
.section-head p{max-width:62ch;}
.eyebrow{font-size:var(--text-sm);letter-spacing:.14em;margin-bottom:var(--space-3);}

/* Header and navigation */
header{min-height:var(--header-height);background:rgba(6,21,45,.92);backdrop-filter:blur(14px) saturate(130%);box-shadow:0 1px 0 rgba(255,255,255,.08);}
.nav-inner{min-height:var(--header-height);padding-block:var(--space-3);gap:var(--space-5);}
.brand-mark{width:42px;height:42px;border-radius:var(--radius-sm);}
.logo-word{font-size:1.35rem;}.logo-tag{font-size:.65rem;letter-spacing:.14em;}
nav.links{gap:clamp(var(--space-3),2vw,var(--space-6));}
nav.links a{position:relative;border:0;padding:.6rem .15rem;font-size:1.05rem;}
nav.links a::after{content:"";position:absolute;left:0;right:100%;bottom:.25rem;height:2px;background:var(--brand-red-500);transition:right var(--duration-base) var(--ease-standard);}
nav.links a:hover::after,nav.links a.active::after{right:0;}
.lang-switch{border-color:rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:2px;}
.lang-btn{border-radius:var(--radius-pill);min-width:34px;min-height:30px;}
.nav-cart,.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center;}

/* Buttons and interactive states */
.btn,.btn-add-cart{border-radius:var(--radius-sm);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),background-color var(--duration-base) ease,border-color var(--duration-base) ease;}
.btn:hover,.btn-add-cart:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn:active,.btn-add-cart:active{transform:translateY(0);box-shadow:var(--shadow-xs);}
.btn:disabled,.btn-add-cart:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-primary,.btn-add-cart{background:linear-gradient(135deg,var(--brand-blue-700),var(--brand-blue-600));}

/* Hero and page introductions */
.hero{padding-block:clamp(var(--space-20),9vw,7.5rem);background-position:center 28%;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,21,45,.22),transparent 58%);pointer-events:none;}
.hero h1{font-size:clamp(2.75rem,6vw,5rem);max-width:15ch;}
.hero-lede{font-size:clamp(1rem,2vw,1.2rem);line-height:1.7;}
.hero-stats{border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid rgba(255,255,255,.14);background:rgba(6,21,45,.3);backdrop-filter:blur(8px);}
.page-hero{padding-block:clamp(var(--space-12),6vw,var(--space-20));background:radial-gradient(700px 280px at 90% 0,rgba(255,42,53,.16),transparent 65%),linear-gradient(135deg,var(--brand-navy-950),var(--brand-blue-800) 72%,var(--brand-blue-700));}
.page-hero h1{font-size:clamp(2.5rem,5vw,4rem);max-width:18ch;}

/* Cards and media */
.service-card,.pillar,.province,.chart-card,.team-card,.contact-info-card,.product-card,.admin-form-card{border-color:rgba(8,26,53,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);}
.service-card,.product-card,.contact-info-card,.team-card{transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),border-color var(--duration-base) ease;}
.service-card:hover,.product-card:hover,.contact-info-card:hover,.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(0,105,232,.28);}
.service-card>img{border-radius:var(--radius-md)!important;}
.media-frame,.gallery-grid figure,.map-frame,.reveal-frame{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.product-media{background:linear-gradient(145deg,var(--brand-blue-50),var(--brand-blue-100));}
.product-body{padding:var(--space-5);gap:var(--space-3);}
.product-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;}
.featured-products-grid .product-desc{-webkit-line-clamp:3;min-height:4.05rem;}
.product-price{color:var(--brand-blue-700);font-weight:600;}
.filter-chip{min-height:42px;border-radius:var(--radius-pill);}

/* Forms and feedback */
form.quote-form{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);}
.field label{color:var(--neutral-700);letter-spacing:.05em;}
.field input,.field select,.field textarea{min-height:46px;border-color:var(--neutral-300);border-radius:var(--radius-sm);background:var(--white);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--brand-blue-700);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-blue-700);box-shadow:0 0 0 4px rgba(0,105,232,.12);}
.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed;}
.form-success{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);}
.form-error{display:none;margin-top:var(--space-4);padding:var(--space-4);border:1px solid #fda29b;border-radius:var(--radius-sm);background:#fef3f2;color:#b42318;font-size:var(--text-sm);}
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;}

/* CTA and footer */
.cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brand-navy-950),var(--brand-navy-900));}
.cta-band::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-140px;top:-230px;background:rgba(0,105,232,.2);}
.cta-band>.wrap{position:relative;z-index:1;}
footer{background:var(--brand-navy-950);padding-top:clamp(var(--space-12),6vw,var(--space-16));}
.footer-grid{gap:clamp(var(--space-6),4vw,var(--space-12));}
.footer-links a{display:inline-flex;padding-block:.2rem;text-underline-offset:4px;}
.footer-bottom{border-top-color:rgba(255,255,255,.12);}

/* Responsive system */
@media(max-width:1100px){nav.links{gap:var(--space-3)}.nav-inner>.btn{display:none}.hero-inner{grid-template-columns:1fr}.hero-stats{max-width:700px}}
@media(max-width:900px){
  .menu-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);}
  nav.links{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:var(--space-4) clamp(var(--space-4),4vw,var(--space-8)) var(--space-6);background:rgba(6,21,45,.98);box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:var(--space-1);}
  nav.links.is-open{display:flex;}nav.links a{padding:.8rem var(--space-3);border-radius:var(--radius-sm);}nav.links a:hover{background:rgba(255,255,255,.06)}
  .about-grid,.split-media,.coverage-layout,.quote-layout,.service-detail,.reveal-layout{grid-template-columns:1fr;gap:var(--space-10)}
  .service-detail.reverse .media-frame{order:initial}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  :root{--header-height:68px}.wrap{padding-inline:var(--space-4)}section{padding-block:var(--space-12)}
  .brand-text{display:none}.lang-switch{margin-left:auto}.hero h1{font-size:2.6rem}.hero-stats{grid-template-columns:1fr;padding:var(--space-5)}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}.gallery-grid .big{grid-column:span 2}
  .services-grid,.product-grid,.featured-products-grid{grid-template-columns:1fr}.product-media{height:230px;min-height:230px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--space-3)}
  form.quote-form{padding:var(--space-5)}.form-row{grid-template-columns:1fr}
  .sl-toast{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);transform:translateY(20px);max-width:none;text-align:center}.sl-toast.show{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Product cards - modern quotation style */
.catalog-section{
  padding-block:clamp(3rem,5vw,5rem);
}
.product-catalog-layout{
  display:grid;
  grid-template-columns:minmax(220px,260px) minmax(0,1fr);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:start;
}
.catalog-sidebar{
  position:sticky;
  top:calc(var(--header-height) + 1rem);
  z-index:5;
  overflow:hidden;
  border:1px solid rgba(8,26,53,.12);
  border-radius:.9rem;
  background:#fff;
  box-shadow:0 10px 28px rgba(6,21,45,.08);
}
.catalog-sidebar-title{
  padding:.95rem 1rem;
  border-bottom:1px solid rgba(8,26,53,.12);
  background:#f8fafc;
  color:var(--brand-navy-950);
  font-family:var(--font-display);
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:.02em;
}
.catalog-sidebar .category-filters{
  display:grid;
  gap:0;
  margin:0;
}
.catalog-sidebar .filter-chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  width:100%;
  min-height:0;
  padding:.78rem .9rem;
  border:0;
  border-bottom:1px solid rgba(8,26,53,.1);
  border-radius:0;
  background:#fff;
  color:#43524f;
  font-family:var(--font-body);
  font-size:.88rem;
  font-weight:700;
  line-height:1.25;
  text-align:left;
  letter-spacing:0;
}
.catalog-sidebar .filter-chip:last-child{
  border-bottom:0;
}
.catalog-sidebar .filter-chip span{
  min-width:0;
}
.catalog-sidebar .filter-chip small{
  flex:none;
  min-width:1.7rem;
  padding:.13rem .42rem;
  border-radius:var(--radius-pill);
  background:#eef4fb;
  color:#445674;
  font-size:.72rem;
  font-weight:800;
  text-align:center;
}
.catalog-sidebar .filter-chip.active,
.catalog-sidebar .filter-chip:hover{
  background:var(--brand-blue-700);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
.catalog-sidebar .filter-chip.active small,
.catalog-sidebar .filter-chip:hover small{
  background:rgba(255,255,255,.2);
  color:#fff;
}
.catalog-products{
  min-width:0;
}
.product-grid{
  grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:clamp(1rem,2vw,1.5rem);
}
.featured-products-grid{
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:clamp(1rem,2vw,1.5rem);
}
.product-card-modern{
  overflow:hidden;
  border:1px solid rgba(8,26,53,.1);
  border-radius:1rem;
  background:var(--white);
  box-shadow:0 12px 34px rgba(6,21,45,.1);
}
.product-card-modern:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 48px rgba(6,21,45,.15);
  border-color:rgba(229,31,42,.22);
}
.product-card-modern .product-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:250px;
  min-height:250px;
  aspect-ratio:auto;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.75),rgba(255,255,255,.1) 48%,rgba(255,255,255,.72)),
    radial-gradient(circle at 78% 18%,rgba(0,105,232,.18),transparent 34%),
    linear-gradient(135deg,#f7fbff,#dcecff);
  text-decoration:none;
}
.product-card-modern .product-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,0) 62%,rgba(255,255,255,.9)),
    repeating-linear-gradient(90deg,rgba(8,26,53,.045) 0 1px,transparent 1px 72px);
  pointer-events:none;
}
.product-card-modern .product-media img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  padding:0;
  filter:drop-shadow(0 18px 22px rgba(6,21,45,.16));
  transition:transform var(--duration-base) var(--ease-standard);
  transform:scale(1.1);
}
.product-card-modern:hover .product-media img{transform:scale(1.16);}
.product-card-modern .product-cat{
  position:absolute;
  z-index:2;
  top:.85rem;
  left:.85rem;
  margin:0;
  max-width:calc(100% - 2rem);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border-radius:var(--radius-pill);
  background:rgba(6,21,45,.82);
  color:var(--white);
  padding:.36rem .65rem;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.06em;
}
.product-card-modern .product-body{
  padding:clamp(1rem,2.4vw,1.35rem);
  gap:.78rem;
}
.product-card-modern .product-name{
  font-family:var(--font-display);
  font-size:clamp(1.28rem,2.4vw,1.62rem);
  font-weight:800;
  line-height:1.08;
  color:var(--brand-navy-950);
  letter-spacing:0;
}
.featured-products-grid .product-card-modern .product-name{
  font-size:clamp(1.2rem,2.2vw,1.45rem);
}
.product-card-modern .product-desc{
  margin:0;
  color:#445674;
  font-size:.9rem;
  line-height:1.48;
  -webkit-line-clamp:3;
  min-height:4em;
}
.featured-products-grid .product-card-modern .product-desc{
  -webkit-line-clamp:2;
  min-height:2.7em;
}
.product-price-panel{
  display:flex;
  align-items:center;
  gap:.78rem;
  min-height:3.9rem;
  padding:.72rem .88rem;
  border-radius:.75rem;
  background:linear-gradient(135deg,#f8fbff,#eef4fb);
  color:var(--brand-navy-900);
}
.product-price-panel i{
  flex:none;
  color:var(--brand-red-600);
  font-size:1.7rem;
  line-height:1;
}
.product-price-panel strong{
  display:block;
  color:var(--brand-red-600);
  font-family:var(--font-display);
  font-size:clamp(1.05rem,2.1vw,1.3rem);
  font-weight:800;
  line-height:1.05;
}
.product-price-panel span{
  display:block;
  margin-top:.12rem;
  color:#445674;
  font-size:.82rem;
  line-height:1.25;
}
.product-price-panel-value strong{color:var(--brand-navy-950);}
.product-price-panel-value i{color:var(--brand-blue-700);}
.product-card-modern .product-actions{
  display:grid;
  grid-template-columns:minmax(104px,.76fr) minmax(0,1.3fr);
  gap:.75rem;
  align-items:stretch;
  margin-top:.25rem;
}
.product-card-modern .qty-stepper{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  min-height:3rem;
  border:1px solid rgba(8,26,53,.12);
  border-radius:.62rem;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-xs);
}
.product-card-modern .qty-stepper button,
.product-card-modern .qty-stepper input{
  width:100%;
  height:100%;
  min-height:3rem;
  border:0;
  color:var(--brand-navy-950);
  font-size:1.05rem;
  font-weight:700;
  text-align:center;
  background:#fff;
}
.product-card-modern .qty-stepper button{
  cursor:pointer;
  background:#f7f9fc;
}
.product-card-modern .qty-stepper button:hover{background:#eef4fb;}
.product-card-modern .qty-input::-webkit-outer-spin-button,
.product-card-modern .qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.product-card-modern .qty-input{
  -moz-appearance:textfield;
  font-family:var(--font-body);
}
.product-card-modern .btn-add-cart{
  min-height:3rem;
  border:0;
  border-radius:.62rem;
  background:linear-gradient(135deg,#ec1824,#c90012);
  color:#fff;
  font-size:clamp(.86rem,1.7vw,1rem);
  letter-spacing:0;
  box-shadow:0 10px 18px rgba(201,0,18,.18);
}
.product-card-modern .btn-add-cart i{font-size:1.22em;}
.product-card-modern .btn-add-cart:hover{
  background:linear-gradient(135deg,#f22430,#b90010);
  box-shadow:0 18px 32px rgba(201,0,18,.28);
}
.product-card-modern .btn-add-cart.added{
  background:linear-gradient(135deg,#1f9d55,#157a41);
  box-shadow:0 16px 26px rgba(31,157,85,.2);
}
@media(max-width:700px){
  .product-catalog-layout{grid-template-columns:1fr;}
  .catalog-sidebar{position:relative;top:auto;}
  .product-grid,.featured-products-grid{grid-template-columns:1fr;}
  .product-card-modern .product-media{height:240px;min-height:240px;}
  .product-card-modern .product-actions{grid-template-columns:1fr;}
  .product-card-modern .product-desc{min-height:auto;}
}

/* Product detail page */
.product-detail-hero{
  padding-block:clamp(2.5rem,5vw,4.5rem);
}
.product-detail-hero h1{
  max-width:18ch;
  font-size:clamp(2rem,4vw,3.4rem);
}
.product-detail-section{
  padding-block:clamp(2.5rem,5vw,4.5rem);
}
.product-detail{
  display:block;
  min-height:0;
}
.product-detail-card{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
  padding:clamp(1rem,2.4vw,1.5rem);
  border:1px solid rgba(8,26,53,.08);
  border-radius:1.25rem;
  background:#fff;
  box-shadow:0 18px 48px rgba(6,21,45,.1);
}
.product-detail-card .product-gallery{
  min-width:0;
}
.product-detail-card .product-detail-media{
  position:relative;
  aspect-ratio:1.2/1;
  border-radius:1rem;
  background:
    linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.1) 48%,rgba(255,255,255,.72)),
    radial-gradient(circle at 75% 20%,rgba(0,105,232,.14),transparent 34%),
    linear-gradient(135deg,#f8fbff,#dcecff);
  overflow:hidden;
}
.product-detail-card .product-detail-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:clamp(1.25rem,4vw,2.5rem);
  filter:drop-shadow(0 18px 24px rgba(6,21,45,.12));
}
.product-detail-card .product-thumbnails{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(64px,1fr));
  gap:.65rem;
  margin-top:.85rem;
}
.product-detail-card .product-thumb{
  height:70px;
  border:2px solid transparent;
  border-radius:.65rem;
  background:#eef4fb;
  padding:.35rem;
  cursor:pointer;
  overflow:hidden;
}
.product-detail-card .product-thumb.active,
.product-detail-card .product-thumb:hover{
  border-color:var(--brand-red-600);
}
.product-detail-card .product-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.product-detail-copy{
  max-width:620px;
}
.product-detail-copy .eyebrow{
  margin-bottom:.7rem;
}
.product-detail-copy h2{
  margin-bottom:.8rem;
  font-size:clamp(2rem,4.3vw,3.25rem);
  line-height:1;
  letter-spacing:0;
  color:var(--brand-navy-950);
}
.product-detail-description{
  max-width:56ch;
  color:#445674;
  font-size:1rem;
  line-height:1.65;
}
.product-detail-price-card{
  display:flex;
  align-items:center;
  gap:.9rem;
  max-width:460px;
  margin:1.35rem 0 1rem;
  padding:.85rem 1rem;
  border-radius:.85rem;
  background:linear-gradient(135deg,#f8fbff,#eef4fb);
}
.product-detail-price-card i{
  flex:none;
  color:var(--brand-red-600);
  font-size:1.9rem;
}
.product-detail-price-card strong{
  display:block;
  color:var(--brand-red-600);
  font-family:var(--font-display);
  font-size:clamp(1.25rem,2.4vw,1.65rem);
  font-weight:800;
  line-height:1;
}
.product-detail-price-card span{
  display:block;
  margin-top:.2rem;
  color:#445674;
  font-size:.9rem;
}
.product-detail-actions{
  display:grid;
  grid-template-columns:minmax(110px,140px) minmax(0,320px);
  gap:.85rem;
  max-width:480px;
  margin:1rem 0 1.15rem;
}
.product-detail-actions .qty-stepper{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  min-height:3rem;
  border:1px solid rgba(8,26,53,.12);
  border-radius:.65rem;
  overflow:hidden;
}
.product-detail-actions .qty-stepper button,
.product-detail-actions .qty-stepper input{
  width:100%;
  min-height:3rem;
  border:0;
  background:#fff;
  color:var(--brand-navy-950);
  font-weight:700;
  text-align:center;
}
.product-detail-actions .qty-stepper button{
  background:#f7f9fc;
  cursor:pointer;
}
.product-detail-actions .btn-add-cart{
  min-height:3rem;
  border-radius:.65rem;
  border:0;
  background:linear-gradient(135deg,#ec1824,#c90012);
  color:#fff;
  font-size:1rem;
  box-shadow:0 10px 18px rgba(201,0,18,.18);
}
.product-back-link{
  display:inline-flex;
  align-items:center;
  color:var(--brand-blue-700);
  font-weight:700;
  text-decoration:none;
}
.product-back-link:hover{
  color:var(--brand-navy-950);
}
.product-strip-section{
  padding-block:clamp(2.5rem,5vw,4rem);
}
.related-products-section{
  background:#f8fafc;
}
.recent-products-section{
  background:#fff;
}
.product-strip-head{
  margin-bottom:1.25rem;
}
.product-strip-head h2{
  font-size:clamp(1.75rem,3vw,2.5rem);
}
.product-mini-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:1rem;
}
.product-mini-card{
  overflow:hidden;
  border:1px solid rgba(8,26,53,.08);
  border-radius:.9rem;
  background:#fff;
  box-shadow:0 8px 24px rgba(6,21,45,.08);
  transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard);
}
.product-mini-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(6,21,45,.13);
}
.product-mini-media{
  display:block;
  height:150px;
  overflow:hidden;
  background:linear-gradient(135deg,#f8fbff,#dcecff);
}
.product-mini-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.06);
}
.product-mini-body{
  padding:.9rem;
}
.product-mini-body h3{
  margin:0 0 .55rem;
  font-size:1.1rem;
  line-height:1.12;
}
.product-mini-body h3 a{
  color:var(--brand-navy-950);
  text-decoration:none;
}
.product-mini-body span{
  display:inline-flex;
  border-radius:var(--radius-pill);
  background:#eef4fb;
  color:var(--brand-red-600);
  padding:.28rem .6rem;
  font-size:.78rem;
  font-weight:800;
}
.product-detail-cta{
  padding-block:clamp(2.5rem,5vw,3.75rem);
}
@media(max-width:860px){
  .product-detail-card{
    grid-template-columns:1fr;
  }
  .product-detail-actions{
    grid-template-columns:1fr;
  }
}

/* Admin product manager polish */
.admin-shell{
  background:#f5f7fb;
}
.admin-shell .admin-topbar{
  background:var(--brand-navy-950);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.admin-shell section>.wrap{
  max-width:1360px;
}
.admin-shell .row.g-4{
  align-items:flex-start;
}
.admin-shell .col-lg-4{
  width:34%;
}
.admin-shell .col-lg-8{
  width:66%;
}
.admin-shell .admin-form-card{
  border:1px solid rgba(8,26,53,.1);
  border-radius:1rem;
  background:#fff;
  box-shadow:0 14px 38px rgba(6,21,45,.08);
}
.admin-shell .admin-form-card h2{
  margin-bottom:1rem;
  color:var(--brand-navy-950);
  font-size:clamp(1.6rem,2.4vw,2rem);
}
.admin-shell .field label{
  margin-bottom:.45rem;
  color:var(--brand-navy-900);
  font-size:.78rem;
}
.admin-shell .field input,
.admin-shell .field select,
.admin-shell .field textarea{
  border-radius:.65rem;
}
.admin-shell .table-responsive{
  overflow:auto;
  border:1px solid rgba(8,26,53,.08);
  border-radius:.9rem;
  background:#fff;
}
.admin-shell .admin-table{
  min-width:760px;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.admin-shell .admin-table th{
  position:sticky;
  top:0;
  z-index:1;
  padding:.9rem 1rem;
  background:#edf3fb;
  color:#2f3c4f;
  font-family:var(--font-body);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
}
.admin-shell .admin-table td{
  vertical-align:middle;
  padding:1rem;
  color:var(--brand-navy-950);
  font-size:.9rem;
}
.admin-shell .admin-table tbody tr{
  transition:background-color var(--duration-fast) ease;
}
.admin-shell .admin-table tbody tr:hover{
  background:#f8fbff;
}
.admin-shell .admin-table td:first-child{
  width:96px;
}
.admin-shell .admin-table img{
  width:72px;
  height:72px;
  object-fit:cover;
  padding:0;
  border:1px solid rgba(8,26,53,.08);
  border-radius:.8rem;
  background:linear-gradient(135deg,#f8fbff,#e8f2ff);
  box-shadow:0 8px 18px rgba(6,21,45,.06);
  transform:scale(1.08);
}
.admin-shell .admin-table td:nth-child(2){
  max-width:320px;
  font-weight:700;
  line-height:1.35;
}
.admin-shell .admin-table td:nth-child(3),
.admin-shell .admin-table td:nth-child(4){
  color:#445674;
  font-size:.86rem;
}
.admin-shell .admin-table td:nth-child(4){
  font-weight:700;
}
.admin-shell .admin-table td:last-child{
  width:110px;
}
.admin-shell .admin-table td:last-child form{
  display:grid;
  gap:.45rem;
  justify-items:start;
}
.admin-shell .admin-edit-btn,
.admin-shell .admin-danger-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:76px;
  min-height:32px;
  margin:0;
  border-radius:.55rem;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.admin-shell .admin-edit-btn{
  border:1px solid rgba(8,26,53,.12);
  background:#eef4fb;
  color:var(--brand-navy-950);
}
.admin-shell .admin-edit-btn:hover{
  background:#dcecff;
}
.admin-shell .admin-danger-btn{
  background:#ff2633;
  color:#fff;
}
.admin-shell .admin-danger-btn:hover{
  background:#d80f1d;
}
@media(max-width:991px){
  .admin-shell .col-lg-4,
  .admin-shell .col-lg-8{
    width:100%;
  }
}
