.swd-catalog-page,
.swd-product-page {
  --catalog-navy: #071b34;
  --catalog-blue: #168fe3;
  --catalog-green: #1fa45b;
  --catalog-muted: #5d6b7d;
  --catalog-line: #dce7ed;
  color: var(--catalog-navy);
}

.swd-catalog-page { margin-top: -64px; }
.swd-catalog-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(70px, 9vw, 126px) max(4vw, calc((100vw - 1180px) / 2));
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 86% 3%, rgba(43, 164, 235, .45), transparent 34%),
    linear-gradient(125deg, #071b34 10%, #0b3155 100%);
}
.swd-catalog-hero::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: -130px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(255,255,255,.035), 0 0 0 96px rgba(255,255,255,.025);
}
.swd-catalog-kicker,
.swd-product-heading span,
.swd-product-type {
  color: #55c986;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.inner-content .swd-catalog-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 12px 0 18px;
  color: #fff;
  font: 900 clamp(48px, 7vw, 94px)/.95 Arial Black, Arial, Helvetica, sans-serif;
  letter-spacing: -.055em;
}
.swd-catalog-hero p,
.swd-catalog-description {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0;
  color: #dce9f4;
  font-size: clamp(17px, 2vw, 21px);
}
.swd-catalog-description p:last-child { margin-bottom: 0; }

