/*
Theme Name: Capella Commerce
Theme URI: https://designcapshop.com/
Author: Capella
Description: A full-width editorial WooCommerce theme with dynamic product-led banners, five-column catalog grids and sticky product details.
Version: 1.1.5
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: capella-commerce
*/

:root{--ink:#111;--muted:#777;--line:#e7e7e7;--paper:#fff;--soft:#f4f4f2;--accent:#9b514c;--serif:"Times New Roman",Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-shell{width:min(100% - 48px,1540px);margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}.header-main{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.header-tools,.header-account{display:flex;align-items:center;gap:18px}.header-account{justify-content:flex-end}.brand{font-family:var(--serif);font-size:44px;line-height:1;letter-spacing:-2px}.icon-link{display:inline-flex;align-items:center;gap:7px}.icon-link svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7}.cart-count{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:20px;background:#9d4b4b;color:white;font-size:10px;margin-left:-10px;margin-top:15px}.header-nav{border-top:1px solid var(--line)}.header-nav .site-shell{min-height:52px;display:flex;align-items:center;justify-content:space-between}.menu{display:flex;align-items:center;gap:44px;list-style:none;margin:0;padding:0;text-transform:uppercase;font-size:12px;letter-spacing:.04em}.header-note{font-size:11px;color:#999;text-transform:uppercase}.mobile-toggle{display:none;border:0;background:none;padding:8px}

.hero{position:relative;overflow:hidden}.hero-slide{display:none;min-height:700px;grid-template-columns:42% 58%;background:#fff}.hero-slide.is-active{display:grid}.hero-copy{display:flex;align-items:center;justify-content:center;text-align:center;padding:80px}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:13px}.hero h1{font-family:var(--serif);font-size:clamp(36px,3.4vw,68px);line-height:.96;font-weight:400;text-transform:uppercase;margin:28px 0 22px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;overflow-wrap:anywhere}.hero p{color:#555;max-width:560px;margin:0 auto 34px}.outline-button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 34px;border:1px solid #111!important;border-radius:0!important;background:#fff!important;color:#111!important;font-size:11px!important;font-weight:600!important;letter-spacing:.14em;text-transform:uppercase}.hero-media{position:relative;background:#e9eef0;overflow:hidden}.hero-media img{width:100%;height:100%;min-height:700px;object-fit:cover}.hero-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:50px;height:50px;border:0;border-radius:50%;background:rgba(20,20,20,.55);color:#fff;font-size:22px;cursor:pointer}.hero-prev{left:24px}.hero-next{right:24px}.hero-dots{position:absolute;z-index:4;bottom:22px;left:50%;display:flex;gap:8px}.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#aaa}.hero-dot.is-active{background:#111}

.ticker{overflow:hidden;background:#050505;color:#fff;white-space:nowrap}.ticker-track{display:inline-flex;gap:72px;min-width:max-content;padding:17px 0;animation:ticker 22s linear infinite;text-transform:uppercase;font-size:16px}.ticker-track span:after{content:"✦";margin-left:72px}@keyframes ticker{to{transform:translateX(-50%)}}

.section{padding:100px 0}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:44px}.section-title{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1.1;margin:0}.section-subtitle{color:#777;margin:9px 0 0}.tabs-nav{display:flex;gap:34px;text-transform:uppercase;font-size:12px}.tabs-nav a{padding-bottom:12px;border-bottom:1px solid transparent}.tabs-nav a.is-active{border-color:#111}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}.product-card{min-width:0;position:relative;text-align:center}.product-card-media{position:relative;background:var(--soft);aspect-ratio:1/1.12;overflow:hidden}.product-card-media img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.product-card:hover img{transform:scale(1.035)}.sale-badge{position:absolute;right:-38px;top:16px;z-index:2;width:120px;padding:6px 0;transform:rotate(45deg);background:#e83248;color:#fff;text-transform:uppercase;font-size:10px}.product-card-body{padding:16px 8px}.product-card h3{font-size:14px;font-weight:400;margin:0 0 4px}.price{color:var(--accent)}.price del{color:#999;margin-left:5px}.section-cta{text-align:center;margin-top:48px}

.editorial{display:grid;grid-template-columns:1fr 1fr;min-height:740px}.editorial-media{background:#e5e2dc}.editorial-media img{width:100%;height:100%;object-fit:cover}.editorial-copy{display:flex;align-items:center;padding:8vw;background:#fff}.editorial-copy.dark{background:#333024;color:#fff}.editorial-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6vw,100px);line-height:1.05;margin:0 0 32px}.editorial-copy p{max-width:620px;color:inherit;opacity:.78}.editorial.reverse .editorial-media{order:2}.editorial.reverse .editorial-copy{order:1}.look-grid{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.look-grid>div:first-child img{width:100%;height:100%;object-fit:cover}.look-products{padding:7vw 5vw;display:flex;flex-direction:column;justify-content:center}.look-products h2{font-family:var(--serif);font-size:64px;font-weight:400;margin:0 0 35px}.look-products .product-grid{grid-template-columns:repeat(3,1fr);gap:22px}

.shop-hero{min-height:500px;display:flex;align-items:center;position:relative;background:#82715e center/cover no-repeat;color:#fff}.shop-hero:before{content:"";position:absolute;inset:0;background:rgba(25,15,5,.35)}.shop-hero-inner{position:relative;z-index:1;width:100%;text-align:center}.shop-hero h1{font-family:var(--serif);font-size:58px;font-weight:400;margin:0 0 8px}.category-bubbles{display:flex;justify-content:center;gap:60px;margin-top:45px}.category-bubble{width:140px;text-align:center;font-family:var(--serif);font-size:18px}.category-bubble img{width:112px;height:112px;margin:0 auto 14px;border-radius:50%;object-fit:cover;background:#fff;padding:7px}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.shop-toolbar .woocommerce-result-count{margin:0!important}.shop-toolbar .woocommerce-ordering{margin:0!important}.woocommerce .products,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;margin:0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;text-align:center}.woocommerce ul.products li.product a img{background:var(--soft);aspect-ratio:1/1.08;object-fit:contain;margin:0 0 14px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;font-weight:400}.woocommerce ul.products li.product .price{font-size:14px!important;color:var(--accent)!important}.woocommerce span.onsale{min-width:auto;min-height:auto;line-height:1;border-radius:0;background:#e83248;padding:8px 12px;top:8px;left:auto;right:8px}.woocommerce nav.woocommerce-pagination{margin-top:70px}.woocommerce nav.woocommerce-pagination ul{border:0!important}.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0 5px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;width:42px;height:42px;padding:0!important;border-radius:50%}.woocommerce nav.woocommerce-pagination ul li span.current{background:#f1f1ef;color:#111}.shop-content{padding:70px 0 100px}

.product-breadcrumb{padding:24px 0;color:#888;font-size:12px}.product-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);gap:64px;align-items:start}.product-gallery-stack{display:grid;gap:10px}.product-gallery-stack figure{margin:0;background:var(--soft)}.product-gallery-stack img{width:100%;min-height:650px;max-height:950px;object-fit:contain}.product-summary-sticky{position:sticky;top:25px;padding:10px 0 40px}.product-summary-sticky h1{font-family:var(--serif);font-size:clamp(34px,3vw,48px);font-weight:400;line-height:1.05;margin:0 0 16px;overflow-wrap:anywhere}.product-summary-sticky .price{font-size:25px!important;margin-bottom:20px}.product-summary-sticky .woocommerce-product-details__short-description{color:#777;border-top:1px solid var(--line);padding-top:22px}.product-summary-sticky form.cart{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.product-summary-sticky form.cart .quantity input{height:52px;width:86px}.product-summary-sticky .single_add_to_cart_button{min-height:52px;flex:1;background:#111!important;color:#fff!important}.product-summary-sticky table.variations{width:100%;margin-bottom:15px}.product-summary-sticky table.variations select{width:100%;min-height:45px}.product-meta-list{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:10px;color:#666}.product-meta-list span{display:flex;gap:10px}.product-tabs{margin-top:90px;border-top:1px solid var(--line)}.wc-tabs{display:flex;justify-content:center;gap:60px;list-style:none;padding:0;margin:0;border-bottom:1px solid var(--line)}.wc-tabs li a{display:block;padding:22px 0}.wc-tabs li.active a{border-bottom:2px solid #111}.woocommerce-Tabs-panel{padding:50px 0;max-width:1100px;margin:auto}.related.products{padding:60px 0 100px}.related.products>h2{font-family:var(--serif);font-size:48px;font-weight:400;text-align:center;margin:0 0 45px}

.site-footer{border-top:1px solid var(--line);background:#f7f7f6}.footer-main{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr}.footer-col{min-height:320px;padding:60px;border-right:1px solid var(--line)}.footer-col:last-child{border-right:0}.footer-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:25px}.newsletter-title{font-size:28px;line-height:1.35;max-width:400px}.newsletter-form{display:flex;margin-top:25px}.newsletter-form input{width:100%;height:50px;border:1px solid #ddd;background:transparent;padding:0 18px}.newsletter-form button{height:50px;border:0;background:#111;color:#fff;padding:0 26px}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:12px;color:#777}.footer-bottom{min-height:70px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#888;font-size:12px}.footer-bottom-links{display:flex;gap:30px}

@media(max-width:1100px){.product-grid,.woocommerce .products,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-slide{grid-template-columns:1fr 1fr}.hero-copy{padding:40px}.footer-main{grid-template-columns:1fr 1fr}.footer-col:nth-child(2){border-right:0}.product-layout{gap:35px}.category-bubbles{gap:24px;overflow:auto;justify-content:flex-start;padding:0 25px}}
@media(max-width:767px){.site-shell{width:min(100% - 28px,1540px)}.header-main{height:68px}.brand{font-size:32px}.header-tools>a.icon-link,.header-note{display:none}.header-tools{gap:13px}.header-search-toggle{display:inline-flex!important}.mobile-toggle{display:block}.header-nav .site-shell{display:block;min-height:0}.menu{display:none;padding:18px 0;gap:12px;align-items:flex-start;flex-direction:column}.menu.is-open{display:flex}.hero-slide.is-active{display:flex;flex-direction:column-reverse;min-height:0}.hero-media img{min-height:54vh}.hero-copy{padding:48px 22px}.hero h1{font-size:54px}.hero-arrow{width:40px;height:40px}.ticker-track{font-size:13px}.section{padding:65px 0}.section-head{display:block}.tabs-nav{margin-top:25px;overflow:auto}.section-title{font-size:39px}.product-grid,.woocommerce .products,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.editorial,.look-grid{grid-template-columns:1fr;min-height:0}.editorial-media,.look-grid>div:first-child{height:60vh}.editorial-copy{padding:70px 28px}.editorial.reverse .editorial-media,.editorial.reverse .editorial-copy{order:initial}.look-products{padding:65px 20px}.look-products h2{font-size:44px}.look-products .product-grid{grid-template-columns:repeat(2,1fr)}.shop-hero{min-height:430px}.shop-hero h1{font-size:44px}.category-bubbles{margin-top:30px}.category-bubble{min-width:105px}.category-bubble img{width:90px;height:90px}.shop-toolbar{align-items:flex-start;gap:12px;flex-direction:column}.product-layout{grid-template-columns:1fr}.product-gallery-stack img{min-height:430px}.product-summary-sticky{position:static}.product-summary-sticky h1{font-size:38px}.wc-tabs{justify-content:flex-start;gap:26px;overflow:auto}.footer-main{grid-template-columns:1fr}.footer-col{min-height:auto;padding:42px 24px;border-right:0;border-bottom:1px solid var(--line)}.footer-bottom{padding:22px 0;display:block}.footer-bottom-links{margin-top:12px;flex-wrap:wrap;gap:10px 20px}}
@media(max-width:767px){.hero-copy{overflow:hidden}.hero h1{font-size:36px;-webkit-line-clamp:5}.hero-arrow{top:45%}}

/* Product-card ribbons, image variation swatches and express checkout. */
.sale-badge{font-size:9px;letter-spacing:.06em}.variation-swatches{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 18px}.variation-swatch{display:flex;align-items:center;gap:8px;min-width:86px;min-height:58px;padding:6px 10px;border:1px solid #ddd;background:#fff;color:#222;cursor:pointer;transition:border-color .2s,box-shadow .2s}.variation-swatch:hover,.variation-swatch.is-selected{border-color:#111;box-shadow:0 0 0 1px #111}.variation-swatch img{width:46px;height:46px;object-fit:contain;background:var(--soft)}.variation-swatch-label{font-size:12px;line-height:1.2;text-align:left;overflow-wrap:anywhere}.variations .capella-native-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.product-summary-sticky form.cart{margin-bottom:12px}.capella-buy-now{display:flex!important;width:100%;min-height:52px!important;margin-top:0!important;background:#111!important;color:#fff!important;border-color:#111!important}.capella-buy-now:hover{background:#333!important;color:#fff!important}.product-gallery-stack figure.is-variation-target{outline:2px solid #111;outline-offset:-2px}
@media(max-width:767px){.variation-swatch{min-width:calc(50% - 5px)}.capella-buy-now{position:relative;z-index:2}}

/* Catalog and related-product layout corrections. */
.woocommerce section.related.products{display:block!important;width:100%;margin:0;padding:60px 0 100px}
.woocommerce section.related.products>h2{display:block;width:100%;margin:0 0 45px;text-align:center}
.woocommerce section.related.products>ul.products{width:100%}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}
.woocommerce ul.products li.product{display:flex!important;min-width:0;overflow:hidden;background:var(--soft);padding:0 0 20px;text-align:center}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:flex;flex:1;flex-direction:column;min-width:0}
.woocommerce ul.products li.product a img{width:100%!important;aspect-ratio:1/1.08;margin:0 0 16px!important;background:var(--soft);object-fit:contain}
.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:3.2em;margin:0!important;padding:0 14px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.6!important}
.woocommerce ul.products li.product .price{margin-top:auto!important;padding:4px 14px 0}
.woocommerce ul.products li.product>a.button,.woocommerce ul.products li.product .add_to_cart_button{display:none!important}

/* Product purchase controls. */
.product-summary-sticky form.cart{display:block!important;width:100%;margin-bottom:12px}
.product-summary-sticky form.cart:not(.variations_form){display:grid!important;grid-template-columns:110px minmax(0,1fr);gap:12px}
.product-summary-sticky .woocommerce-variation-add-to-cart.variations_button{display:grid!important;grid-template-columns:110px minmax(0,1fr);gap:12px;width:100%}
.product-summary-sticky .quantity{width:110px!important;margin:0!important}
.product-summary-sticky .quantity input{width:100%!important;height:52px}
.product-summary-sticky .single_add_to_cart_button{width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;background:#fff!important;color:#111!important;border:2px solid #111!important}
body.single-product .product-summary-sticky .capella-buy-now.button{display:flex!important;width:100%!important;min-height:54px!important;margin:0!important;background:#000!important;color:#fff!important;border:2px solid #000!important}
body.single-product .product-summary-sticky .capella-buy-now.button:hover{background:#222!important;color:#fff!important}
@media(max-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-summary-sticky .woocommerce-variation-add-to-cart.variations_button,.product-summary-sticky form.cart:not(.variations_form){grid-template-columns:92px minmax(0,1fr)}.product-summary-sticky .quantity{width:92px!important}}

/* Interactive home product tabs. */
.home-products-tabs .tabs-nav{align-items:center}
.home-products-tabs .product-tab-button{appearance:none;padding:0 0 12px;border:0;border-bottom:1px solid transparent;background:transparent;color:#555;font-size:12px;letter-spacing:0;text-transform:uppercase;cursor:pointer}
.home-products-tabs .product-tab-button:hover,.home-products-tabs .product-tab-button:focus-visible{color:#111}
.home-products-tabs .product-tab-button.is-active{border-bottom-color:#111;color:#111}
.home-tab-panel[hidden]{display:none!important}
.home-tab-panel.is-active{animation:capella-tab-fade .28s ease both}
@keyframes capella-tab-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.home-tab-panel.is-active{animation:none}}

/* Expandable product search in the global header. */
.header-search-toggle{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.search-overlay[hidden]{display:none!important}
.search-overlay{position:fixed;z-index:100;inset:0}
.search-overlay-backdrop{position:absolute;inset:0;width:100%;border:0;background:rgba(0,0,0,.34);opacity:0;transition:opacity .18s ease;cursor:default}
.search-overlay-panel{position:relative;z-index:1;background:#fff;border-bottom:1px solid var(--line);transform:translateY(-100%);transition:transform .22s ease}
.search-overlay.is-open .search-overlay-backdrop{opacity:1}
.search-overlay.is-open .search-overlay-panel{transform:translateY(0)}
.search-overlay-inner{position:relative;min-height:122px;display:grid;grid-template-columns:260px minmax(280px,680px) 1fr;align-items:center;gap:50px}
.search-brand{justify-self:start}
.product-search-form{height:46px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;border:1px solid #ddd;border-radius:5px;background:#fff;overflow:hidden}
.product-search-form>svg{justify-self:center;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;color:#777}
.product-search-form input[type=search]{width:100%;height:44px;padding:0 8px;border:0;outline:0;background:transparent}
.product-search-form button{align-self:stretch;padding:0 22px;border:0;border-left:1px solid #e3e3e3;background:#111;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.search-overlay-actions{justify-self:end;display:flex;align-items:center;gap:18px;padding-right:28px}
.search-close{position:absolute;right:0;top:10px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#333;font-size:32px;font-weight:300;line-height:1;cursor:pointer}
body.search-is-open{overflow:hidden}
@media(max-width:767px){.search-overlay-inner{min-height:150px;display:grid;grid-template-columns:1fr auto;gap:14px;padding-top:12px;padding-bottom:16px}.search-brand{font-size:30px}.search-overlay-actions{padding-right:34px}.product-search-form{grid-column:1/-1;grid-row:2}.product-search-form button{padding:0 14px}.search-close{right:0;top:6px}}

/* Fixed, product-linked home campaign banners. */
.hero-slide.is-reversed{grid-template-columns:58% 42%}
.hero-slide.is-reversed .hero-media{grid-column:1;grid-row:1}
.hero-slide.is-reversed .hero-copy{grid-column:2;grid-row:1}
.hero-slide-banff .hero-media img{object-position:center 30%}
.hero-slide-america .hero-media img{object-position:center 35%}
@media(max-width:767px){.hero-slide.is-active.is-reversed{display:flex;flex-direction:column-reverse}.hero-slide.is-reversed .hero-media,.hero-slide.is-reversed .hero-copy{grid-column:auto;grid-row:auto}.hero-slide-banff .hero-media img,.hero-slide-america .hero-media img{object-position:center center}}
