/* One shared visual language across the storefront and owner pages. */
@font-face{font-family:Krafty;src:url('/krafty-display.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#090909;--panel:#151515;--lime:#b8ff00;--blue:#00baff;--orange:#ff7b00;--pink:#ff48af;--line:#393939;--brand-font:Krafty,Impact,sans-serif}
body{background-color:var(--bg);background-image:radial-gradient(ellipse at 0 18%,#b8ff0018,transparent 26%),radial-gradient(ellipse at 100% 53%,#00baff18,transparent 25%),repeating-linear-gradient(124deg,transparent 0 79px,#ffffff03 80px 82px,transparent 83px 140px);color:#fafafa}
h1,h2,h3,h4,.eyebrow,.ticker,.photo-stamp,.price,.brand,.section-title,.site-menu a,.nav a,button,.button,.quick-link,.submit,.option,summary,legend{font-family:var(--brand-font)!important;font-weight:400!important;letter-spacing:.035em;line-height:1.12}
strong,b,label,.line-top,.total{font-family:var(--brand-font);font-weight:400;letter-spacing:.03em}
h1{line-height:1.02!important;letter-spacing:.025em!important;text-shadow:3px 3px 0 #000}
h2{font-size:clamp(2rem,4.5vw,3.8rem)}
h3{font-size:1.8rem}h4{font-size:1.4rem}
button,.button,.quick-link,.submit,.option{font-size:1.2rem!important;line-height:1.2!important}
label{font-size:1.05rem}
input,select,textarea{font-family:'DM Sans',Arial,sans-serif;line-height:1.5}
.site-header{background:#090909f2;backdrop-filter:blur(12px);border-bottom:1px solid #353535}
.site-bar{min-height:88px;gap:14px}.brand{display:inline-flex;align-items:center;justify-content:center;width:290px;flex:none;text-decoration:none}.brand img{display:block;width:100%;height:auto;max-height:84px;object-fit:contain}
.menu-toggle{background:transparent;border:0;border-radius:0;font:32px Arial!important}
.site-menu:not([hidden]){background:#111;border-right:3px solid var(--orange)}.site-menu a{font-size:1.65rem;line-height:1.3}.site-menu a:hover,.site-menu a:focus-visible{border-left:4px solid var(--lime)}
.quick-link{border:2px solid var(--blue);border-radius:100px;color:var(--blue);white-space:nowrap}.quick-link:hover{background:var(--blue);color:#080808}
.eyebrow{color:var(--blue);font-size:1.15rem!important;letter-spacing:.12em}
.hero{position:relative;isolation:isolate;gap:30px}.hero:before{content:"";position:absolute;z-index:-1;inset:-25px -20px;pointer-events:none;background:radial-gradient(circle at 0 20%,#b8ff00aa 0 4px,transparent 5px),radial-gradient(circle at 2% 22%,#b8ff00 0 2px,transparent 3px),radial-gradient(circle at 99% 68%,#00baff 0 5px,transparent 6px),radial-gradient(circle at 97% 65%,#00baff99 0 2px,transparent 3px),linear-gradient(135deg,transparent 4%,#44444425 4.2%,transparent 4.7%)}
.hero h1{font-size:clamp(4rem,7.5vw,7.5rem)!important;margin:16px 0 28px;line-height:1!important}
.hero h1 span,.intro h1 span,.cupcake-hero h1 span,.wrap>h1 span,.shell>h1 span{color:var(--lime)}
.hero h1 span{display:inline-block;position:relative}.hero h1 span:after{content:"";display:block;height:8px;background:var(--orange);transform:rotate(-3deg) skew(-24deg);border-radius:60% 10% 50% 20%;margin-top:7px}
.hero p{color:#eee;font-size:1.15rem;line-height:1.6}.hero .button{border-radius:100px;padding:16px 28px;box-shadow:0 0 24px #b8ff0044}
.hero-photo{padding:0;background:#090909;border-radius:12px;overflow:hidden}.hero-photo:before{display:none}.hero-photo img{width:100%;height:auto!important;aspect-ratio:1122/1402!important;object-fit:contain;border-radius:12px}.photo-stamp{display:none}
.button:not(.secondary),.submit,button.primary{background:var(--lime);color:#080808;border-color:var(--lime);box-shadow:3px 3px 0 var(--orange)}
.button:not(.secondary):hover,.submit:hover{box-shadow:1px 1px 0 var(--orange);transform:translate(2px,2px)}
.ticker{color:var(--lime);border-color:#555;background:#111;font-size:clamp(1.4rem,3vw,2rem)}.ticker span{color:var(--orange)}
.treat-card,.product,.summary,.contact-card,.card,.bundle,.cupcake-style{background:#141414;border-color:#414141;border-top:3px solid var(--blue);border-radius:14px}.treat-card:nth-child(2n),.product:nth-child(2n),.bundle:nth-child(2n){border-top-color:var(--orange)}.treat-card:nth-child(3n),.product:nth-child(3n){border-top-color:var(--lime)}
.section-head h2,.section-title{letter-spacing:.04em}.section-head h2:after,.section-title:after{content:"";display:block;width:100px;height:6px;margin-top:10px;background:var(--orange);transform:skew(-24deg)}
.closing{background:#131313;border-top:3px solid var(--orange)}.closing h2 span{color:var(--blue)}
.brand:focus-visible,.site-menu a:focus-visible,button:focus-visible,.button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:680px){.site-bar{min-height:80px;padding:8px 12px;gap:8px}.brand{width:clamp(150px,46vw,235px)}.brand img{max-height:72px}.quick-link{font-size:1rem!important;padding:8px 10px}.hero{gap:20px;text-align:center}.hero h1{font-size:clamp(3.6rem,13vw,6rem)!important;margin:15px 0 25px}.hero p{font-size:1.05rem;margin-left:auto;margin-right:auto}.hero .actions{justify-content:center}.hero .eyebrow{display:block}.hero-photo{margin:0 -16px;border-radius:0}.hero-photo img{border-radius:0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.treat-card h3{font-size:1.4rem;margin:12px 12px 0}.treat-card p{font-size:.9rem;margin:5px 12px 15px}.section-head h2{font-size:2.7rem}.cupcake-hero h1,.intro h1{font-size:clamp(3rem,12vw,5rem)!important}.ticker span{padding:0 6px}.brand{max-width:calc(100vw - 154px)}}
@media(max-width:380px){.gallery{grid-template-columns:1fr!important}.hero h1{font-size:3.4rem!important}.quick-link{font-size:.9rem!important}.site-bar{gap:5px}}
@media(prefers-reduced-motion:reduce){.button:hover,.submit:hover{transform:none}}
.brand-product-photo{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1!important;background-image:url('/krafty-catalog-cakesicles-v2.webp');background-size:300% 300%;background-repeat:no-repeat;background-color:#0c0c0c;border-radius:inherit}
.treat-card>.brand-product-photo,.product>.brand-product-photo{border-radius:10px 10px 0 0}
.cupcake-hero>.brand-product-photo{border:1px solid #414141;border-radius:14px}
/* Full trays and flavor-specific cupcakes share the same photographic direction. */
.brand-product-photo{background-image:url('/krafty-catalog-cakesicles-v2.webp')}
.cupcake-flavor-photo{display:block;width:calc(100% + 44px);margin:-22px -22px 8px;aspect-ratio:1;background-image:url('/krafty-cupcake-flavors.png.webp');background-size:300% 300%;background-repeat:no-repeat;border-radius:12px 12px 0 0}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:681px) and (max-width:1000px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* The supplied concept's concrete, paint and graffiti extend through every route. */
body{background-image:url('/krafty-graffiti-wall.png.webp');background-size:100% auto;background-position:center top;background-repeat:repeat-y;background-attachment:scroll}
.site-header{background:#070707d9}.hero:before{display:none}
.treat-card,.product,.summary,.contact-card,.card,.bundle,.cupcake-style,.closing{background:#0b0b0bea;backdrop-filter:blur(2px)}
.ticker{background:#0b0b0bbb}
.hero-photo{background:transparent}.hero-photo img{border-radius:8px}
@media(min-width:1000px){body{background-size:100% auto}}
.heading-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand-art-heading{display:block;position:relative;width:min(100%,600px);margin:18px 0 24px!important;line-height:1!important}
.heading-art{display:block!important;width:100%;background-image:url('/krafty-heading-art.png.webp');background-repeat:no-repeat;mix-blend-mode:screen}
.hero h1 span:after{display:none}.favorites-art{width:min(100%,420px);margin:0!important}.favorites-art:after{display:none!important}
@media(max-width:680px){.brand-art-heading{margin:12px auto 20px!important}.hero{gap:12px}.hero .brand-art-heading{width:min(100%,470px)}.favorites-art{max-width:320px;margin:0!important}.hero h1 span{color:inherit;text-shadow:none}}

/* Background is an isolated layer; text and artwork never blend into it. */
body{background:#090909;position:relative;isolation:isolate;min-height:100vh}
body:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/krafty-graffiti-wall.png.webp') center top/100% auto repeat-y}
.heading-art{background-image:url('/krafty-heading-transparent.png.webp');mix-blend-mode:normal!important}
.hero .eyebrow{display:block!important;position:relative;color:var(--blue)}
.treat-card,.product,.summary,.contact-card,.card,.bundle,.cupcake-style,.closing{background:#0b0b0b;backdrop-filter:none}

/* Separate full-resolution images avoid enlarging small contact-sheet cells. */
.heading-image{display:block!important;width:100%!important;height:auto!important;max-width:100%;object-fit:contain;background:none;border:0;mix-blend-mode:normal;filter:none;transform:none}

/* Shared navigation keeps Reviews aligned with every storefront page. */
.site-header{position:sticky;top:0;z-index:10}
.site-bar{max-width:1240px;margin:auto;padding:12px 24px;display:flex;align-items:center}
.site-spacer{flex:1}.menu-wrap{position:relative}
.menu-toggle{width:44px;height:44px;color:#fff;display:grid;place-items:center;position:relative;z-index:31!important;cursor:pointer}
.quick-link{border:1px solid var(--blue);color:var(--blue);border-radius:100px;text-decoration:none;padding:8px 16px;white-space:nowrap}
.site-menu[hidden]{display:none}
.site-menu:not([hidden]){position:fixed!important;inset:0 auto 0 0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:4px!important;width:min(310px,82vw)!important;height:100dvh!important;max-height:none!important;overflow-y:auto!important;padding:88px 12px 20px!important;border-radius:0 14px 14px 0!important;box-shadow:15px 0 50px #000b;z-index:30!important}
.site-menu a{display:block!important;flex:none!important;width:100%!important;white-space:normal!important;text-align:left!important;padding:13px!important;text-decoration:none}
.brand-art-heading .heading-image{aspect-ratio:auto!important;border:0!important;border-radius:0!important;background:transparent!important}
@media(max-width:680px){.site-bar{padding:8px 12px}}

/* Clear supporting text keeps the graffiti lettering for large headings. */
:root{--muted:#e2e2e8;--reading-font:Arial,Helvetica,sans-serif}
body{font-family:var(--reading-font);font-size:1rem;line-height:1.6}
p,li,small,label,legend,input,select,textarea,.help,.lead,.fine,.line-item,.line-top,.total,.status{font-family:var(--reading-font)!important;letter-spacing:normal!important;line-height:1.55!important}
p,li{font-size:1rem!important;font-weight:500}
label,legend,.line-top,.total{font-size:1rem!important;font-weight:700!important}
strong,b{font-family:var(--reading-font);font-weight:700;letter-spacing:normal}
small,.help,.fine,.variety-detail,.cupcake-note,footer{font-size:.9375rem!important;line-height:1.55!important;color:#e2e2e8}
input,select,textarea{font-size:1rem!important}
.treat-card p,.product p,.bundle p,.cupcake-style p,.contact-card p,.card p{color:#ededf0!important}
.hero>div>p,.intro>div>p,.cupcake-hero>div>p,.wrap>.lead,.shell>p,.cupcake-note{background:#090909e8;padding:12px 16px;border-radius:10px;color:#f5f5f7!important}
body:before{background-image:linear-gradient(#09090938,#09090938),url('/krafty-graffiti-wall.png.webp')}
footer{background:#090909e8}
.pop-shape-field{display:block!important;font-family:Arial,sans-serif!important;font-weight:600;margin:9px 0!important;color:#f5f5f5}.pop-shape-field select{display:block;width:100%;min-height:44px;padding:9px;background:#17171c;color:#fff;border:1px solid #777;border-radius:8px;font-family:Arial,sans-serif!important}.bundle-row>.pop-shape-field,.creation-row>.pop-shape-field{grid-column:1/-1;grid-row:3;font-size:14px!important}.product-config .pop-shape-field{font-size:14px!important}
.pop-custom-field[hidden]{display:none!important}.pop-custom-field{display:block;margin-top:9px!important}.pop-custom-field input{display:block;width:100%;min-width:0;min-height:44px;padding:9px;border:1px solid #777;border-radius:8px;background:#17171c;color:#fff}