.swd-catalog-nav {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: -28px;
  overflow: hidden;
  border: 1px solid var(--catalog-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(7,27,52,.09);
}
.swd-catalog-nav a {
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 24px;
  border-right: 1px solid var(--catalog-line);
  color: var(--catalog-navy);
  text-decoration: none;
}
.swd-catalog-nav a:last-child { border-right: 0; }
.swd-catalog-nav a:hover { background: #eef8ff; }
.swd-catalog-nav span { color: var(--catalog-blue); font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.swd-catalog-nav strong { margin-top: 4px; font-size: 18px; }
.swd-catalog-coming,
.swd-product-coming {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 34px;
  padding: 15px 20px;
  border: 1px solid #b9ddcb;
  border-radius: 10px;
  background: #ecf9f1;
  color: #11643a;
  font-weight: 900;
  text-align: center;
}
.swd-catalog-coming::before,
.swd-product-coming::before { content: ""; width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--catalog-green); }

.swd-popular-section { padding: 76px 0 18px; }
.swd-popular-section + .swd-product-section { padding-top: 62px; }
.swd-product-section { padding: 76px 0 30px; }
.swd-product-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.swd-product-heading h2 { margin: 5px 0 0; font: 900 clamp(32px, 5vw, 54px)/1 Arial Black, Arial, Helvetica, sans-serif; letter-spacing: -.045em; }
.swd-product-heading p { max-width: 500px; margin: 0; color: var(--catalog-muted); }
.swd-product-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.swd-product-card {
  grid-column: span 4;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--catalog-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(7,27,52,.055);
}
.swd-product-card:nth-child(6n + 1),
.swd-product-card:nth-child(6n + 6) { grid-column: span 8; }
.swd-product-card:nth-child(6n + 1) .swd-product-image,
.swd-product-card:nth-child(6n + 6) .swd-product-image { aspect-ratio: 2.05; }
.swd-product-card.swd-card-standard { grid-column: span 4; }
.swd-product-card.swd-card-standard .swd-product-image { aspect-ratio: 1.18; }
.swd-product-card.swd-card-wide { grid-column: span 8; display: grid; grid-template-columns: 1fr 1fr; }
.swd-product-card.swd-card-feature { grid-column: span 8; }
.swd-product-card.swd-card-feature .swd-product-image { aspect-ratio: 2.05; }
.swd-popular-grid .swd-product-card,
.swd-popular-grid .swd-product-card:nth-child(n) { grid-column: span 4; }
.swd-popular-grid .swd-product-card .swd-product-image,
.swd-popular-grid .swd-product-card:nth-child(n) .swd-product-image { aspect-ratio: auto; }
.swd-product-image { position: relative; overflow: hidden; display: grid; place-items: center; height: 190px !important; min-height: 190px; max-height: 190px; aspect-ratio: auto !important; background: #f7fafb; }
.swd-product-image img { width: 100%; height: 100%; object-fit: contain; padding: 22px; transition: transform .35s ease; }
.swd-product-card:hover .swd-product-image img { transform: scale(1.035); }
.swd-product-badge { position: absolute; top: 14px; left: 14px; z-index: 1; padding: 6px 10px; border-radius: 999px; background: var(--catalog-navy); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.swd-product-placeholder { display: grid; place-items: center; width: 112px; height: 112px; border: 2px solid #cbdbe4; border-radius: 50%; color: #9bb0be; font: 900 28px Arial Black, Arial, sans-serif; }
.swd-product-copy { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.swd-product-copy h2 { margin: 7px 0 12px; font: 900 21px/1.2 Arial Black, Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
.swd-product-copy h2 a { color: var(--catalog-navy); text-decoration: none; }
.swd-product-intro { color: var(--catalog-muted); font-size: 15px; }
.swd-product-intro p:last-child { margin-bottom: 0; }
.swd-product-link { margin-top: auto; padding-top: 22px; color: var(--catalog-green); font-size: 14px; font-weight: 900; text-decoration: none; }
.swd-product-link:hover { color: #167d46; }
.swd-catalog-empty { margin: 64px 0 30px; padding: 40px; border: 1px dashed #b9cbd5; border-radius: 14px; background: #f6fafb; text-align: center; }
.swd-catalog-empty h2 { margin-top: 0; }
.swd-catalog-pagination { margin: 40px 0; }

.swd-product-page { padding-bottom: 30px; }
.swd-product-back { display: inline-block; margin-bottom: 28px; color: var(--catalog-blue); font-weight: 800; text-decoration: none; }
.swd-product-detail-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(35px, 6vw, 80px); align-items: center; }
.swd-product-detail-image { min-height: 470px; display: grid; place-items: center; border: 1px solid var(--catalog-line); border-radius: 16px; background: #f7fafb; }
.swd-product-detail-image img { width: 100%; max-height: 610px; object-fit: contain; padding: clamp(20px, 4vw, 48px); }
.swd-product-detail-copy h1 { margin: 10px 0 20px; font: 900 clamp(40px, 5.4vw, 70px)/.98 Arial Black, Arial, Helvetica, sans-serif; letter-spacing: -.052em; }
.swd-product-lead { color: var(--catalog-muted); font-size: 18px; }
.swd-product-specs { display: grid; grid-template-columns: repeat(3, 1fr); margin: 30px 0 0; border-block: 1px solid var(--catalog-line); }
.swd-product-specs div { padding: 18px 14px 18px 0; }
.swd-product-specs dt { color: var(--catalog-muted); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.swd-product-specs dd { margin: 5px 0 0; font-weight: 900; }
.swd-product-body { max-width: 860px; margin: 70px auto 0; font-size: 17px; }
.swd-product-body h2 { margin-top: 46px; font: 900 34px/1.1 Arial Black, Arial, Helvetica, sans-serif; }

@media (max-width: 900px) {
  .swd-catalog-nav { grid-template-columns: 1fr 1fr; }
  .swd-catalog-nav a:nth-child(2) { border-right: 0; }
  .swd-catalog-nav a:nth-child(-n+2) { border-bottom: 1px solid var(--catalog-line); }
  .swd-product-card { grid-column: span 6; }
  .swd-product-card:nth-child(6n + 1),
  .swd-product-card:nth-child(6n + 6) { grid-column: span 12; }
  .swd-product-card.swd-card-standard { grid-column: span 6; }
  .swd-product-card.swd-card-wide,
  .swd-product-card.swd-card-feature { grid-column: span 12; }
  .swd-popular-grid .swd-product-card,
  .swd-popular-grid .swd-product-card:nth-child(n) { grid-column: span 6; }
  .swd-product-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .swd-catalog-page { margin-top: -64px; }
  .swd-catalog-nav a { min-height: 82px; padding: 14px; }
  .swd-product-heading { align-items: flex-start; flex-direction: column; }
  .swd-product-card,
  .swd-product-card:nth-child(6n + 1),
  .swd-product-card:nth-child(6n + 6),
  .swd-product-card.swd-card-wide,
  .swd-product-card.swd-card-feature { grid-column: span 12; display: flex; }
  .swd-popular-grid .swd-product-card,
  .swd-popular-grid .swd-product-card:nth-child(n) { grid-column: span 12; }
  .swd-product-card:nth-child(6n + 1) .swd-product-image,
  .swd-product-card:nth-child(6n + 6) .swd-product-image,
  .swd-product-card.swd-card-feature .swd-product-image { height: 180px; aspect-ratio: auto; }
  .swd-product-detail-image { min-height: 330px; }
  .swd-product-specs { grid-template-columns: 1fr; }
  .swd-product-specs div { border-bottom: 1px solid var(--catalog-line); }
  .swd-product-specs div:last-child { border-bottom: 0; }
}
.swd-product-buy{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;margin-top:1.25rem;padding:1rem 1.35rem;border:2px solid #08783f;border-radius:8px;background:#08783f;color:#fff!important;font-weight:800;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.swd-product-buy:hover,.swd-product-buy:focus{background:#056332;border-color:#056332;color:#fff!important;transform:translateY(-1px)}.swd-product-buy span{font-size:1.25em;line-height:1}

/* Shop landing page — mirrors the approved home-page visual language. */
.swd-shop-landing{margin-top:-64px}.swd-shop-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);display:grid;grid-template-columns:1.02fr .98fr;min-height:590px;background:linear-gradient(135deg,#f7faf8,#fff)}.swd-shop-hero-copy{padding:74px 5vw 66px max(4vw,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}.inner-content .swd-shop-hero h1,.swd-catalog-page .swd-shop-hero h1{max-width:680px!important;margin:12px 0 26px!important;color:#081a31!important;font-family:Arial Black,Arial,sans-serif!important;font-size:clamp(58px,6.4vw,104px)!important;font-weight:900!important;line-height:.86!important;letter-spacing:-.065em!important}.swd-shop-lead{max-width:610px;margin:0 0 28px;color:#2a3c50;font-size:20px;line-height:1.5}.swd-shop-lead p:last-child{margin-bottom:0}.swd-shop-actions{display:flex;gap:14px;flex-wrap:wrap}.swd-shop-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 21px;border:2px solid #1f9d55;border-radius:4px;background:#1f9d55;color:#fff!important;font-weight:900;text-decoration:none;text-transform:uppercase}.swd-shop-button.secondary{background:#fff;color:#081a31!important;border-color:#081a31}.swd-shop-hero-image{position:relative;overflow:hidden}.swd-shop-hero-image>img{width:100%;height:100%;object-fit:cover}.swd-shop-hero-image>div{position:absolute;left:24px;bottom:24px;max-width:295px;padding:18px 20px;background:rgba(255,255,255,.94);border-left:5px solid #1f9d55;box-shadow:0 14px 30px rgba(8,26,49,.18)}.swd-shop-hero-image small,.swd-shop-hero-image strong{display:block}.swd-shop-hero-image small{color:#14733f;font-weight:900;letter-spacing:.14em}.swd-shop-hero-image strong{margin:5px 0 7px;font-size:18px}.swd-shop-hero-image a{color:#14733f;font-weight:900;text-decoration:none}.swd-shop-trust{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #dce4e7}.swd-shop-trust div{padding:20px 24px;border-right:1px solid #dce4e7}.swd-shop-trust div:last-child{border:0}.swd-shop-trust b,.swd-shop-trust span{display:block}.swd-shop-trust span{color:#657180;font-size:12px}.swd-shop-category-section{padding:76px 0 18px}.swd-shop-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px}.swd-shop-category-card{position:relative;min-height:420px;overflow:hidden;padding:26px;display:flex;flex-direction:column;justify-content:space-between;color:#fff!important;text-decoration:none;background-image:linear-gradient(180deg,rgba(4,17,34,.08),rgba(4,17,34,.94)),var(--category-image);background-size:cover;background-position:center}.swd-shop-category-card>span,.swd-shop-category-card>div{position:relative}.swd-shop-category-card small{color:#8ee0ad;font-weight:900;letter-spacing:.15em}.swd-shop-category-card h3{margin:8px 0 12px;color:#fff;font:900 38px/1 Arial Black,Arial,sans-serif;letter-spacing:-.04em}.swd-shop-category-card p{color:#d3dce6;line-height:1.5}.swd-shop-category-card b{display:block;margin-top:20px}.swd-popular-section,.swd-product-section{padding-top:76px}.swd-shop-closer{margin:70px calc(50% - 50vw) 0;padding:70px max(4vw,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:end;gap:30px;background:#081a31;color:#fff}.swd-shop-closer span{color:#70d397;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.inner-content .swd-shop-closer h2{margin:10px 0 0;color:#fff;font:900 clamp(42px,5vw,72px)/.92 Arial Black,Arial,sans-serif;letter-spacing:-.05em}
@media(max-width:900px){.swd-shop-hero{grid-template-columns:1fr}.swd-shop-hero-image{min-height:430px}.swd-shop-trust{grid-template-columns:1fr 1fr}.swd-shop-closer{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.swd-shop-hero-copy{padding:58px 22px}.inner-content .swd-shop-hero h1,.swd-catalog-page .swd-shop-hero h1{font-size:56px!important}.swd-shop-hero-image{min-height:360px}.swd-shop-trust{grid-template-columns:1fr}.swd-shop-trust div{border-right:0;border-bottom:1px solid #dce4e7}.swd-shop-actions .swd-shop-button{width:100%}.swd-shop-closer{padding:56px 22px}}

/* Match the pale blue-white hero field used on the approved home page. */
.swd-catalog-page .swd-shop-hero{background:#e4f1f9}

/* Shop header: visually continue the approved home-page masthead. Catalog CSS
   is loaded only by the Shop layout, so these T4 header rules remain scoped. */
#t4-header,.t4-header{background:linear-gradient(rgba(242,249,255,.68),rgba(242,249,255,.68)),url('../../images/swd/header-sky.png') center 48%/cover no-repeat!important;border-bottom:1px solid rgba(8,26,49,.11)!important}
#t4-topbar,.t4-topbar{background:#000!important;color:#fff!important}
.t4-topbar a,.t4-topbar .nav-link,.t4-topbar button,.t4-topbar svg{color:#fff!important}
.t4-topbar .topbar-wrap{width:100%}.t4-topbar .swd-utility-bar{color:#e7eef6;font-size:12px;letter-spacing:.02em}.t4-topbar .swd-utility-bar strong{color:#fff}.t4-topbar .topbar-r{margin-left:auto;white-space:nowrap}
@media(max-width:767px){.t4-topbar .swd-utility-bar{justify-content:flex-end!important}.t4-topbar .topbar-l{display:none}.t4-topbar .topbar-r{font-size:11px}}
.t4-header .header-block,.t4-header .header-wrap{background:transparent!important}
.t4-section.t4-breadcrumbs,#t4-breadcrumbs{background:#eaf5fb!important;border-color:#d4e5ed!important}
.t4-section.t4-breadcrumbs .breadcrumb,#t4-breadcrumbs .breadcrumb{background:transparent!important}
.t4-header .header-wrap{min-height:130px!important}
.t4-header .navbar-brand.logo-text a{display:block;width:285px;height:104px;background:url('../../images/swd/logo-transparent.png') left center/contain no-repeat}
.t4-header .navbar-brand.logo-text .site-name,.t4-header .navbar-brand.logo-text .site-slogan{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}
.t4-header .t4-navbar,.t4-header .t4-megamenu,.t4-header .navbar-nav{background:transparent!important}
.t4-header .navbar-nav>li>.nav-link{position:relative;color:#405166!important;font-weight:700;padding:12px 16px!important}
.t4-header .navbar-nav>li>.nav-link:hover,.t4-header .navbar-nav>li.active>.nav-link,.t4-header .navbar-nav>li.current>.nav-link{color:#081a31!important}
.t4-header .navbar-nav>li>.nav-link:after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;background:#1f9d55;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.t4-header .navbar-nav>li>.nav-link:hover:after,.t4-header .navbar-nav>li.active>.nav-link:after,.t4-header .navbar-nav>li.current>.nav-link:after{transform:scaleX(1)}
@media(max-width:767px){.t4-header .header-wrap{min-height:88px!important}.t4-header .navbar-brand.logo-text a{width:210px;height:74px}}
