/*
Theme Name: Kathy & Molly — Afterglow Edition
Theme URI: https://kathyandmolly.com/
Author: Kathy & Molly
Description: A dark editorial WooCommerce variation for Kathy & Molly's rave-wear storefront.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: kathy-molly
Tags: e-commerce, woocommerce, custom-logo, custom-menu, featured-images, full-width-template
*/
:root{--bg:#100d17;--ink:#f7f2f9;--muted:#bdb3c3;--plum:#291d38;--violet:#a975ff;--violet-light:#d2b6ff;--acid:#d5ff62;--line:rgba(247,242,249,.18);--serif:"DM Serif Display",Georgia,serif;--sans:"Space Grotesk",Arial,sans-serif;--max:1340px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.km-site{overflow:hidden;background:radial-gradient(circle at 85% 2%,rgba(169,117,255,.12),transparent 26rem),var(--bg)}.km-container{width:min(var(--max),calc(100% - 56px));margin:0 auto}.km-kicker{margin:0 0 18px;color:var(--acid);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.km-title{margin:0;font-family:var(--serif);font-size:clamp(3rem,7vw,7.7rem);font-weight:400;letter-spacing:-.065em;line-height:.83}.km-title em{color:var(--violet-light);font-style:italic}.km-copy{color:var(--muted);font-size:1.04rem;line-height:1.65}.km-link{display:inline-flex;align-items:center;gap:.65rem;color:var(--acid);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.km-link::after{content:"↗";font-size:1.2em}.km-link:hover{color:#fff}.km-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:.6rem;padding:0 19px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.2s ease;cursor:pointer}.km-button:hover{transform:translateY(-3px);background:var(--acid);border-color:var(--acid)}.km-button--outline{background:transparent;color:var(--ink)}.km-button--outline:hover{color:var(--bg)}.km-button--acid{border-color:var(--acid);background:var(--acid);color:var(--bg)}
/* header */.km-announcement{display:flex;justify-content:center;align-items:center;min-height:36px;padding:7px 18px;border-bottom:1px solid var(--line);background:#09070d;color:var(--acid);font-size:.67rem;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase}.km-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(16,13,23,.94);backdrop-filter:blur(16px)}.km-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:82px;gap:22px}.km-nav ul{display:flex;align-items:center;gap:1.7rem;padding:0;margin:0;list-style:none}.km-nav a{color:#e2d9e6;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.km-nav a:hover,.km-nav .current-menu-item>a{color:var(--acid)}.km-brand{display:flex;align-items:center;justify-content:center}.km-brand__logo,.custom-logo{width:auto;height:57px;max-width:174px;object-fit:contain;filter:drop-shadow(0 4px 11px rgba(169,117,255,.2))}.km-actions{display:flex;justify-content:flex-end;align-items:center;gap:.2rem}.km-icon-link{position:relative;display:grid;width:39px;height:39px;place-items:center;border:1px solid transparent;border-radius:50%;color:var(--ink);font-size:1.04rem}.km-icon-link:hover{border-color:var(--violet);color:var(--acid)}.km-cart-count{position:absolute;right:-1px;top:-1px;display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:var(--acid);color:var(--bg);font-size:.55rem;font-weight:700}.km-menu-toggle{display:none;width:39px;height:39px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
/* hero */.km-afterglow-hero{position:relative;min-height:calc(100vh - 118px);padding:clamp(54px,8vw,112px) 0 38px;border-bottom:1px solid var(--line)}.km-afterglow-hero::after{content:"";position:absolute;z-index:0;width:43vw;max-width:590px;aspect-ratio:1;right:-12vw;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(169,117,255,.5),rgba(169,117,255,0) 69%);filter:blur(8px)}.km-afterglow-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .78fr .38fr;align-items:end;gap:clamp(22px,4vw,75px)}.km-afterglow-hero__content{padding-bottom:46px}.km-afterglow-hero .km-title{max-width:750px}.km-afterglow-hero__copy{max-width:430px;margin:27px 0 29px}.km-afterglow-hero__actions{display:flex;flex-wrap:wrap;gap:12px}.km-afterglow-hero__photo{position:relative;align-self:stretch;min-height:500px;overflow:hidden;border:1px solid rgba(247,242,249,.45);background:var(--plum)}.km-afterglow-hero__photo img{width:100%;height:100%;min-height:500px;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.03)}.km-afterglow-hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,13,23,.78))}.km-afterglow-hero__photo-note{position:absolute;z-index:1;left:17px;bottom:18px;right:17px;display:flex;align-items:flex-end;justify-content:space-between;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.km-afterglow-hero__side{display:flex;min-height:500px;flex-direction:column;justify-content:space-between;padding-bottom:3px}.km-afterglow-hero__number{color:var(--acid);font-family:var(--serif);font-size:1.1rem;letter-spacing:.06em}.km-afterglow-hero__vertical{margin-left:auto;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.km-afterglow-hero__offer{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-size:1.35rem;line-height:1}.km-afterglow-hero__offer strong{color:var(--acid);font-weight:400}.km-afterglow-hero__footer{display:flex;justify-content:space-between;gap:20px;margin-top:38px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.km-afterglow-hero__footer span::before{content:"✦";margin-right:8px;color:var(--violet-light)}.km-ticker{overflow:hidden;border-bottom:1px solid var(--line);background:var(--acid);color:var(--bg)}.km-ticker__track{display:flex;width:max-content;min-height:45px;align-items:center;gap:28px;font-size:.75rem;font-weight:700;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase;animation:km-ticker 27s linear infinite}@keyframes km-ticker{to{transform:translateX(-42%)}}
/* content */.km-section{padding:clamp(75px,10vw,145px) 0}.km-section__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.km-section__intro .km-title{font-size:clamp(2.7rem,5vw,5.5rem);max-width:750px}.km-section__intro .km-copy{max-width:300px;margin:0 0 4px}.km-collections{background:#17111f}.km-collection-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:15px}.km-collection{position:relative;display:flex;min-height:390px;grid-column:span 4;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid var(--line);background:var(--plum)}.km-collection:nth-child(1),.km-collection:nth-child(4){grid-column:span 6}.km-collection__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:.82;transition:transform .55s ease,opacity .4s ease}.km-collection::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,9,22,.02),rgba(15,9,22,.86) 100%)}.km-collection:hover .km-collection__image{transform:scale(1.06);opacity:1}.km-collection__copy{position:relative;z-index:1;padding:24px}.km-collection__index{margin-bottom:35px;color:var(--acid);font-size:.7rem;font-weight:700;letter-spacing:.1em}.km-collection h3{margin:0 0 8px;font-family:var(--serif);font-size:clamp(2rem,3vw,3.4rem);font-weight:400;letter-spacing:-.05em;line-height:.9}.km-collection p{max-width:260px;margin:0 0 16px;color:#ddd3e2;font-size:.83rem;line-height:1.45}.km-signal{padding:0 0 clamp(75px,10vw,140px);background:#17111f}.km-signal__panel{position:relative;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);background:#24172f}.km-signal__photo{min-height:490px}.km-signal__photo img{width:100%;height:100%;object-fit:cover;object-position:center}.km-signal__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,6vw,90px)}.km-signal__copy .km-title{font-size:clamp(3rem,5vw,5.4rem)}.km-signal__copy .km-copy{max-width:465px}.km-signal__chips{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 28px}.km-signal__chips span{padding:8px 10px;border:1px solid var(--line);color:var(--violet-light);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.km-gallery{background:#f0eaff;color:#150d1c}.km-gallery .km-kicker,.km-gallery .km-link{color:#6b32c5}.km-gallery .km-title em{color:#7a38df}.km-gallery .km-copy{color:#554960}.km-gallery-grid{display:grid;grid-template-columns:1fr 1.2fr .78fr;gap:16px}.km-gallery-card{position:relative;min-height:345px;overflow:hidden;background:#b4a2d0}.km-gallery-card:nth-child(2){min-height:480px}.km-gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}.km-gallery-card:hover img{transform:scale(1.04)}.km-gallery-card span{position:absolute;left:16px;bottom:14px;z-index:1;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-shadow:0 1px 9px #100d17;text-transform:uppercase}.km-shop{background:var(--bg)}.km-shop__head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px}.km-shop__head .km-title{font-size:clamp(2.7rem,5vw,5.3rem)}
/* WooCommerce */.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product{width:auto;margin:0;overflow:hidden;border:1px solid var(--line);background:#19141e}.woocommerce ul.products li.product a img{margin:0;aspect-ratio:4/5;object-fit:cover;background:#2a2232}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:19px 18px 7px;color:var(--ink);font-family:var(--serif);font-size:1.35rem;font-weight:400;line-height:1}.woocommerce ul.products li.product .price{display:block;padding:0 18px 16px;color:var(--acid);font-size:.85rem;font-weight:700}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{margin:0 18px 19px;border:1px solid var(--violet);border-radius:0;background:transparent;color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{border-color:var(--acid);background:var(--acid);color:var(--bg)}.woocommerce span.onsale{min-width:0;min-height:0;top:10px;left:10px;padding:7px 9px;border-radius:0;background:var(--acid);color:var(--bg);font-size:.65rem;line-height:1}.woocommerce div.product .product_title{color:var(--ink);font-family:var(--serif);font-size:3rem;font-weight:400}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--acid);font-weight:700}.woocommerce .quantity .qty{height:39px;border:1px solid var(--line);background:transparent;color:var(--ink)}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--acid);background:#21182b;color:var(--ink)}.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.75rem}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--line);background:#17111f;color:var(--ink)}
/* club and category */.km-membership{position:relative;overflow:hidden;background:linear-gradient(135deg,#6f35c4,#2d164e 62%,#17111f)}.km-membership::before{content:"✦";position:absolute;right:5%;top:-15%;color:rgba(255,255,255,.13);font-family:var(--serif);font-size:38rem;line-height:1}.km-membership__grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:40px}.km-membership .km-title{max-width:760px;color:white}.km-membership .km-title em{color:var(--acid)}.km-membership .km-copy{max-width:520px;color:#e8dfff}.km-membership__benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:35px;border:1px solid rgba(255,255,255,.28)}.km-membership__benefits div{padding:18px;background:rgba(17,10,26,.15);color:#fff;font-size:.82rem;line-height:1.35}.km-membership__benefits b{display:block;margin-bottom:6px;color:var(--acid);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.km-membership__stamp{display:grid;width:min(100%,370px);aspect-ratio:1;place-items:center;margin-left:auto;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:var(--acid);font-family:var(--serif);font-size:clamp(3rem,6vw,5.6rem);line-height:.79;text-align:center;transform:rotate(-9deg)}.km-membership__stamp small{display:block;margin-top:22px;color:#fff;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.km-category-page{background:var(--bg)}.km-category-hero{position:relative;overflow:hidden;min-height:500px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,var(--km-cat-a),var(--km-cat-b))}.km-category-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,7,15,.72),rgba(10,7,15,.08));pointer-events:none}.km-category-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:.94fr 1.06fr;min-height:500px;align-items:center}.km-category-hero__content{position:relative;z-index:2;padding:80px 30px 80px 0}.km-category-hero .km-kicker{color:var(--acid)}.km-category-hero .km-title{color:#fff;font-size:clamp(3.5rem,7.4vw,7rem);text-shadow:0 4px 25px rgba(0,0,0,.2)}.km-category-hero .km-copy{max-width:490px;color:#fff}.km-category-hero__offers{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.km-category-hero__offers span{padding:8px 10px;border:1px solid rgba(255,255,255,.58);background:rgba(10,7,15,.4);color:#fff;font-size:.67rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.km-category-hero__art{position:absolute;inset:0 0 0 43%}.km-category-hero__image{width:100%;height:100%;object-fit:cover;object-position:center 38%}.km-category-hero__art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,16,34,.55),transparent 52%),linear-gradient(0deg,rgba(20,13,28,.2),transparent)}.km-category-hero__mark{position:absolute;z-index:1;right:7%;bottom:8%;color:var(--acid);font-family:var(--serif);font-size:5rem;line-height:1;text-shadow:0 1px 15px rgba(0,0,0,.6)}.km-category-hero__smallmark{display:none}.km-category-hero__label{position:absolute;z-index:2;right:7%;top:8%;padding:10px;border:1px solid rgba(255,255,255,.7);color:white;font-size:.62rem;font-weight:700;letter-spacing:.12em;line-height:1.35;text-align:center;text-transform:uppercase}.km-category-products{padding:68px 0 115px}.km-category-products .woocommerce-result-count{color:var(--muted);font-size:.78rem}.km-category-products .woocommerce-ordering select{padding:9px;border:1px solid var(--line);background:#17111f;color:var(--ink);font-size:.75rem}.km-category-products .woocommerce-no-products-found{padding:28px;border:1px dashed var(--violet);background:#1a1421;color:var(--muted)}
/* footer */.km-page-header{padding:92px 0 64px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#24162f,#100d17)}.km-page-header .km-title{color:white;font-size:clamp(3rem,6vw,6.2rem)}.km-content{min-height:45vh;padding:70px 0 110px}.km-content .entry-content{max-width:790px;color:#ded6e1;font-size:1rem;line-height:1.7}.km-content .entry-content h2{margin:46px 0 12px;color:white;font-family:var(--serif);font-size:2rem;font-weight:400;letter-spacing:-.04em}.km-content .entry-content a{color:var(--acid);text-decoration:underline}.km-newsletter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--acid);color:#100d17}.km-newsletter__wrap{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:31px 0}.km-newsletter h2{margin:0;font-family:var(--serif);font-size:clamp(2rem,3vw,3.1rem);font-weight:400;letter-spacing:-.05em;line-height:.9}.km-newsletter p{margin:8px 0 0;font-size:.83rem;font-weight:500}.km-newsletter form{display:flex;gap:0}.km-newsletter input{width:250px;height:49px;padding:0 13px;border:1px solid var(--bg);background:transparent;color:var(--bg);outline:none}.km-newsletter input::placeholder{color:#3d3741}.km-newsletter .km-button{min-height:49px;border-color:var(--bg);background:var(--bg);color:var(--ink)}.km-newsletter .km-button:hover{background:var(--violet);border-color:var(--violet)}.km-footer{padding:62px 0 22px;background:#09070d}.km-footer__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:38px;padding-bottom:55px}.km-footer .km-brand{justify-content:flex-start}.km-footer p{max-width:300px;color:#a79aaa;font-size:.81rem;line-height:1.6}.km-footer h3{margin:6px 0 15px;color:var(--acid);font-size:.67rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.km-footer ul{padding:0;margin:0;list-style:none}.km-footer li{margin-bottom:10px}.km-footer a{color:#e5dce9;font-size:.8rem}.km-footer a:hover{color:var(--acid)}.km-footer__bottom{display:flex;justify-content:space-between;gap:18px;padding-top:19px;border-top:1px solid var(--line);color:#897d8d;font-size:.69rem}
@media(max-width:940px){.km-afterglow-hero__grid{grid-template-columns:1fr .72fr}.km-afterglow-hero__side{display:none}.km-collection{grid-column:span 6}.km-collection:nth-child(1),.km-collection:nth-child(4){grid-column:span 6}.km-gallery-grid{grid-template-columns:1fr 1fr}.km-gallery-card:nth-child(3){display:none}.km-footer__grid{grid-template-columns:1fr repeat(2,1fr)}.km-footer__grid>:first-child{grid-column:1/-1}.km-category-hero__grid{grid-template-columns:1fr}.km-category-hero__content{padding:70px 0}.km-category-hero__art{inset:0 0 0 43%}.km-membership__grid{grid-template-columns:1fr .65fr}}@media(max-width:690px){.km-container{width:min(var(--max),calc(100% - 32px))}.km-header__inner{min-height:68px;grid-template-columns:1fr auto 1fr}.km-nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:18px;border:1px solid var(--line);background:#17111f}.km-nav.is-open{display:block}.km-nav ul{display:grid;gap:15px}.km-menu-toggle{display:grid;place-items:center}.km-actions .km-icon-link:first-child{display:none}.km-brand__logo,.custom-logo{height:47px;max-width:130px}.km-afterglow-hero{min-height:0;padding:57px 0 27px}.km-afterglow-hero__grid{grid-template-columns:1fr;gap:25px}.km-afterglow-hero__content{padding-bottom:0}.km-afterglow-hero__photo{min-height:420px;max-width:430px}.km-afterglow-hero__photo img{min-height:420px}.km-afterglow-hero__footer{flex-direction:column;gap:10px;margin-top:27px}.km-section{padding:75px 0}.km-section__intro,.km-shop__head{align-items:flex-start;flex-direction:column;margin-bottom:28px}.km-collection-grid{grid-template-columns:1fr}.km-collection,.km-collection:nth-child(n){grid-column:1;min-height:355px}.km-signal__panel,.km-membership__grid{grid-template-columns:1fr}.km-signal__photo{min-height:360px}.km-signal__copy{padding:39px 28px}.km-gallery-grid{grid-template-columns:1fr}.km-gallery-card,.km-gallery-card:nth-child(2){min-height:385px}.km-gallery-card:nth-child(3){display:block}.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:13px 12px 6px;font-size:1.15rem}.woocommerce ul.products li.product .price{padding:0 12px 11px}.woocommerce a.button{margin:0 12px 13px;padding:.7em}.km-membership__stamp{width:260px;margin:35px 0 0}.km-category-hero{min-height:570px}.km-category-hero__content{padding:53px 0 255px}.km-category-hero__art{inset:auto 0 0 0;height:270px;opacity:.75}.km-category-hero__art::after{background:linear-gradient(0deg,rgba(15,10,21,.4),transparent)}.km-category-hero__label{top:13px}.km-category-hero__mark{bottom:12px}.km-newsletter__wrap{grid-template-columns:1fr;padding:31px 0}.km-newsletter form{width:100%;flex-direction:column}.km-newsletter input{width:100%}.km-footer__grid{grid-template-columns:1fr 1fr;gap:32px 20px}.km-footer__grid>:first-child{grid-column:1/-1}.km-footer__bottom{flex-direction:column}}
