/*
Theme Name: VoltShore Commerce
Theme URI: https://voltshore.com/
Author: VoltShore
Description: A clean WooCommerce storefront for VoltShore, built around the supplied wordmark and category-led navigation.
Version: 1.0.9
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: voltshore
*/

:root{--ink:#202a2e;--slate:#5c696e;--green:#a8c83f;--deep:#14252b;--line:#e5e9e9;--paper:#fff;--mist:#f6f8f7;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.screen-reader-text{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px}
.site-topline{background:var(--deep);color:#fff;font-size:12px;letter-spacing:.03em}.site-topline .wrap{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}.site-topline a:hover{color:var(--green)}.topline-contacts{display:flex;gap:22px}.main-header{background:#fff;border-bottom:1px solid var(--line)}.main-header .wrap{display:grid;grid-template-columns:245px minmax(200px,1fr) auto;align-items:center;gap:38px;min-height:102px}.brand img{width:230px;display:block}.site-search{display:flex;border:1px solid #cfd7d7;border-radius:999px;overflow:hidden;height:48px;background:#fff}.site-search input{min-width:0;width:100%;border:0;padding:0 20px;outline:0}.site-search button{width:54px;background:var(--green);border:0;font-size:20px}.header-actions{display:flex;align-items:center;gap:14px;font-size:14px;white-space:nowrap}.header-actions a{display:flex;align-items:center;gap:6px}.header-actions .cart-count{display:grid;place-items:center;background:var(--green);width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:bold}.category-nav{border-bottom:1px solid var(--line);background:#fff}.category-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:4px}.category-nav a{font-size:13px;font-weight:700}.category-nav>.wrap>a{padding:17px 10px}.nav-group{position:relative}.nav-group>button{background:none;border:0;padding:17px 10px;font-size:13px;font-weight:700;color:var(--ink)}.nav-group>button:hover,.category-nav a:hover{color:#6e8e12}.nav-dropdown{display:none;position:absolute;top:100%;left:0;z-index:30;min-width:235px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 40px #1023291e}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:grid}.nav-dropdown a{padding:10px 12px;font-size:13px;font-weight:500;white-space:nowrap}.nav-dropdown a:hover{background:var(--mist)}.mobile-menu-button{display:none}
.hero{background:linear-gradient(105deg,#162a30 0%,#233a3e 48%,#344c4c 100%);color:#fff;overflow:hidden}.hero .wrap{min-height:430px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:#8da62c}.hero .eyebrow{color:#cfe37e}.hero h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-.055em;margin:16px 0}.hero p{max-width:560px;color:#e0e8e8;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid transparent;border-radius:4px;background:var(--green);color:var(--deep);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.button:hover{background:#bedc60}.button.ghost{background:transparent;color:#fff;border-color:#fff}.hero-actions{display:flex;gap:12px;margin-top:26px}.hero-art{height:360px;position:relative;display:flex;align-items:center;justify-content:center}.hero-ring{position:absolute;border:1px solid #b8d24d66;border-radius:50%;width:340px;height:340px;transform:rotate(-19deg) skew(12deg)}.hero-ring:nth-child(2){width:255px;height:255px;border-color:#b8d24d99}.hero-core{position:relative;width:170px;height:170px;border-radius:30px;background:linear-gradient(145deg,#b9d449,#6e9024);box-shadow:0 35px 85px #071c25ad;display:grid;place-items:center;font-size:76px;font-weight:900;color:#203038;transform:rotate(-13deg)}.hero-core:after{content:'◔';position:absolute;right:-20px;bottom:-34px;color:#fff;font-size:80px;opacity:.28}
.trustbar{background:#eef3e4;border-bottom:1px solid #dce7ce}.trustbar .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.trustbar div{padding:20px 24px;border-right:1px solid #d4dfc6;font-size:13px}.trustbar div:first-child{padding-left:0}.trustbar div:last-child{border:0}.trustbar strong{display:block;font-size:14px}.trustbar span{color:var(--slate)}
.section{padding:64px 0}.section.alt{background:var(--mist)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-head h2{font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-.04em;margin:6px 0 0}.section-head p{margin:0;color:var(--slate);max-width:500px}.text-link{font-weight:700;font-size:13px;border-bottom:2px solid var(--green);padding-bottom:4px}.group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.group-card{min-height:190px;padding:24px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}.group-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #10232912}.group-card .number{color:#8ba634;font-size:12px;font-weight:bold}.group-card h3{font-size:21px;line-height:1.18;letter-spacing:-.03em;margin:0}.group-card p{margin:0;color:var(--slate);font-size:12px}.group-card .arrow{align-self:end;font-size:23px;color:#7f9c29}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.product-card:hover{box-shadow:0 10px 28px #10232914}.product-media{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:22px;border-bottom:1px solid var(--line)}.product-media img{width:100%;height:100%;object-fit:contain;object-position:center center}.product-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.product-kicker{font-size:11px;color:#819226;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.product-card h3{font-size:15px;line-height:1.36;margin:8px 0 11px;font-weight:700}.product-price{margin-top:auto;font-size:17px;font-weight:800}.product-price .woocommerce-Price-amount{color:#26373b}.product-card .button{margin-top:14px;width:100%;font-size:11px;min-height:40px}.collection-band{background:#dceac3;padding:55px 0}.collection-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.collection-band h2{font-size:31px;letter-spacing:-.04em;margin:0 0 6px}.collection-band p{margin:0;color:#4b5e4e}.collection-band .button{background:var(--deep);color:#fff}
.page-hero{background:var(--mist);border-bottom:1px solid var(--line);padding:45px 0}.page-hero h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.05em;margin:0}.breadcrumbs{font-size:12px;color:var(--slate);margin-bottom:10px}.page-content{padding:54px 0;max-width:1000px}.page-content h2{font-size:24px;letter-spacing:-.03em;margin:32px 0 10px}.page-content h3{font-size:19px;margin:24px 0 8px}.page-content p,.page-content li{color:#45545a}.page-content a{color:#567a10;text-decoration:underline}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-panel>div{border:1px solid var(--line);padding:28px}.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.brand-grid a{padding:18px;border:1px solid var(--line);font-weight:bold}.brand-grid a:hover{border-color:var(--green)}
.site-footer{background:#17272d;color:#dce5e6;padding-top:56px}.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding-bottom:48px}.footer-top h3{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px}.footer-top a{display:block;color:#d7e0e1;font-size:13px;padding:5px 0}.footer-top a:hover{color:var(--green)}.footer-top p{font-size:13px;color:#c2ced0}.footer-logo{width:230px;filter:brightness(0) invert(1)}.footer-bottom{border-top:1px solid #395057;padding:20px 0;font-size:12px;color:#afbec0}.footer-bottom .wrap{display:flex;justify-content:space-between;gap:20px}
.woocommerce .products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--line);background:#fff;padding:18px!important;min-width:0}.woocommerce ul.products li.product img{height:245px;object-fit:contain}.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--ink);font-size:15px!important}.woocommerce ul.products li.product .price{color:#344a2b!important;font-weight:bold!important;font-size:16px!important}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--green)!important;color:var(--deep)!important;border-radius:3px!important}.woocommerce a.button:hover,.woocommerce button.button:hover{background:#bedc60!important}.woocommerce .woocommerce-breadcrumb{margin:0 0 20px!important}.woocommerce-page .content-area{padding:45px 0}.woocommerce div.product div.images img{max-height:570px;object-fit:contain;background:#fff}.woocommerce-message{border-top-color:var(--green)!important}.woocommerce-message::before{color:#759323!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important;content:none!important}
@media(max-width:1100px){.main-header .wrap{grid-template-columns:200px 1fr auto;gap:15px}.brand img{width:195px}.category-nav .wrap{overflow-x:auto;justify-content:flex-start}.nav-group>button{white-space:nowrap}.group-grid,.product-grid,.woocommerce .products{grid-template-columns:repeat(3,1fr)!important}.footer-top{grid-template-columns:1.5fr repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:min(calc(100% - 28px),var(--max))}.site-topline .wrap{justify-content:center}.topline-contacts{display:none}.main-header .wrap{grid-template-columns:36px 1fr auto;min-height:74px;gap:10px}.mobile-menu-button{display:block;background:none;border:0;font-size:25px;padding:4px}.brand img{width:165px}.site-search{grid-column:1/-1;grid-row:2;margin:0 0 14px}.header-actions span.action-label{display:none}.header-actions{font-size:20px}.category-nav{display:none}.category-nav.is-open{display:block}.category-nav .wrap{display:block;max-height:75vh;overflow:auto}.category-nav>.wrap>a,.nav-group>button{display:block;padding:13px 4px;width:100%;text-align:left}.nav-dropdown{display:grid;position:static;box-shadow:none;border:0;border-left:2px solid var(--green);padding:0 0 0 8px}.nav-dropdown a{white-space:normal}.hero .wrap{min-height:0;grid-template-columns:1fr;padding-top:55px}.hero-art{height:210px}.hero-ring{width:200px;height:200px}.hero-ring:nth-child(2){width:145px;height:145px}.hero-core{width:100px;height:100px;font-size:46px}.trustbar .wrap{grid-template-columns:1fr}.trustbar div{border-right:0;border-bottom:1px solid #d4dfc6;padding:12px 0}.section{padding:44px 0}.group-grid,.product-grid,.woocommerce .products{grid-template-columns:repeat(2,1fr)!important}.group-card{min-height:150px;padding:16px}.group-card h3{font-size:18px}.product-media{padding:10px}.product-card-body{padding:12px}.product-card h3{font-size:13px}.collection-band .wrap{display:block}.collection-band .button{margin-top:20px}.footer-top{grid-template-columns:1fr 1fr;gap:22px}.footer-top>div:first-child{grid-column:1/-1}.contact-panel{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.group-grid,.product-grid,.woocommerce .products{grid-template-columns:1fr 1fr!important;gap:8px}.hero h1{font-size:40px}.product-media{aspect-ratio:1}.footer-top{grid-template-columns:1fr 1fr}}

/* v1.0.2: product-led storefront using real catalog photography. */
.site-topline { background:#f5f6f4; color:#405056; border-bottom:1px solid var(--line); letter-spacing:0; }
.site-topline .wrap { min-height:34px; }
.site-topline a:hover { color:#617f18; }
.main-header .wrap { min-height:90px; }
.brand img { width:230px; }
.category-nav>.wrap>a,.nav-group>button { padding-top:15px; padding-bottom:15px; }
.category-nav a,.nav-group>button { font-size:12px; }
.store-hero { background:linear-gradient(115deg,#f6f7f5,#ecefed); overflow:hidden; }
.store-hero-layout { display:grid; grid-template-columns:43% 57%; min-height:500px; align-items:center; gap:24px; }
.store-hero-copy { position:relative; z-index:2; padding:52px 0 58px; }
.store-hero .eyebrow { color:#698523; }
.store-hero h1 { font-size:clamp(44px,4.7vw,68px); line-height:1.04; letter-spacing:-.055em; max-width:590px; margin:16px 0 20px; }
.store-hero p { color:#536267; font-size:17px; max-width:490px; margin:0; }
.store-hero .button.ghost { border-color:#738186; color:var(--ink); }
.store-hero .button.ghost:hover { background:#fff; }
.hero-note { display:block; font-size:12px; font-weight:700; color:#718044; margin-top:22px; }
.store-hero-products { height:500px; position:relative; }
.hero-product { position:absolute; display:grid; place-items:center; background:#fff; border:1px solid #e1e6e5; border-radius:11px; box-shadow:0 18px 46px #1b2e3117; overflow:hidden; }
.hero-product img { position:absolute; inset:12px; width:calc(100% - 24px); height:calc(100% - 24px); object-fit:contain; }
.hero-product-main { width:43%; height:69%; left:5%; top:10%; padding:23px; }
.hero-product-camera { width:45%; height:52%; right:1%; top:6%; padding:13px; }
.hero-product-navigation { width:46%; height:33%; right:5%; bottom:7%; padding:11px; }
.hero-product:hover { transform:translateY(-3px); box-shadow:0 24px 48px #1b2e3122; }
.shop-benefits { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shop-benefits .wrap { display:grid; grid-template-columns:repeat(3,1fr); }
.shop-benefits .wrap>div { padding:20px 26px; border-right:1px solid var(--line); text-align:center; }
.shop-benefits .wrap>div:last-child { border:0; }
.shop-benefits strong { display:block; font-size:14px; }
.shop-benefits span { display:block; font-size:12px; color:#6d797e; margin-top:2px; }
.store-products-section { background:#fafbf9; }
.store-products-section .section-head h2 { font-size:clamp(26px,2.7vw,36px); }
.store-products-section .product-grid { gap:15px; }
.store-products-section .product-card { border-radius:8px; overflow:hidden; box-shadow:0 2px 12px #1b2e3108; }
.store-products-section .product-media { padding:18px; aspect-ratio:1.12; border-color:#f0f2f1; }
.store-products-section .product-card-body { padding:14px 16px 17px; }
.store-products-section .product-card h3 { font-size:14px; min-height:39px; margin:5px 0 9px; }
.store-products-section .product-kicker { font-size:10px; color:#768b3a; }
.store-products-section .product-price { font-size:16px; }
.store-products-section .product-price .woocommerce-Price-amount { color:#466822; }
.feature-banner { background:#f4f6f3; padding:0 0 10px; }
.feature-banner-layout { display:grid; grid-template-columns:1fr 43%; align-items:center; gap:40px; min-height:290px; background:#1d3136; border-radius:8px; overflow:hidden; color:#fff; padding-left:56px; }
.feature-banner .eyebrow { color:#cde385; }
.feature-banner h2 { font-size:clamp(28px,3.2vw,44px); line-height:1.08; letter-spacing:-.045em; margin:12px 0; }
.feature-banner p { color:#d6e0e1; max-width:440px; }
.feature-banner .button { margin-top:12px; }
.feature-banner img { height:290px; width:100%; object-fit:contain; background:#fff; padding:28px; }
.section.alt { background:#f4f6f3; }
.group-card { border-radius:8px; min-height:164px; }
.group-card h3 { font-size:19px; }
.woocommerce .wc-block-cart__submit-button { background:var(--deep)!important; color:#fff!important; }
.woocommerce .wc-block-cart__submit-button span { color:#fff!important; }
@media(max-width:1100px) {
  .store-hero-layout { grid-template-columns:47% 53%; }
  .store-hero h1 { font-size:48px; }
  .store-hero-products { height:420px; }
  .feature-banner-layout { min-height:260px; }
  .feature-banner img { height:260px; }
}
@media(max-width:760px) {
  .site-topline .wrap { min-height:32px; }
  .main-header .wrap { min-height:72px; }
  .store-hero-layout { grid-template-columns:1fr; min-height:0; gap:0; }
  .store-hero-copy { padding:44px 0 10px; }
  .store-hero h1 { font-size:43px; max-width:560px; }
  .store-hero p { font-size:15px; }
  .store-hero-products { height:330px; }
  .hero-product-main { width:43%; height:75%; left:1%; top:5%; }
  .hero-product-camera { width:47%; height:57%; right:1%; top:4%; }
  .hero-product-navigation { width:50%; height:31%; right:3%; bottom:2%; }
  .shop-benefits .wrap { grid-template-columns:1fr 1fr; }
  .shop-benefits .wrap>div { padding:13px; }
  .shop-benefits .wrap>div:last-child { display:none; }
  .feature-banner-layout { grid-template-columns:1fr; padding:35px 25px; gap:15px; }
  .feature-banner img { height:180px; max-width:100%; padding:16px; }
  .store-products-section .product-card h3 { font-size:13px; min-height:0; }
  .store-products-section .product-media { padding:8px; }
}
@media(max-width:440px) {
  .store-hero h1 { font-size:37px; }
  .store-hero-products { height:270px; }
  .store-hero .hero-actions { flex-wrap:wrap; }
  .store-hero .button { padding:0 18px; }
  .shop-benefits strong { font-size:12px; }
  .shop-benefits span { font-size:11px; }
}

.hero-brand-feature { position:relative; display:flex; align-items:center; justify-content:center; height:430px; margin:28px 0; background:#fff; border:1px solid #e1e6e5; border-radius:12px; box-shadow:0 18px 46px #1b2e3117; overflow:hidden; }
.hero-brand-feature img { width:100%; height:100%; object-fit:contain; padding:50px 65px; }
.hero-brand-label { position:absolute; top:24px; left:28px; color:#657469; font-size:12px; font-weight:600; }
.hero-brand-label strong { display:block; color:var(--ink); font-size:19px; margin-top:2px; }
.hero-brand-caption { position:absolute; bottom:22px; right:27px; color:var(--ink); font-weight:700; font-size:13px; }
.hero-brand-feature:hover { box-shadow:0 24px 52px #1b2e3124; }
.brand-catalog { background:#f8faf8; }
.brand-catalog .section-head { align-items:end; }
.brand-catalog .section-head h2 { font-size:clamp(30px,3vw,40px); }
.brand-index { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 48px; }
.brand-index a { background:#fff; border:1px solid #dce4df; border-radius:999px; color:#274047; font-size:12px; font-weight:700; padding:10px 15px; }
.brand-index a:hover { border-color:var(--green); background:#f1f7e4; }
.brand-department { scroll-margin-top:24px; margin-top:54px; }
.brand-department:first-of-type { margin-top:0; }
.brand-department-head { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-bottom:15px; border-bottom:2px solid #25383b; }
.brand-department-head h2 { margin:7px 0 0; font-size:clamp(25px,2.5vw,33px); letter-spacing:-.04em; }
.brand-shelf { display:grid; grid-template-columns:210px minmax(0,1fr); gap:20px; padding:18px 0; border-bottom:1px solid #dfe5e1; }
.brand-identity { padding:16px 4px; }
.brand-identity h3 { font-size:24px; line-height:1.12; letter-spacing:-.035em; margin:8px 0; }
.brand-identity p { margin:0; font-size:12px; color:#657479; }
.brand-products { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:12px; }
.brand-products.is-single { grid-template-columns:1fr; }
.brand-product { background:#fff; border:1px solid #e2e7e3; border-radius:9px; display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; gap:20px; min-width:0; overflow:hidden; }
.brand-products.is-single .brand-product { grid-template-columns:170px minmax(0,1fr) auto; }
.brand-product-media { display:grid; place-items:center; height:166px; background:#fff; border-right:1px solid #edf0ee; padding:12px; }
.brand-product-media img { display:block; width:100%; height:100%; object-fit:contain; }
.brand-product-info { min-width:0; padding:14px 0; }
.brand-product-info h4 { font-size:17px; line-height:1.35; margin:0 0 13px; }
.brand-product-price { font-size:18px; font-weight:800; color:#3f6326; }
.brand-product-price .woocommerce-Price-amount { color:#3f6326; }
.brand-product-link { justify-self:end; margin-right:20px; white-space:nowrap; font-size:12px; font-weight:800; border-bottom:2px solid var(--green); padding-bottom:4px; }
.brand-products:not(.is-single) .brand-product-link { grid-column:2; justify-self:start; margin:0 0 16px; }
@media(max-width:1100px) {
  .brand-shelf { grid-template-columns:170px minmax(0,1fr); }
  .brand-product,.brand-products.is-single .brand-product { grid-template-columns:145px minmax(0,1fr); }
  .brand-product-link,.brand-products.is-single .brand-product-link { grid-column:2; justify-self:start; margin:0 0 16px; }
}
@media(max-width:760px) {
  .hero-brand-feature { height:320px; margin:14px 0 32px; }
  .hero-brand-feature img { padding:45px 38px; }
  .brand-index { margin-bottom:32px; }
  .brand-department { margin-top:42px; }
  .brand-shelf { grid-template-columns:1fr; gap:7px; padding:14px 0; }
  .brand-identity { padding:0; }
  .brand-identity h3 { font-size:21px; display:inline; margin-right:10px; }
  .brand-identity p { display:inline; }
}
@media(max-width:440px) {
  .hero-brand-feature { height:270px; }
  .hero-brand-feature img { padding:42px 36px; }
  .brand-department-head { align-items:start; }
  .brand-department-head .text-link { font-size:11px; }
  .brand-product,.brand-products.is-single .brand-product { grid-template-columns:112px minmax(0,1fr); gap:12px; }
  .brand-product-media { height:142px; padding:8px; }
  .brand-product-info h4 { font-size:14px; }
  .brand-product-price { font-size:16px; }
}

/* v1.0.6: one photographed brand collection per banner and product row. */
.featured-storefront { background:#f7f8f7; padding:38px 0 72px; }
.featured-intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:17px; }
.featured-intro h1 { font-size:clamp(30px,3.4vw,44px); letter-spacing:-.055em; line-height:1.08; margin:7px 0 7px; }
.featured-intro p { margin:0; font-size:14px; color:#687477; }
.featured-intro .text-link { margin-bottom:8px; white-space:nowrap; }
.featured-jump { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.featured-jump a { padding:8px 14px; border:1px solid #d9e1e0; border-radius:3px; background:#fff; font-size:12px; font-weight:800; }
.featured-jump a:hover { border-color:#8fad39; color:#516b16; }
.featured-collection { scroll-margin-top:20px; margin-bottom:64px; }
.featured-banner { position:relative; isolation:isolate; min-height:300px; display:grid; grid-template-columns:1fr 43%; overflow:hidden; border-radius:7px; background:linear-gradient(105deg,#142832 0%,#172f38 57%,#e8edee 57%); color:#fff; }
.featured-banner.is-kicker { background:linear-gradient(105deg,#20242b 0%,#20242b 57%,#eef0ef 57%); }
.featured-banner.is-dlink { background:linear-gradient(105deg,#e5eff1 0%,#d6e7e9 57%,#f9fbfb 57%); color:#18313c; }
.featured-banner.is-panasonic { background:linear-gradient(105deg,#15273b 0%,#1c3857 57%,#f0f2f4 57%); }
.featured-banner-copy { position:relative; z-index:1; padding:45px 6%; align-self:center; }
.featured-banner-kicker { display:block; font-size:11px; font-weight:800; letter-spacing:.22em; color:#c4db75; }
.featured-banner.is-dlink .featured-banner-kicker { color:#527f88; }
.featured-banner h2 { margin:12px 0 4px; color:inherit; font-size:clamp(48px,6vw,80px); line-height:1; letter-spacing:-.06em; }
.featured-banner p { margin:0 0 29px; font-size:18px; color:#dce7e8; }
.featured-banner.is-dlink p { color:#4d6a73; }
.featured-banner-copy>a { display:inline-block; padding-bottom:4px; border-bottom:2px solid #c4db75; font-size:13px; font-weight:800; }
.featured-banner.is-dlink .featured-banner-copy>a { border-color:#6c9ca7; }
.featured-banner-photo { display:grid; place-items:center; min-width:0; padding:22px 36px; background:#ffffff0c; }
.featured-banner-photo img { display:block; width:100%; height:252px; object-fit:contain; filter:drop-shadow(0 12px 15px #10242a23); }
.featured-banner.is-kicker .featured-banner-photo img,.featured-banner.is-panasonic .featured-banner-photo img { mix-blend-mode:multiply; filter:none; }
.featured-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:16px; }
.featured-product-card { min-width:0; display:flex; flex-direction:column; background:#fff; border:1px solid #e8eceb; border-radius:7px; overflow:hidden; transition:box-shadow .18s,transform .18s; }
.featured-product-card:hover { box-shadow:0 15px 34px #243a3e18; transform:translateY(-2px); }
.featured-product-photo { display:flex; align-items:center; justify-content:center; height:235px; min-height:0; overflow:hidden; background:#fff; padding:16px; }
.featured-product-photo img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
.featured-product-body { min-height:128px; display:flex; flex-direction:column; padding:0 17px 16px; }
.featured-product-brand { font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#71931d; }
.featured-product-body h3 { font-size:15px; line-height:1.38; font-weight:700; margin:7px 0 13px; }
.featured-product-body h3 a:hover,.featured-product-link:hover { color:#3867a2; }
.featured-product-foot { display:flex; align-items:end; justify-content:space-between; gap:8px; margin-top:auto; }
.featured-product-price,.featured-product-price .woocommerce-Price-amount { color:#1666c6; font-size:17px; font-weight:800; white-space:nowrap; }
.featured-product-link { flex-shrink:0; font-size:11px; font-weight:700; color:#556368; }
.featured-endcap { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 32px; background:#e5eccf; border-radius:6px; }
.featured-endcap h2 { margin:0 0 3px; font-size:26px; letter-spacing:-.04em; }
.featured-endcap p { margin:0; color:#52614c; font-size:13px; }
@media(max-width:1050px) {
  .featured-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-product-photo { height:250px; }
}
@media(max-width:760px) {
  .featured-storefront { padding-top:26px; }
  .featured-intro { align-items:start; }
  .featured-intro .text-link { display:none; }
  .featured-banner { grid-template-columns:1fr 46%; min-height:245px; }
  .featured-banner-copy { padding:28px 7%; }
  .featured-banner h2 { font-size:48px; }
  .featured-banner p { font-size:14px; margin-bottom:20px; }
  .featured-banner-photo { padding:18px; }
  .featured-banner-photo img { height:205px; }
  .featured-product-photo { height:210px; }
  .featured-collection { margin-bottom:42px; }
}
@media(max-width:540px) {
  .featured-banner { display:flex; flex-direction:column; background:#172f38!important; }
  .featured-banner.is-kicker { background:#20242b!important; }
  .featured-banner.is-dlink { background:#d6e7e9!important; }
  .featured-banner.is-panasonic { background:#1c3857!important; }
  .featured-banner-copy { padding:26px 25px 12px; }
  .featured-banner h2 { font-size:50px; margin-top:6px; }
  .featured-banner p { margin-bottom:13px; }
  .featured-banner-photo { background:#f6f8f7; padding:5px 20px 12px; }
  .featured-banner-photo img { height:175px; }
  .featured-product-grid { gap:9px; }
  .featured-product-photo { height:150px; padding:8px; }
  .featured-product-body { padding:0 10px 11px; min-height:142px; }
  .featured-product-body h3 { font-size:12px; }
  .featured-product-price,.featured-product-price .woocommerce-Price-amount { font-size:14px; }
  .featured-product-link { font-size:0; }
  .featured-product-link::after { content:'↗'; font-size:18px; }
  .featured-endcap { display:block; padding:24px; }
  .featured-endcap .button { margin-top:18px; }
}

/* v1.0.9: large brand carousel and editorial collection banners. */
.featured-storefront { padding-top:20px; }
.brand-hero { margin-bottom:66px; }
.brand-hero-track { border-radius:12px; overflow:hidden; box-shadow:0 22px 55px #192e3920; }
.brand-hero-slide { --hero-bg:#13323a; --hero-accent:#c3e279; --hero-stage:#eef3f1; display:grid; grid-template-columns:49% 51%; min-height:548px; color:#fff; background:var(--hero-bg); }
.brand-hero-slide:not(.is-active) { display:none; }
.brand-hero-slide.is-kicker { --hero-bg:#202228; --hero-accent:#d7ee76; --hero-stage:#f3f2ed; }
.brand-hero-slide.is-dlink { --hero-bg:#0a4057; --hero-accent:#9ee1ef; --hero-stage:#e9f2f3; }
.brand-hero-slide.is-panasonic { --hero-bg:#152a4d; --hero-accent:#bdd1ff; --hero-stage:#eef0f4; }
.brand-hero-copy { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:48px clamp(32px,4vw,68px); }
.brand-hero-copy::after { content:''; position:absolute; inset:auto 0 0 0; height:1px; background:#ffffff20; }
.brand-hero-overline { display:inline-flex; align-items:center; gap:12px; color:#ffffffae; font-size:11px; font-weight:800; letter-spacing:.23em; text-transform:uppercase; }
.brand-hero-overline-rule { width:28px; height:2px; background:var(--hero-accent); }
.brand-hero-category { display:block; margin-top:52px; color:var(--hero-accent); font-size:12px; font-weight:800; letter-spacing:.24em; }
.brand-hero-copy h2 { margin:12px 0 2px; color:#fff; font-size:clamp(68px,7vw,120px); line-height:.95; letter-spacing:-.075em; font-weight:800; }
.brand-hero-period { color:var(--hero-accent); }
.brand-hero-headline { max-width:480px; margin:14px 0 0; font-size:clamp(25px,2.5vw,36px); line-height:1.12; letter-spacing:-.045em; font-weight:700; }
.brand-hero-detail { margin:17px 0 0; color:#e0e9e8c4; font-size:15px; }
.brand-hero-actions { display:flex; align-items:center; gap:23px; flex-wrap:wrap; margin-top:34px; }
.brand-hero-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:54px; padding:0 22px; border-radius:3px; background:var(--hero-accent); color:#10252d; font-size:13px; font-weight:800; }
.brand-hero-button:hover { background:#fff; }
.brand-hero-button span { font-size:20px; font-weight:400; }
.brand-hero-secondary { padding-bottom:5px; border-bottom:1px solid #ffffff85; color:#fff; font-size:13px; font-weight:700; }
.brand-hero-secondary:hover { border-color:var(--hero-accent); color:var(--hero-accent); }
.brand-hero-price { display:block; margin-top:40px; color:#ffffffa8; font-size:12px; letter-spacing:.04em; }
.brand-hero-price span { color:var(--hero-accent); padding:0 8px; }
.brand-hero-price .woocommerce-Price-amount { color:#fff; font-weight:800; }
.brand-hero-stage { position:relative; isolation:isolate; min-width:0; min-height:548px; background:radial-gradient(circle at 45% 40%,#fff 0%,var(--hero-stage) 75%); overflow:hidden; }
.brand-hero-stage::before { content:''; position:absolute; z-index:-1; width:72%; aspect-ratio:1; top:2%; left:6%; border:1px solid #46636d1c; border-radius:50%; box-shadow:0 0 0 70px #45616b08,0 0 0 140px #45616b06; }
.brand-hero-stage::after { content:''; position:absolute; z-index:-1; bottom:0; right:0; width:65%; height:15px; background:var(--hero-accent); }
.brand-hero-stage-index { position:absolute; left:4%; top:-24%; z-index:-1; color:#233c493b; opacity:.15; font-size:470px; font-weight:900; letter-spacing:-.1em; line-height:1; }
.brand-hero-stage-line { position:absolute; top:6%; right:7%; width:54px; height:3px; background:var(--hero-bg); opacity:.45; }
.brand-hero-stage img { display:block; position:absolute; max-width:none; object-fit:contain; mix-blend-mode:multiply; }
.brand-hero-stage-main { z-index:1; width:78%; height:73%; left:3%; top:9%; }
.brand-hero-stage-secondary { z-index:2; width:42%; height:38%; right:0; bottom:6%; }
.brand-hero-slide.is-kicker .brand-hero-stage-main { width:67%; height:86%; left:2%; top:1%; }
.brand-hero-slide.is-kicker .brand-hero-stage-secondary { width:42%; height:49%; right:-1%; bottom:3%; }
.brand-hero-slide.is-dlink .brand-hero-stage-main { width:84%; height:72%; left:2%; top:8%; }
.brand-hero-slide.is-dlink .brand-hero-stage-secondary { width:45%; height:40%; right:1%; bottom:3%; }
.brand-hero-slide.is-panasonic .brand-hero-stage-main { width:74%; height:82%; left:0; top:6%; }
.brand-hero-slide.is-panasonic .brand-hero-stage-secondary { width:41%; height:49%; right:0; bottom:3%; }
.brand-hero-stage-caption { position:absolute; z-index:3; left:7%; bottom:8%; color:#26414a8f; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.2em; }
.brand-hero-controls { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; padding:0 10px; }
.brand-hero-status { display:flex; align-items:center; gap:14px; color:#6c777c; font-size:13px; font-weight:800; letter-spacing:.08em; }
.brand-hero-status [data-slide-current] { color:#223339; font-size:19px; }
.brand-hero-status-divider { width:48px; height:1px; background:#b5c3c4; }
.brand-hero-dots { display:flex; align-items:center; gap:9px; }
.brand-hero-dot { width:49px; height:22px; display:grid; place-items:center; padding:0; border:0; background:transparent; }
.brand-hero-dot span { display:block; width:100%; height:3px; background:#cdd7d5; transition:background .2s,height .2s; }
.brand-hero-dot.is-active span,.brand-hero-dot:hover span { height:5px; background:#9abc42; }
.brand-hero-buttons { display:flex; align-items:center; gap:7px; }
.brand-hero-buttons button { display:grid; place-items:center; width:39px; height:39px; border:1px solid #cbd6d4; border-radius:50%; background:#fff; color:#21343a; font-size:18px; line-height:1; }
.brand-hero-buttons button:hover { border-color:#769b28; background:#eef4df; }
.brand-hero-buttons [data-slide-pause] { margin-right:9px; font-size:13px; font-weight:800; }
.featured-intro { margin-bottom:17px; }
.featured-intro h2 { font-size:clamp(30px,3.4vw,44px); letter-spacing:-.055em; line-height:1.08; margin:7px 0 7px; }
.featured-collection { margin-bottom:76px; }
.featured-banner { --banner-bg:#14323a; --banner-accent:#c4df77; --banner-stage:#edf2f0; min-height:332px; grid-template-columns:48% 52%; border-radius:10px; background:var(--banner-bg); box-shadow:0 12px 32px #1d31360e; }
.featured-banner.is-kicker { --banner-bg:#24252a; --banner-accent:#d5e877; --banner-stage:#f2f2ee; background:var(--banner-bg); }
.featured-banner.is-dlink { --banner-bg:#0e475a; --banner-accent:#91d9e5; --banner-stage:#e9f2f3; background:var(--banner-bg); color:#fff; }
.featured-banner.is-panasonic { --banner-bg:#1c3051; --banner-accent:#bcd1fa; --banner-stage:#f0f2f5; background:var(--banner-bg); }
.featured-banner::before { content:''; position:absolute; left:0; top:0; width:84px; height:5px; background:var(--banner-accent); z-index:3; }
.featured-banner-copy { z-index:2; align-self:center; padding:40px clamp(28px,4vw,62px); }
.featured-banner-kicker,.featured-banner.is-dlink .featured-banner-kicker { color:var(--banner-accent); font-size:11px; letter-spacing:.18em; }
.featured-banner-kicker span { padding:0 9px; color:#ffffff7b; }
.featured-banner h2 { margin:15px 0 9px; font-size:clamp(50px,5.2vw,77px); line-height:.96; }
.featured-banner p,.featured-banner.is-dlink p { max-width:470px; margin:0 0 30px; color:#e4ebebc9; font-size:clamp(19px,2vw,27px); line-height:1.2; letter-spacing:-.035em; font-weight:600; }
.featured-banner-copy>a,.featured-banner.is-dlink .featured-banner-copy>a { display:inline-flex; align-items:center; gap:20px; padding-bottom:7px; border-color:var(--banner-accent); font-size:13px; letter-spacing:.015em; }
.featured-banner-photo { position:relative; display:block; min-height:332px; padding:0; background:radial-gradient(circle at 47% 38%,#fff 0%,var(--banner-stage) 78%); overflow:hidden; }
.featured-banner-photo::before { content:''; position:absolute; top:-26%; left:9%; width:80%; aspect-ratio:1; border:1px solid #34546917; border-radius:50%; box-shadow:0 0 0 68px #24465a07; }
.featured-banner-photo::after { content:''; position:absolute; right:0; bottom:0; width:42%; height:7px; background:var(--banner-accent); }
.featured-banner-photo-mark { position:absolute; top:3%; left:5%; color:#24475a14; font-size:clamp(64px,8vw,135px); font-weight:900; letter-spacing:-.08em; line-height:1; white-space:nowrap; }
.featured-banner-photo img,.featured-banner.is-kicker .featured-banner-photo img,.featured-banner.is-panasonic .featured-banner-photo img { position:absolute; display:block; max-width:none; object-fit:contain; mix-blend-mode:multiply; filter:none; }
.featured-banner-image-main { z-index:1; width:65%!important; height:84%!important; top:3%; left:3%; }
.featured-banner-image-secondary { z-index:2; width:43%!important; height:56%!important; right:0; bottom:0; }
.featured-banner.is-kicker .featured-banner-image-main { width:58%!important; height:89%!important; top:0; }
.featured-banner.is-dlink .featured-banner-image-main { width:71%!important; height:72%!important; top:10%; }
.featured-banner.is-panasonic .featured-banner-image-main { width:67%!important; height:90%!important; top:0; }
.featured-banner-photo-caption { position:absolute; z-index:3; left:7%; bottom:6%; color:#547077; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
@media(max-width:950px) {
  .brand-hero-slide { min-height:480px; }
  .brand-hero-copy { padding:38px 34px; }
  .brand-hero-copy h2 { font-size:clamp(58px,7vw,84px); }
  .brand-hero-category { margin-top:32px; }
  .brand-hero-stage { min-height:480px; }
  .featured-banner { min-height:290px; }
  .featured-banner-photo { min-height:290px; }
}
@media(max-width:760px) {
  .featured-storefront { padding-top:14px; }
  .brand-hero { margin-bottom:44px; }
  .brand-hero-slide { grid-template-columns:1fr; }
  .brand-hero-copy { min-height:330px; padding:29px 30px 24px; }
  .brand-hero-category { margin-top:30px; }
  .brand-hero-copy h2 { font-size:clamp(60px,11vw,86px); }
  .brand-hero-headline { font-size:27px; }
  .brand-hero-detail { margin-top:10px; font-size:13px; }
  .brand-hero-actions { margin-top:22px; }
  .brand-hero-price { margin-top:23px; }
  .brand-hero-stage { min-height:330px; }
  .brand-hero-stage-main { height:86%; top:2%; }
  .brand-hero-stage-caption { bottom:6%; }
  .featured-banner { display:grid; grid-template-columns:48% 52%; min-height:270px; }
  .featured-banner-copy { padding:30px; }
  .featured-banner h2 { font-size:clamp(42px,6vw,58px); }
  .featured-banner p { font-size:18px; }
  .featured-banner-photo { min-height:270px; }
  .featured-banner-image-main { height:79%!important; }
}
@media(max-width:540px) {
  .brand-hero-track { border-radius:8px; }
  .brand-hero-copy { min-height:345px; padding:26px 24px 22px; }
  .brand-hero-overline { font-size:9px; }
  .brand-hero-category { margin-top:26px; font-size:10px; }
  .brand-hero-copy h2 { font-size:clamp(58px,16vw,80px); }
  .brand-hero-headline { font-size:25px; }
  .brand-hero-actions { gap:15px; }
  .brand-hero-button { min-height:46px; padding:0 15px; font-size:12px; }
  .brand-hero-secondary { font-size:12px; }
  .brand-hero-price { font-size:10px; }
  .brand-hero-stage { min-height:270px; }
  .brand-hero-stage-index { font-size:320px; top:-17%; }
  .brand-hero-stage-main { width:79%; height:85%; left:0; }
  .brand-hero-slide.is-kicker .brand-hero-stage-main { height:95%; }
  .brand-hero-stage-secondary { width:41%; height:43%; right:-2%; }
  .brand-hero-stage-caption { font-size:9px; }
  .brand-hero-controls { min-height:66px; gap:9px; padding:0 2px; }
  .brand-hero-status { gap:7px; font-size:10px; }
  .brand-hero-status [data-slide-current] { font-size:15px; }
  .brand-hero-status-divider { width:19px; }
  .brand-hero-dots { gap:3px; }
  .brand-hero-dot { width:19px; }
  .brand-hero-buttons { gap:4px; }
  .brand-hero-buttons button { width:29px; height:29px; font-size:14px; }
  .brand-hero-buttons [data-slide-pause] { margin-right:1px; font-size:11px; }
  .featured-banner,.featured-banner.is-kicker,.featured-banner.is-dlink,.featured-banner.is-panasonic { display:grid; grid-template-columns:1fr; background:var(--banner-bg)!important; }
  .featured-banner-copy { padding:26px 25px 24px; }
  .featured-banner h2 { font-size:50px; }
  .featured-banner p,.featured-banner.is-dlink p { margin-bottom:16px; font-size:20px; }
  .featured-banner-photo { min-height:230px; background:radial-gradient(circle at 47% 38%,#fff 0%,var(--banner-stage) 78%); padding:0; }
  .featured-banner-image-main { height:94%!important; }
  .featured-banner-photo-mark { font-size:70px; }
  .featured-banner-photo-caption { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .brand-hero-slide,.brand-hero-dot span { animation:none!important; transition:none!important; }
}
