/*
Theme Name: Swellvana Storefront
Description: A restrained WooCommerce child theme for swim and sport collections.
Author: Swellvana
Version: 1.0.3
Template: storefront
Text Domain: swellvana
*/

:root { --sv-navy:#062b3b; --sv-ink:#11313d; --sv-warm:#fbf8f1; --sv-sand:#e8dfcf; --sv-coral:#e85f4d; --sv-coral-ink:#a33b31; --sv-cobalt:#2469a7; --sv-line:#d7d3ca; --sv-shadow:0 18px 42px rgba(6,43,59,.12); }
body { background:var(--sv-warm); color:var(--sv-ink); font-family:Arial,Helvetica,sans-serif; }
a { color:var(--sv-navy); text-underline-offset:3px; }
a:hover { color:var(--sv-coral-ink); }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px var(--sv-coral-ink); }
.site-header { background:var(--sv-warm); border-bottom:1px solid var(--sv-line); }
.site-branding .site-title a { color:var(--sv-navy); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.site-header-cart .cart-contents { color:var(--sv-navy); }
.main-navigation ul li a { color:var(--sv-ink); font-weight:700; text-transform:uppercase; font-size:.82rem; letter-spacing:.06em; }
.main-navigation ul li a:hover { color:var(--sv-coral-ink); }
/* Storefront header.php wraps content in #content > .col-full and adds breadcrumbs before it.
   These front-page-only rules preserve Storefront cart, checkout, and product layouts. */
body.home .woocommerce-breadcrumb { display:none; }
body.home .site-content { padding-top:0; }
body.home #masthead { margin-bottom:0; }
body.home #content > .col-full { margin:0; max-width:none; padding:0; width:100%; }
body.home #primary.content-area { float:none; margin:0; width:100%; }
body.home #secondary { display:none; }
.swellvana-home { overflow:hidden; }
.sv-wrap { width:min(1160px, calc(100% - 2.5rem)); margin:0 auto; }
.sv-eyebrow { color:var(--sv-coral-ink); display:block; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1rem; }
.sv-button { display:inline-flex; align-items:center; justify-content:center; background:var(--sv-coral-ink); border:2px solid var(--sv-coral-ink); border-radius:0; color:#fff; font-size:.8rem; font-weight:800; letter-spacing:.08em; padding:.9rem 1.25rem; text-decoration:none; text-transform:uppercase; transition:background .18s ease,color .18s ease; }
.sv-button:hover { background:transparent; color:var(--sv-coral-ink); }
.sv-button--quiet { background:transparent; color:var(--sv-navy); border-color:var(--sv-navy); }
.sv-button--quiet:hover { background:var(--sv-navy); color:#fff; }
.sv-hero { background:var(--sv-navy); color:#fff; min-height:540px; display:grid; grid-template-columns:1.08fr .92fr; }
.sv-hero__copy { align-self:center; padding:5rem max(1.25rem,calc((100vw - 1160px)/2)); padding-right:3rem; }
.sv-hero h1 { color:#fff; font-size:clamp(2.6rem,5vw,5.2rem); line-height:.94; margin:0 0 1.5rem; max-width:9ch; }
.sv-hero p { color:#d4e4e8; font-size:1.15rem; line-height:1.55; max-width:35rem; margin-bottom:2rem; }
.sv-hero .sv-eyebrow { color:var(--sv-warm); }
.sv-hero .sv-button:hover { background:var(--sv-warm); border-color:var(--sv-warm); color:var(--sv-navy); }
.sv-hero__image { min-height:360px; position:relative; background:linear-gradient(145deg,#2469a7 0%,#0a4357 58%,#e85f4d 58%,#e85f4d 64%,#d9b75f 64%); }
.sv-hero__image img { display:block; height:100%; inset:0; object-fit:cover; position:absolute; width:100%; mix-blend-mode:normal; }
.sv-hero__tag { background:var(--sv-warm); bottom:1.5rem; color:var(--sv-navy); font-size:.74rem; font-weight:800; letter-spacing:.1em; padding:.8rem 1rem; position:absolute; right:1.5rem; text-transform:uppercase; }
.sv-section { padding:5.5rem 0; }
.sv-section--sand { background:var(--sv-sand); }
.sv-section__head { align-items:end; display:flex; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.sv-section h2 { color:var(--sv-navy); font-size:clamp(2rem,3vw,3.25rem); line-height:1; margin:0; }
.sv-section__head p { max-width:31rem; margin:0; line-height:1.55; }
.sv-collections { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.sv-collection { background:#fff; color:var(--sv-navy); min-height:190px; padding:1.3rem; display:flex; flex-direction:column; justify-content:flex-end; position:relative; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.sv-collection:hover { color:var(--sv-navy); transform:translateY(-4px); box-shadow:var(--sv-shadow); }
.sv-collection:nth-child(1){background:#d6e7e5}.sv-collection:nth-child(2){background:#efd8d0}.sv-collection:nth-child(3){background:#dce6f1}.sv-collection:nth-child(4){background:#ede2cb}
.sv-collection span { font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sv-collection strong { font-family:Georgia,serif; font-size:2rem; line-height:1; margin-top:.45rem; }
.sv-products { display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; list-style:none; margin:0; padding:0; }
.sv-product { min-width:0; }
.sv-product__image { background:#eee8dc; display:block; aspect-ratio:4/5; overflow:hidden; }
.sv-product__image img { display:block; height:100%; object-fit:cover; width:100%; transition:transform .35s ease; }
.sv-product:hover img { transform:scale(1.035); }
.sv-product__category { color:var(--sv-cobalt); display:block; font-size:.7rem; font-weight:800; letter-spacing:.1em; margin-top:.9rem; text-transform:uppercase; }
.sv-product h3 { font-size:1rem; line-height:1.25; margin:.4rem 0; }
.sv-product h3 a { text-decoration:none; }
.sv-product .price { color:var(--sv-ink); font-weight:700; }
.sv-empty { background:#fff; border:1px solid var(--sv-line); padding:2rem; line-height:1.5; }
.sv-story { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.sv-story__art { min-height:340px; background:linear-gradient(135deg,var(--sv-cobalt) 0 47%,var(--sv-warm) 47% 53%,var(--sv-coral) 53%); display:flex; align-items:end; padding:1.6rem; }
.sv-story__art span { background:var(--sv-navy); color:#fff; font-size:.76rem; font-weight:800; letter-spacing:.1em; padding:.7rem; text-transform:uppercase; }
.sv-story__copy p { font-size:1.12rem; line-height:1.6; max-width:34rem; }
.sv-footer { align-items:center; border-top:1px solid var(--sv-line); display:flex; flex-wrap:wrap; gap:1rem 2rem; padding:2rem 0; }
.sv-footer__identity { color:var(--sv-navy); display:flex; flex-direction:column; letter-spacing:.08em; text-transform:uppercase; }
.sv-footer__identity strong { font-size:1rem; }
.sv-footer__identity span { font-size:.68rem; font-weight:700; margin-top:.2rem; }
.sv-footer-menu { margin-left:auto; }
.sv-footer-menu__list { display:flex; flex-wrap:wrap; gap:.5rem 1rem; list-style:none; margin:0; padding:0; }
.sv-footer-menu__list a { font-size:.85rem; font-weight:700; text-decoration:none; }
.sv-footer__support { font-size:.85rem; }
.sv-footer__copyright { font-size:.78rem; margin:0; width:100%; }
@media (max-width: 800px) { .site-header .site-branding { float:none; width:100%; text-align:left; } .site-header .site-header-cart { display:block; } .sv-hero { grid-template-columns:1fr; } .sv-hero__copy { padding:4.25rem 1.25rem; } .sv-hero__image { min-height:280px; } .sv-collections,.sv-products { grid-template-columns:repeat(2,1fr); } .sv-section { padding:3.75rem 0; } .sv-section__head,.sv-story { display:block; } .sv-section__head p { margin-top:1rem; } .sv-story__copy { margin-top:2rem; } .sv-footer-menu { margin-left:0; width:100%; } }
@media (max-width: 460px) { .sv-wrap { width:min(100% - 2rem,1160px); } .sv-collections,.sv-products { grid-template-columns:1fr; } .sv-hero h1 { font-size:3.2rem; } .sv-product__image { aspect-ratio:16/11; } }
