/*
Theme Name: HEROCOS Studio
Template: cosplay-wc-template
Version: 2.0.3
Description: Costume-first editorial storefront for HEROCOS.
Text Domain: herocos-studio
Requires PHP: 7.4
*/
body.hc-studio{--hc-ink:#211c2b;--hc-muted:#6f6879;--hc-violet:#6e46a4;--hc-paper:#fbfaf7;--hc-line:#e7e2ec;--cwt-ink:#211c2b;--cwt-navy:#211c2b;--cwt-gold:#6e46a4;--cwt-gold-2:#563285;--cwt-soft:#f4f1f6;--cwt-line:#e7e2ec;--cwt-max:1320px;background:var(--hc-paper);color:var(--hc-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
.hc-studio a:hover,.hc-studio a:focus{color:var(--hc-violet)}
.hc-studio :focus-visible{outline:3px solid #845abc;outline-offset:5px}
.hc-studio [hidden]{display:none!important}
.hc-header svg,.hc-home svg,.hc-footer svg{width:24px;height:24px;flex-shrink:0}
.hc-container{width:min(1320px,calc(100% - 96px));margin-inline:auto}
.hc-skip{position:fixed;left:16px;top:-100px;z-index:99999;background:white;padding:12px 20px;border:2px solid #6e46a4}
.hc-skip:focus{top:12px}
.hc-announcement{background:#292331;color:#fff;text-align:center;font-size:10px;letter-spacing:1.7px;padding:9px 20px;line-height:1.5}
.hc-announcement span{margin:0 15px;color:#c5abd9}
.hc-header{position:relative;z-index:100;background:#fbfaf7;border-bottom:1px solid var(--hc-line)}
.hc-header-main{height:90px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.hc-logo{display:inline-flex;align-items:center;white-space:nowrap;font-size:30px;font-weight:900;letter-spacing:-1.5px;line-height:1;flex-shrink:0}
.hc-logo span{font-weight:400}.hc-logo i{font-size:23px;font-style:normal;color:var(--hc-violet);margin-left:5px}
.hc-desktop-nav{display:flex;gap:34px;align-items:center;margin-left:auto;margin-right:auto;font-size:13px;font-weight:600}
.hc-desktop-nav a{padding:10px 0;position:relative}
.hc-desktop-nav a:after{content:'';position:absolute;bottom:3px;left:0;right:100%;height:1px;background:var(--hc-violet);transition:right .18s}
.hc-desktop-nav a:hover:after{right:0}
.hc-actions{display:flex;gap:23px;align-items:center}
.hc-icon-button,.hc-icon-link{display:inline-flex;align-items:center;justify-content:center;position:relative;border:0;background:transparent;color:var(--hc-ink);padding:7px;width:38px;min-height:44px;cursor:pointer}
.hc-icon-button:hover{background:#eee8f4;color:var(--hc-violet)}
.hc-cart .header-cart-count{position:absolute;right:-4px;top:1px;border-radius:50%;background:var(--hc-violet);color:#fff;font-size:9px;min-width:17px;height:17px;padding:0 3px;line-height:17px;text-align:center}
.hc-menu-toggle{display:none;flex-direction:column;gap:6px}.hc-menu-toggle span{height:1px;width:20px;background:currentColor}
.hc-mobile-nav{padding:12px 24px 24px;border-top:1px solid var(--hc-line)}
.hc-mobile-nav>a{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--hc-line);font-size:18px}
.hc-mobile-nav span{font-size:10px;color:var(--hc-muted);margin-left:10px}
.hc-search-panel{border-top:1px solid var(--hc-line);padding:24px 0;background:#fff}
.hc-search-panel .header-search{max-width:850px;position:relative}
body.hc-studio.woocommerce-checkout .hc-search-panel .header-search{display:block}
.hc-search-panel form{display:flex;border:1px solid var(--hc-line);border-radius:0;overflow:visible}
.hc-search-panel input[type=search]{flex:1;min-width:0;padding:15px;background:#fff;border:0;font-size:16px}
.hc-search-panel button{border:0;background:var(--hc-ink);color:#fff;padding:10px 25px}
.hc-search-panel .live-search-results{z-index:200;top:100%;left:0;right:0}
.hc-home h1,.hc-home h2,.hc-home h3,.hc-home p{margin:0}
.hc-home h1,.hc-home h2,.hc-home h3{font-weight:500;letter-spacing:-2px;line-height:1.05;color:var(--hc-ink)}
.hc-home em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--hc-violet)}
.hc-hero{display:grid;grid-template-columns:46% 54%;min-height:620px;max-width:1800px;margin:0 auto;background:#f1ece7}
.hc-hero-copy{padding:82px 40px 54px max(48px,calc((100vw - 1320px)/2));position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}
.hc-eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.5;text-transform:uppercase;color:var(--hc-muted)}
.hc-hero-copy .hc-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:28px}
.hc-eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--hc-violet)}
.hc-home h1{font-size:clamp(58px,5.8vw,91px);letter-spacing:-4.5px;line-height:1.02;margin-bottom:27px}
.hc-home .hc-hero-description{font-size:15px;color:#625c66;line-height:1.8;max-width:370px}
.hc-hero-actions{display:flex;flex-wrap:wrap;gap:23px;align-items:center;margin-top:30px}
.hc-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 22px;background:var(--hc-ink);color:#fff!important;border:1px solid var(--hc-ink);font-size:12px;font-weight:600;line-height:1.5;min-height:50px;transition:background .18s}
.hc-button:hover{background:var(--hc-violet);border-color:var(--hc-violet)}
.hc-button svg,.hc-text-link svg{width:19px;height:19px}
.hc-text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:600;text-decoration:none;padding:6px 0;border-bottom:1px solid currentColor;line-height:1.8}
.hc-hero-note{margin-top:44px;font-size:11px;color:#6c6470;line-height:1.8}
.hc-hero-note>span{display:block;font-weight:700;font-size:9px;letter-spacing:1.6px;color:var(--hc-ink);margin-bottom:3px}
.hc-hero-image{position:relative;margin:0;min-width:0;overflow:hidden;min-height:620px}
.hc-hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:60% center;max-width:none}
.hc-hero-image figcaption{position:absolute;bottom:18px;left:24px;right:24px;display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.8px;color:#322b32;line-height:1.5}
.hc-hero-image figcaption span:last-child{text-align:right;letter-spacing:0;background:#f4eee4dd;padding:2px 5px}
.hc-brand-strip{display:flex;justify-content:center;gap:70px;padding:21px 24px;border-bottom:1px solid var(--hc-line);font-size:10px;letter-spacing:2px;color:#746d7b}
.hc-brand-strip b{color:var(--hc-violet);font-weight:700}
.hc-section{padding-top:90px;padding-bottom:0;scroll-margin-top:30px}
.hc-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}
.hc-section-heading .hc-eyebrow{margin-bottom:14px}
.hc-home h2{font-size:42px;letter-spacing:-1.6px}
.hc-section-heading>p{font-size:12px;color:var(--hc-muted);max-width:240px;line-height:1.7}
.hc-collection-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:24px}
.hc-costume-card,.hc-accessory-card{padding:32px 36px;min-height:450px;position:relative;overflow:hidden}
.hc-costume-card{background:#e9e2f0;display:flex;flex-direction:column;justify-content:space-between}
.hc-collection-number{font-size:9px;letter-spacing:1.6px;font-weight:600;position:relative;z-index:1}
.hc-pill{display:inline-block;font-size:8px;letter-spacing:1.1px;border:1px solid #b7a4c9;border-radius:20px;padding:4px 10px;margin-bottom:17px;background:#eee8f4}
.hc-home .hc-costume-card h3,.hc-home .hc-accessory-card h3{font-size:58px;letter-spacing:-2px;position:relative;z-index:1;margin-bottom:20px}
.hc-costume-card p,.hc-accessory-card p{color:#62596c;font-size:12px;line-height:1.75;position:relative;z-index:1}
.hc-costume-card .hc-text-link{margin-top:15px;position:relative;z-index:1}
.hc-costume-star{position:absolute;right:-14px;top:100px;font-size:275px;font-family:Georgia,serif;line-height:1;color:#d0c0e1;transform:rotate(13deg);z-index:0}
.hc-accessory-card{background:#eeece6;scroll-margin-top:30px;display:flex;flex-direction:column}
.hc-accessory-card>.hc-collection-number{margin-bottom:35px}
.hc-home .hc-accessory-card h3{font-size:48px;margin-bottom:14px}
.hc-accessory-card>div:nth-child(2){margin-bottom:24px}
.hc-accessory-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-top:1px solid #d4ced7;font-size:15px;font-weight:600;line-height:1.35}
.hc-accessory-row small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:var(--hc-muted)}
.hc-upcoming{margin-top:auto}.hc-small-label{font-size:8px;letter-spacing:.7px;font-weight:500;color:var(--hc-muted);white-space:nowrap}
.hc-products-section{padding-top:85px;padding-bottom:85px}
.hc-products-section .hc-section-heading{margin-bottom:15px}
.hc-home .hc-section-intro{font-size:13px;color:var(--hc-muted);margin-bottom:28px}
.hc-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
.hc-product-image{display:block;background:#f0edf1;position:relative;overflow:hidden;aspect-ratio:1/1.15}
.hc-product-image>img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.hc-product-image>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;background:#ffffffec;padding:9px 14px;font-size:10px;color:var(--hc-ink);opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.hc-product-image:hover>img{transform:scale(1.025)}
.hc-product-image:hover>span,.hc-product-image:focus-visible>span{opacity:1;transform:none}
.hc-home .hc-product-category{font-size:8px;letter-spacing:1.5px;color:var(--hc-violet);font-weight:600;margin-top:17px;margin-bottom:8px}
.hc-home .hc-product-card h3{font-size:13px;line-height:1.55;font-weight:400;letter-spacing:0;margin-bottom:9px}
.hc-product-price{font-size:13px;font-weight:600}.hc-product-price del{font-size:11px;color:var(--hc-muted);font-weight:400;margin-right:5px}.hc-product-price ins{text-decoration:none}
.hc-world{padding:78px 0;background:#2e2636;color:#e4dbe9;scroll-margin-top:25px}
.hc-world-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}
.hc-world .hc-eyebrow{color:#c1aecf;margin-bottom:24px}
.hc-world h2{color:#fff;font-size:48px;line-height:1.16}
.hc-world em{color:#d2b1ec}
.hc-world p:not(.hc-eyebrow){font-size:13px;line-height:1.9;margin-bottom:16px;color:#d2c8d8;max-width:420px}
.hc-world .hc-text-link{color:#fff;margin-top:8px}
.hc-contact{display:flex;gap:30px;align-items:center;padding-block:66px}
.hc-contact-star{font-size:60px;color:var(--hc-violet);line-height:1}
.hc-contact .hc-eyebrow{margin-bottom:12px}
.hc-contact h2{font-size:30px;letter-spacing:-.8px;margin-bottom:12px}
.hc-contact p:not(.hc-eyebrow){color:var(--hc-muted);font-size:12px}
.hc-button-outline{color:var(--hc-ink)!important;background:transparent;margin-left:auto;white-space:nowrap}
.hc-button-outline:hover{color:#fff!important}
.hc-footer{background:#f0ede8;padding-top:58px;color:var(--hc-ink);border-top:1px solid #e3ded8}
.hc-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:45px;padding-bottom:55px}
.hc-footer h2{font-size:11px;margin:0 0 18px;font-weight:700;letter-spacing:.5px}
.hc-footer p{font-size:12px;color:#69616c;line-height:1.9;margin:0 0 16px}
.hc-footer-grid>div>a:not(.hc-logo){display:flex;align-items:center;gap:9px;font-size:11px;margin-bottom:11px;width:fit-content}
.hc-footer-grid svg{width:16px;height:16px}
.hc-footer-brand .hc-logo{margin-bottom:22px;font-size:29px}
.hc-footer-brand p{font-size:14px;color:var(--hc-ink);line-height:1.7}
.hc-footer-brand>span,.hc-fulfillment{display:block;font-size:10px;color:#746d76;margin-top:19px}
.hc-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #dbd5df;padding-block:20px;font-size:9px;color:#756d7c}
@media(min-width:1800px){.hc-hero-copy{padding-left:120px}}
@media(max-width:1200px){.hc-container{width:calc(100% - 64px)}.hc-desktop-nav{gap:24px}.hc-actions{gap:10px}.hc-hero{min-height:565px;grid-template-columns:47% 53%}.hc-hero-copy{padding:64px 26px 44px 32px}.hc-hero-image{min-height:565px}.hc-home h1{font-size:70px}.hc-home .hc-hero-description{font-size:14px}.hc-hero-actions{gap:15px}.hc-hero-note{margin-top:28px}.hc-home h2{font-size:35px}.hc-world h2{font-size:42px}.hc-world-grid{gap:60px}.hc-costume-card,.hc-accessory-card{padding:28px}.hc-footer-grid{gap:30px}.hc-brand-strip{gap:50px}}
@media(max-width:900px){.hc-desktop-nav{gap:19px;font-size:11px}.hc-logo{font-size:26px}.hc-header-main{gap:18px;height:78px}.hc-actions{gap:3px}.hc-hero{min-height:530px}.hc-hero-image{min-height:530px}.hc-home h1{font-size:59px;letter-spacing:-3px}.hc-hero-copy{padding-top:50px}.hc-hero-actions{align-items:flex-start;flex-direction:column}.hc-hero-note{margin-top:24px}.hc-hero-image figcaption{flex-direction:column;font-size:7px;left:12px;right:12px}.hc-hero-image figcaption span:last-child{align-self:flex-start;text-align:left}.hc-home .hc-costume-card h3{font-size:50px}.hc-home .hc-accessory-card h3{font-size:42px}.hc-costume-star{font-size:220px;right:-40px;top:150px}.hc-collection-grid{gap:18px}.hc-collection-number{font-size:8px}.hc-product-grid{gap:17px}.hc-footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:30px}.hc-footer-grid>div:last-child{grid-column:1/-1;border-top:1px solid #dbd5df;padding-top:24px}.hc-world-grid{gap:35px}.hc-world h2{font-size:37px}.hc-contact{gap:22px}.hc-contact-star{font-size:45px}.hc-contact h2{font-size:27px}}
@media(max-width:700px){.hc-container{width:calc(100% - 40px)}.hc-announcement{font-size:8px;letter-spacing:1px;padding:9px 10px}.hc-announcement span{margin:0 6px}.hc-header-main{height:72px;gap:10px}.hc-desktop-nav{display:none}.hc-menu-toggle{display:inline-flex}.hc-logo{font-size:27px}.hc-actions{gap:4px}.hc-icon-button,.hc-icon-link{width:32px;padding:5px}.hc-icon-link[aria-label='My account']{display:none}.hc-hero{display:flex;flex-direction:column;min-height:0}.hc-hero-copy{padding:40px 24px 35px;align-items:flex-start}.hc-hero-copy .hc-eyebrow{font-size:9px;margin-bottom:20px}.hc-home h1{font-size:66px;letter-spacing:-3.3px;margin-bottom:20px}.hc-home .hc-hero-description{font-size:13px;max-width:340px}.hc-hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:23px}.hc-button{font-size:11px;padding:13px 17px;gap:15px;min-height:46px}.hc-text-link{font-size:11px;gap:10px}.hc-hero-note{font-size:10px;margin-top:24px}.hc-hero-note>span{display:inline;margin-right:8px;font-size:8px}.hc-hero-image{height:410px;min-height:0}.hc-hero-image img{object-position:58% center}.hc-hero-image figcaption{left:20px;right:20px;bottom:12px;flex-direction:row;font-size:7px}.hc-hero-image figcaption span:last-child{max-width:190px;text-align:right}.hc-brand-strip{gap:18px;padding:18px 10px;font-size:7px;letter-spacing:1px}.hc-section{padding-top:55px}.hc-section-heading{align-items:flex-start;gap:15px;margin-bottom:23px}.hc-section-heading>p{display:none}.hc-home h2{font-size:30px;letter-spacing:-1px}.hc-section-heading .hc-eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:12px}.hc-collection-grid{grid-template-columns:1fr;gap:18px}.hc-costume-card,.hc-accessory-card{padding:28px;min-height:405px}.hc-home .hc-costume-card h3{font-size:56px}.hc-costume-star{right:-5px;top:115px;font-size:270px}.hc-accessory-card{min-height:0}.hc-accessory-card>.hc-collection-number{margin-bottom:28px}.hc-home .hc-accessory-card h3{font-size:44px}.hc-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.hc-products-section{padding-bottom:55px}.hc-products-section .hc-section-heading{display:block}.hc-products-section .hc-section-heading>.hc-text-link{margin-top:15px}.hc-home .hc-section-intro{font-size:12px;margin-bottom:24px}.hc-product-image{aspect-ratio:1/1.12}.hc-home .hc-product-category{font-size:7px;letter-spacing:1px;margin-top:13px}.hc-home .hc-product-card h3{font-size:12px}.hc-product-price{font-size:12px}.hc-world{padding:48px 0}.hc-world-grid{grid-template-columns:1fr;gap:26px}.hc-world .hc-eyebrow{font-size:8px;margin-bottom:18px}.hc-world h2{font-size:37px}.hc-world p:not(.hc-eyebrow){font-size:12px;max-width:none}.hc-contact{flex-wrap:wrap;padding-block:43px;gap:18px}.hc-contact-star{font-size:35px}.hc-contact>div{flex:1}.hc-contact h2{font-size:26px}.hc-contact .hc-eyebrow{font-size:8px}.hc-contact p:not(.hc-eyebrow){font-size:11px}.hc-contact>.hc-button{margin-left:53px}.hc-footer{padding-top:40px}.hc-footer-grid{grid-template-columns:1fr 1fr;gap:33px 20px;padding-bottom:35px}.hc-footer-brand{grid-column:1/-1}.hc-footer-brand p{font-size:15px}.hc-footer-grid>div:last-child{padding-top:25px}.hc-footer-bottom{font-size:8px;gap:20px;padding-block:17px}.hc-footer-bottom span:last-child{text-align:right}.hc-search-panel{padding-block:17px}.hc-search-panel input[type=search]{padding:12px}.hc-search-panel button{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hc-studio *{transition:none!important}}

/* Keep the hero phrase on two readable lines at common phone widths. */
@media(max-width:700px){.hc-home h1{font-size:clamp(43px,13.7vw,56px);letter-spacing:-2.5px}}
