/* Homepage presentation only; catalogue data and ordering hooks are unchanged. */

/* ---------- Hero ---------- */
.hero-wrap{padding-top:20px}
.premium-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-lg);background:var(--brand-navy);box-shadow:var(--shadow-lg)}
.premium-hero:focus-visible{outline:3px solid var(--brand-cyan);outline-offset:3px}
.premium-hero :focus-visible{outline-color:var(--brand-cyan-soft)}
.banner-slide{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;min-height:520px}
.banner-media,.banner-shade{position:absolute;inset:0}
.banner-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.banner-shade{background:linear-gradient(90deg,rgba(3,18,47,.95) 0%,rgba(6,29,73,.86) 34%,rgba(6,29,73,.25) 68%,rgba(6,29,73,0) 100%)}
.banner-without-image{background:radial-gradient(120% 140% at 100% 0%,#0b4aa0 0%,rgba(11,74,160,0) 55%),linear-gradient(135deg,#041638 0%,var(--brand-navy) 45%,#0a3577 100%)}
.banner-without-image .banner-shade{background:radial-gradient(40% 60% at 85% 30%,rgba(5,189,244,.22),transparent 70%),repeating-linear-gradient(115deg,transparent 0 46px,rgba(111,220,255,.05) 46px 47px)}
.banner-copy{position:relative;z-index:1;padding:56px clamp(28px,5vw,64px)}
.banner-copy .eyebrow{color:var(--brand-cyan-soft)}
.banner-copy h1,.banner-copy h2{max-width:640px;margin:16px 0 18px;color:#fff;font-size:clamp(34px,3.7vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.025em;overflow-wrap:anywhere}
.banner-subheading{max-width:560px;color:#d3e1f3;font-size:17px;line-height:1.65}
.banner-body{max-width:560px;margin-top:10px;color:#b9cbe4;font-size:15px;line-height:1.7;white-space:pre-line}
.banner-copy .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.banner-copy .primary-action{background:linear-gradient(135deg,var(--brand-blue),#06a6ea);box-shadow:0 10px 24px rgba(5,140,240,.35)}
.banner-copy .primary-action:hover{background:linear-gradient(135deg,var(--brand-blue-dark),#0595d3)}
.banner-copy .outline-action{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff}
.banner-copy .outline-action:hover{border-color:#fff;background:rgba(255,255,255,.12);color:#fff}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin:34px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);list-style:none}
.hero-facts li{display:inline-flex;align-items:center;gap:8px;color:#d3e1f3;font-size:14px;font-weight:500}
.hero-facts .icon{width:17px;height:17px;color:var(--brand-cyan)}
.hero-showcase{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;align-self:stretch;padding:28px 28px 28px 0}
.hero-showcase-item{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:rgba(255,255,255,.06)}
.hero-showcase-item:first-child{grid-row:1/3}
.hero-showcase-item:only-child{grid-column:1/-1}
.hero-showcase-item:nth-child(2):last-child{grid-row:1/3}
.hero-showcase-item img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero-showcase-item small{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);overflow:hidden;padding:5px 10px;border-radius:999px;background:rgba(3,18,47,.78);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.banner-controls{position:absolute;z-index:3;right:20px;bottom:20px;display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:rgba(3,18,47,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.banner-controls>button{display:grid;place-items:center;min-width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:transparent;color:#fff}
.banner-controls>button:hover{background:rgba(255,255,255,.12)}
.banner-controls .icon{width:18px;height:18px}
.banner-controls .banner-play{padding:0 12px;font-size:12px;font-weight:600}
.banner-dots{display:flex;gap:6px;padding:0 4px}
.banner-dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.4);transition:width .2s,background-color .2s}
.banner-dots button[aria-pressed=true]{width:24px;background:var(--brand-cyan)}

/* ---------- Trust strip ---------- */
.trust-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}
.trust-strip>div{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.trust-mark{display:grid;place-items:center;grid-row:1/3;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--brand-sky);color:var(--brand-blue)}
.trust-mark .icon{width:22px;height:22px}
.trust-strip b{align-self:end;color:var(--brand-navy);font-size:14px;line-height:1.3}
.trust-strip small{align-self:start;color:var(--muted);font-size:13px;line-height:1.4}

/* ---------- Catalogue ---------- */
.catalogue-section{padding-top:72px}
.catalogue-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.catalogue-filters{display:flex;flex-wrap:wrap;gap:8px}
.catalogue-search{width:min(320px,100%)}
.catalogue-result{margin:14px 0 18px;color:var(--muted);font-size:13px}
.catalogue-result:empty{margin:0 0 18px}
.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.quality-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.quality-card:hover{transform:translateY(-4px);border-color:#c4d8ee;box-shadow:var(--shadow)}
.quality-image{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--surface-2)}
.quality-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .5s var(--ease)}
.quality-card:hover .quality-image img{transform:scale(1.04)}
.quality-image.is-missing{background:url(/static/images/apple-touch-icon.png) center/72px no-repeat,var(--surface-2)}
.quality-image.is-missing img{visibility:hidden}
.new-tag,.catalogue-tag{position:absolute;top:12px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em}
.new-tag{left:12px;background:var(--brand-blue);color:#fff;box-shadow:0 4px 12px rgba(8,120,237,.3)}
.catalogue-tag{right:12px;background:rgba(6,29,73,.9);color:#fff}
.quality-info{display:flex;flex:1;flex-direction:column;padding:16px 18px 18px}
.quality-info>small{color:var(--brand-blue);font-size:12px;font-weight:700;letter-spacing:.1em}
.quality-info h3{margin:4px 0 6px;color:var(--brand-navy);font-size:18px}
.quality-info p{display:-webkit-box;margin-bottom:16px;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.card-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);color:var(--brand-navy);font-size:14px;font-weight:600}
.card-link .icon{color:var(--brand-blue);transition:transform .2s var(--ease)}
.quality-card:hover .card-link .icon{transform:translateX(3px)}

/* ---------- ERP CMS sections ---------- */
.cms-home-section{padding:72px 0;background:var(--surface-2)}
.cms-home-section+.cms-home-section:nth-of-type(even){background:#fff}
.cms-home-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:56px}
.cms-home-section--text .cms-home-inner{grid-template-columns:minmax(0,1fr)}
.cms-home-section--text .cms-home-copy{max-width:780px;margin-inline:auto;text-align:center}
.cms-home-copy h2{margin:10px 0 14px;color:var(--brand-navy);font-size:clamp(26px,2.8vw,36px)}
.cms-home-copy p{color:var(--muted);font-size:16px;line-height:1.75}
.cms-home-copy .text-action{margin-top:20px}
.cms-home-image{width:100%;max-height:440px;aspect-ratio:1.45;border-radius:var(--radius-lg);background:var(--surface-3);object-fit:cover}

/* ---------- Ordering steps ---------- */
.portal-overview{margin-block:72px}
.overview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.overview-heading h2{margin-top:8px;color:var(--brand-navy);font-size:clamp(26px,2.6vw,34px)}
.overview-count{display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:14px;white-space:nowrap}
.overview-count b{color:var(--brand-navy);font-size:18px}
.overview-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 0;padding:0;list-style:none;counter-reset:step}
.overview-steps li{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;counter-increment:step}
.overview-steps li::after{content:"0" counter(step);position:absolute;top:14px;right:18px;color:var(--line-strong);font:800 22px/1 var(--font-display)}
.step-icon{display:grid;place-items:center;grid-row:1/3;width:52px;height:52px;border-radius:50%;background:var(--brand-sky);color:var(--brand-blue)}
.step-icon .icon{width:24px;height:24px}
.overview-steps b{align-self:end;color:var(--brand-navy);font-size:16px}
.overview-steps small{align-self:start;color:var(--muted);font-size:14px}

/* ---------- Manufacturer + wholesale CTA ---------- */
.manufacturer-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;margin-bottom:72px;overflow:hidden;border-radius:var(--radius-lg);background:radial-gradient(80% 120% at 0% 100%,rgba(5,189,244,.18),transparent 60%),linear-gradient(135deg,#041638,var(--brand-navy) 50%,#0a3577)}
.manufacturer-copy{padding:52px clamp(28px,4vw,56px);color:#fff}
.manufacturer-copy .eyebrow{color:var(--brand-cyan-soft)}
.manufacturer-copy h2{margin:10px 0 12px;color:#fff;font-size:clamp(28px,3vw,38px)}
.manufacturer-copy p{max-width:520px;color:#c3d3ea;font-size:16px;line-height:1.7}
.check-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.check-list li{display:flex;align-items:center;gap:10px;color:#e5eefb;font-size:15px}
.check-list .icon{width:20px;height:20px;color:var(--brand-cyan)}
.buyer-cta{margin:24px;padding:32px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-lg)}
.buyer-cta h2{margin:8px 0 0;color:var(--brand-navy);font-size:clamp(22px,2.2vw,28px)}
.buyer-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.buyer-cta-contact{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.buyer-cta-contact a{display:inline-flex;align-items:center;gap:8px;color:var(--brand-navy);font-size:14px;font-weight:600;text-decoration:none}
.buyer-cta-contact a:hover{color:var(--brand-blue)}
.buyer-cta-contact .icon{width:18px;height:18px;color:var(--brand-blue)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
  .banner-slide{grid-template-columns:minmax(0,1fr) minmax(0,.75fr);min-height:460px}
  .hero-showcase{grid-template-columns:1fr;grid-template-rows:1fr}
  .hero-showcase-item:not(:first-child){display:none}
  .hero-showcase-item:first-child{grid-row:auto}
  .manufacturer-section{grid-template-columns:minmax(0,1fr)}
  .manufacturer-copy{padding-bottom:8px}
  .buyer-cta{margin:24px clamp(16px,3vw,32px) clamp(16px,3vw,32px)}
  .overview-steps{grid-template-columns:1fr}
  .cms-home-inner{grid-template-columns:1fr;gap:28px}
}
@media (max-width:760px){
  .hero-wrap{padding-top:14px}
  .premium-hero{border-radius:var(--radius)}
  .banner-slide{display:block;min-height:0}
  .banner-media{position:relative;display:block;aspect-ratio:16/10}
  .banner-shade{display:none}
  .banner-without-image .banner-shade{display:block}
  .banner-copy{padding:30px 22px 74px;background:transparent}
  .banner-slide:not(.banner-without-image) .banner-copy{background:var(--brand-navy)}
  .banner-without-image .banner-copy{padding-bottom:34px}
  .banner-copy h1,.banner-copy h2{margin:12px 0 14px;font-size:clamp(30px,8.4vw,38px)}
  .banner-subheading{font-size:16px}
  .banner-copy .hero-actions{flex-direction:column;align-items:stretch;margin-top:24px}
  .hero-facts{gap:10px 18px;margin-top:26px;padding-top:16px}
  .hero-facts li{font-size:13px}
  .hero-showcase{display:none}
  .banner-controls{right:50%;bottom:16px;transform:translateX(50%)}
  .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
  .trust-strip>div{grid-template-columns:38px minmax(0,1fr);column-gap:10px;padding:12px}
  .trust-strip>div:last-child{grid-column:1/-1}
  .trust-mark{width:38px;height:38px}
  .trust-mark .icon{width:20px;height:20px}
  .trust-strip b{font-size:13px}
  .trust-strip small{font-size:12px}
  .catalogue-section{padding-top:52px}
  .catalogue-tools{flex-direction:column;align-items:stretch}
  .catalogue-search{width:100%}
  .quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .quality-info{padding:12px 12px 14px}
  .quality-info>small{font-size:11px}
  .quality-info h3{font-size:15px}
  .quality-info p{margin-bottom:12px;font-size:13px}
  .card-link{font-size:13px}
  .new-tag,.catalogue-tag{top:8px;padding:4px 8px;font-size:10px}
  .new-tag{left:8px}
  .catalogue-tag{right:8px}
  .cms-home-section{padding:52px 0}
  .portal-overview{margin-block:52px}
  .overview-heading{flex-direction:column;align-items:flex-start;gap:14px}
  .overview-steps li{padding:16px;grid-template-columns:46px minmax(0,1fr)}
  .step-icon{width:46px;height:46px}
  .manufacturer-section{margin-bottom:52px;border-radius:var(--radius)}
  .manufacturer-copy{padding:32px 22px 4px}
  .buyer-cta{margin:20px 12px 12px;padding:24px 20px}
  .buyer-cta-actions{flex-direction:column;align-items:stretch}
}
@media (max-width:380px){
  .quality-info p{display:none}
  .buyer-cta-actions a,.banner-copy .hero-actions a{white-space:normal;text-align:center}
}
