/*
Theme Name: Spotlight
Description: Bespoke theme for Spotlight Akihabara.
Version: 0.73.2
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: spotlight-theme
*/

:root {
    color-scheme: light;
    --spot-content-width: 72rem;
    --spot-heading-width: 100%;
    --spot-media-width: 60rem;
    --spot-reading-width: 52rem;
    --spot-pink-strong: #ffa1c6;
    --spot-pink-light: #ffd0e2;
    --spot-blue-strong: #77d9ed;
    --spot-blue-light: #bbecf6;
    --spot-gray-strong: #b3b3b3;
    --spot-gray-light: #cccccc;
    --spot-black: #000000;
    --spot-white: #ffffff;
    --spot-ink: var(--spot-black);
    --spot-muted: var(--spot-gray-strong);
    --spot-accent: var(--spot-pink-strong);
    --spot-surface: var(--spot-white);
    --spot-section-gap: 2.5rem;
    --spot-heading-content-gap: 1.5rem;
    --spot-content-gap: 2rem;
    --spot-item-gap: 1rem;
    --spot-carousel-padding: .75rem;
    --spot-weight-regular: 400;
    --spot-weight-bold: 700;
    /* Typography roles: components consume these tokens instead of owning sizes. */
    --spot-body-font-size: 1rem;
    --spot-h1-font-size: clamp(1.6rem, 5vw, 2.5rem);
    --spot-h2-font-size: clamp(1.6rem, 5vw, 2.5rem);
    --spot-h3-font-size: 1.25rem;
    --spot-hero-title-font-size: clamp(.75rem, 4.2cqi, 2.5rem);
    --spot-outlined-copy-font-size: 1.5rem;
    --spot-panel-font-size: .9rem;
    --spot-small-font-size: .75rem;
    --spot-micro-font-size: .7rem;
    --spot-tax-font-scale: .7em;
    --spot-nav-reading-font-size: .68em;
    --spot-footer-tagline-font-size: clamp(1.1rem, 2vw, 1.35rem);
    --spot-footer-name-font-size: clamp(1.75rem, 3vw, 2.15rem);
    --spot-footer-detail-font-size: 1.05rem;
    --spot-footer-link-font-size: .875rem;
    --spot-cast-name-font-size: 30cqi;
    --spot-schedule-date-font-size: clamp(.65rem, 1.6vw, .9rem);
    --spot-schedule-time-font-size: clamp(.58rem, 1.5vw, .85rem);
    --spot-live-tile-date-font-size: .85rem;
    --spot-live-tile-title-font-size: 1rem;
    --spot-live-tile-title-min-font-size: 9px;
    --spot-system-plan-font-size: clamp(1.6rem, 4.5vw, 2.5rem);
    --spot-system-amount-font-size: clamp(2rem, 5.5vw, 3.25rem);
    --spot-system-note-font-size: clamp(.95rem, 2.2vw, 1.2rem);
    --spot-recruit-index-font-size: 1.35rem;
    --spot-recruit-title-font-size: 1.25rem;
    --spot-direction-font-size: 2rem;
    --spot-control-font-size: 1.25rem;
    --spot-home-concept-font-size: 2.45cqi;
    --spot-home-concept-tertiary-font-size: 2.66cqi;
    --spot-social-label-font-size: .72rem;
    --spot-cta-font-size: 1.05rem;
    --spot-panel-border: 2px solid var(--spot-pink-strong);
    --spot-panel-radius: 1rem;
    --spot-panel-background: var(--spot-white);
    --spot-divider-color: var(--spot-gray-light);
    --spot-divider: 1px solid var(--spot-divider-color);
    --spot-marquee-duration: 40s;
    --spot-hero-title-x: 50%;
    --spot-hero-title-y: 90%;
    --spot-body-font: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", sans-serif;
    --spot-cast-name-font: "ta-koigokoro", "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
    --spot-home-carousel-height: clamp(14.0625rem, 43.75vw, 21.875rem);
    --spot-content-tile-width: clamp(10rem, 24vw, 15rem);
    --spot-marquee-speed: 52;
}

/* Spotlight shop / WooCommerce */
.spot-commerce .woocommerce{margin-block:2.5rem}
.spot-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 auto 1.5rem}.spot-shop-toolbar-left,.spot-shop-toolbar-right{display:flex;align-items:center;gap:.75rem}.spot-shop-toolbar-right{margin-left:auto}.spot-shop-button{box-sizing:border-box;display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;padding:.55rem 1rem;border:2px solid var(--spot-pink-strong);border-radius:999px;background:#fff;color:var(--spot-black);line-height:1.25;text-decoration:none;white-space:nowrap}.spot-shop-toolbar .spot-shop-button{font-weight:var(--spot-weight-bold)}.spot-shop-toolbar a:hover,.spot-shop-toolbar a:focus-visible{background:var(--spot-pink-strong);color:#fff}.spot-commerce-content{width:min(100%,var(--spot-media-width))!important}.spot-commerce-content>.woocommerce{margin-block:0}
.spot-commerce .woocommerce form .form-row,.spot-commerce-content .woocommerce form .form-row{margin:0 0 1rem}.spot-commerce .woocommerce form .form-row label,.spot-commerce-content .woocommerce form .form-row label,.spot-account-field label{display:block;margin-bottom:.35rem;font-weight:var(--spot-weight-bold)}.spot-commerce .woocommerce form input.input-text,.spot-commerce .woocommerce form select,.spot-commerce .woocommerce form textarea,.spot-commerce-content .woocommerce form input.input-text,.spot-commerce-content .woocommerce form select,.spot-commerce-content .woocommerce form textarea,.spot-account-field input{width:100%;min-height:3rem;padding:.65rem .8rem;border:var(--spot-divider);border-radius:.5rem;background:#fff;color:var(--spot-black)}.spot-commerce .woocommerce button.button,.spot-commerce .woocommerce a.button,.spot-commerce-content .woocommerce button.button,.spot-commerce-content .woocommerce a.button,.spot-account-form button,.spot-address-actions .button,.spot-form-actions .button{min-height:2.75rem;padding:.6rem 1.1rem;border:2px solid var(--spot-pink-strong);border-radius:999px;background:var(--spot-pink-strong);color:#fff;font-weight:var(--spot-weight-bold);line-height:1.25;text-decoration:none}.spot-commerce .woocommerce button.button:hover,.spot-commerce .woocommerce a.button:hover,.spot-commerce-content .woocommerce button.button:hover,.spot-commerce-content .woocommerce a.button:hover,.spot-account-form button:hover,.spot-address-actions .button:hover,.spot-form-actions .button:hover{border-color:var(--spot-pink-strong);background:#fff;color:var(--spot-black)}
.spot-commerce-content .woocommerce form.login,.spot-commerce-content .woocommerce form.register,.spot-commerce-content .woocommerce form.lost_reset_password{margin:0;padding:clamp(1rem,3vw,2rem);border:var(--spot-panel-border);border-radius:var(--spot-panel-radius);background:#fff}.spot-commerce-content .woocommerce .u-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spot-content-gap)}.spot-commerce-content .woocommerce .u-column1,.spot-commerce-content .woocommerce .u-column2{float:none;width:auto}.spot-commerce-content .woocommerce .u-columns h2{margin-top:0;color:var(--spot-pink-strong);font-size:var(--spot-h3-font-size);white-space:normal}.spot-account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.spot-account-fields .spot-account-field:last-child{grid-column:1/-1}
.woocommerce-account .spot-commerce-content>.woocommerce{display:block}.woocommerce-account .spot-commerce-content>.woocommerce::before,.woocommerce-account .spot-commerce-content>.woocommerce::after{display:none}
.spot-commerce-content .woocommerce-MyAccount-navigation{float:none;width:min(100%,var(--spot-reading-width));margin:0 auto var(--spot-heading-content-gap)}
.spot-commerce-content .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none}
.spot-commerce-content .woocommerce-MyAccount-navigation li,.spot-commerce-content .woocommerce-MyAccount-navigation li+li{float:none;width:auto;min-width:0;margin:0}
.spot-commerce-content .woocommerce-MyAccount-navigation a{display:flex;height:100%;min-height:3rem;align-items:center;justify-content:center;padding:.6rem .5rem;border-radius:.5rem;color:var(--spot-black);font-weight:var(--spot-weight-bold);line-height:1.35;text-align:center;text-decoration:none;white-space:nowrap}
.spot-commerce-content .woocommerce-MyAccount-navigation .is-active a,.spot-commerce-content .woocommerce-MyAccount-navigation a:hover{background:var(--spot-pink-strong);color:#fff}
.spot-commerce-content .woocommerce-MyAccount-content{float:none;min-width:0}
.spot-account-card,.spot-commerce-content .woocommerce-MyAccount-content.spot-account-card{width:min(100%,var(--spot-reading-width));margin-inline:auto}
.spot-commerce-content .woocommerce-MyAccount-content h2{margin-top:0;color:var(--spot-pink-strong);font-size:var(--spot-h3-font-size);white-space:normal}
.spot-account-overview h2:not(:first-child){margin-top:var(--spot-content-gap)}
.spot-recent-orders{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.spot-recent-orders li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;padding:.75rem;border-bottom:var(--spot-divider)}
.spot-account-form{display:grid;gap:0}.spot-account-form>.spot-account-field{width:100%;margin:0 0 1rem}.spot-account-form>button,.spot-account-form>.spot-form-actions{justify-self:start}
.spot-account-form-single{grid-template-columns:minmax(0,1fr)}
.spot-account-settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.spot-account-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.25rem}.spot-account-section-heading .spot-panel-heading{margin:0}.spot-account-section-description{margin:0 0 1rem}
.spot-saved-address{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem;padding:.8rem 1rem;border:var(--spot-divider);border-radius:.75rem;background:#fff}.spot-saved-address h3{margin:0 0 .25rem}.spot-saved-address p{margin:0;line-height:1.5}.spot-address-actions,.spot-form-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.5rem;align-items:center}.spot-address-actions form{margin:0}.spot-address-actions .spot-cart-row-action{font-family:inherit;cursor:pointer}.spot-address-editor{margin-top:var(--spot-content-gap);padding-top:var(--spot-content-gap);border-top:var(--spot-divider)}.spot-address-editor h3{margin-top:0}
.spot-request-pending{color:#c4225b;font-weight:var(--spot-weight-bold)}.spot-commerce-content .woocommerce table.shop_table{border-collapse:collapse;border-color:var(--spot-divider-color)}.spot-commerce-content .woocommerce table.shop_table th,.spot-commerce-content .woocommerce table.shop_table td{padding:.75rem;border-color:var(--spot-divider-color)}
.spot-order-detail{display:grid;gap:var(--spot-content-gap)}.spot-order-back{justify-self:start;font-weight:var(--spot-weight-bold)}.spot-order-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;overflow:hidden;border:var(--spot-divider);border-radius:.75rem;border-spacing:0}.spot-order-facts thead,.spot-order-facts tbody,.spot-order-facts tr{display:contents}.spot-order-facts th,.spot-order-facts td{padding:.65rem .75rem;text-align:center}.spot-order-facts th{background:var(--spot-pink-light);font-size:var(--spot-small-font-size)}.spot-order-facts td{border-top:var(--spot-divider)}.spot-order-facts th+th,.spot-order-facts td+td{border-left:var(--spot-divider)}.spot-order-detail-section{display:grid;gap:.75rem}.spot-order-detail-section .spot-panel-heading{margin:0}.spot-order-delivery address{display:grid;gap:.1rem;padding:.8rem 1rem;border:var(--spot-divider);border-radius:.75rem;background:#fff;font-style:normal;line-height:1.5}.spot-order-detail-actions{display:flex;justify-content:flex-start}.spot-commerce-content .woocommerce .spot-order-cancel-button{margin:0}
@media(max-width:42rem){.spot-order-facts{grid-template-columns:max-content minmax(0,1fr)}.spot-order-facts th,.spot-order-facts td{display:flex;align-items:center;min-width:0;text-align:left}.spot-order-facts th{border-top:var(--spot-divider);border-left:0}.spot-order-facts th:first-child{border-top:0}.spot-order-facts td{border-left:var(--spot-divider)}.spot-order-facts th:nth-child(1){grid-column:1;grid-row:1}.spot-order-facts td:nth-child(1){grid-column:2;grid-row:1;border-top:0}.spot-order-facts th:nth-child(2){grid-column:1;grid-row:2}.spot-order-facts td:nth-child(2){grid-column:2;grid-row:2}.spot-order-facts th:nth-child(3){grid-column:1;grid-row:3}.spot-order-facts td:nth-child(3){grid-column:2;grid-row:3}.spot-order-facts th:nth-child(4){grid-column:1;grid-row:4}.spot-order-facts td:nth-child(4){grid-column:2;grid-row:4}.spot-order-delivery address{padding:.75rem}}
.spot-shop-filters{display:flex;flex-wrap:wrap;gap:var(--spot-item-gap);align-items:center;justify-content:space-between;margin:0 0 var(--spot-content-gap)}
.woocommerce-account:not(.logged-in) .spot-commerce-content>.woocommerce{display:block}
.spot-account-auth .spot-commerce-content .woocommerce .u-column2{display:none}.spot-account-register-complete .spot-commerce-content .woocommerce .u-column1{display:none}.spot-account-auth .spot-registration-flow{margin-bottom:var(--spot-content-gap);padding:clamp(1rem,3vw,2rem);border:var(--spot-panel-border);border-radius:var(--spot-panel-radius);background:#fff}.spot-account-auth .spot-registration-flow h2{margin-top:0;color:var(--spot-pink-strong);font-size:var(--spot-h3-font-size);white-space:normal}.spot-registration-email-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.spot-registration-email-form .spot-account-field{flex:1 1 20rem;margin:0}.spot-registration-email-form button{min-height:3rem;padding:.65rem 1.1rem;border:2px solid var(--spot-pink-strong);border-radius:999px;background:var(--spot-pink-strong);color:#fff;font-weight:var(--spot-weight-bold)}.spot-account-consent,.spot-account-field-full{grid-column:1/-1}.spot-order-filters{display:flex;flex-wrap:wrap;gap:.25rem;align-items:flex-end;justify-content:flex-start;margin-bottom:1rem}.spot-order-filters label{display:grid;gap:.3rem;font-weight:var(--spot-weight-bold)}.spot-order-filters>label:nth-of-type(1){flex:0 0 9rem;width:9rem}.spot-order-filters>label:nth-of-type(2){flex:0 0 12.5rem;width:12.5rem}.spot-order-period{flex:0 0 auto;min-width:0;margin:0;padding:0;border:0}.spot-order-period legend{margin-bottom:.3rem;padding:0;font-weight:var(--spot-weight-bold)}.spot-order-period-controls{display:grid;grid-template-columns:9rem auto 9rem;gap:.25rem;align-items:center}.spot-order-period-controls label{min-width:0}.spot-order-filters input,.spot-order-filters select,.spot-account-form select,.spot-account-form textarea{width:100%;min-height:3rem;padding:.65rem .8rem;border:var(--spot-divider);border-radius:.5rem;background:#fff;color:var(--spot-black)}.spot-order-filters input[type="date"]{min-width:0}.spot-order-filters input,.spot-order-filters select,.spot-order-filters>button{box-sizing:border-box;height:2.75rem;min-height:2.75rem}.spot-order-filters>button{flex:0 0 5rem;width:5rem;min-width:5rem;white-space:nowrap}.spot-account-form textarea{min-height:7rem;resize:vertical}.spot-order-list{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) max-content;overflow:hidden;border:var(--spot-panel-border);border-radius:var(--spot-panel-radius);background:#fff}.spot-order-list-head,.spot-order-list-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;gap:1rem;align-items:center;padding:.75rem 1rem}.spot-order-list-head{background:var(--spot-pink-light);font-weight:var(--spot-weight-bold)}.spot-order-list-head span{text-align:center}.spot-order-list-row{border-top:var(--spot-divider);color:var(--spot-black);text-decoration:none}.spot-order-list-row>span:nth-child(1),.spot-order-list-row>span:nth-child(2),.spot-order-list-row>span:nth-child(4){white-space:nowrap}.spot-order-list-row>span:nth-child(4){text-align:center}.spot-order-list-row:hover,.spot-order-list-row:focus-visible{background:#fff7fb}.spot-pagination{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.spot-pagination a{display:grid;min-width:2.5rem;min-height:2.5rem;place-items:center;border:var(--spot-divider);border-radius:999px;background:#fff;text-decoration:none}.spot-pagination a[aria-current="page"]{background:var(--spot-pink-strong);color:#fff}.spot-account-panel+.spot-account-panel{margin-top:var(--spot-content-gap)}
.spot-shop-tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.spot-shop-tabs a[aria-current="page"]{background:var(--spot-pink-strong,#ffa1c6);color:#fff}
.spot-shop-cast-filter{display:flex;align-items:center;gap:.5rem;margin-left:auto}.spot-shop-cast-filter select{min-width:14rem;padding:.55rem .75rem;border:var(--spot-divider);border-radius:.45rem;background:#fff;color:var(--spot-black)}
.spot-product-choice{display:grid;gap:.4rem;margin:1rem 0}.spot-product-label{display:block;margin-bottom:.25rem;font-weight:400}.spot-buyer-field{display:grid;gap:.4rem;margin:.75rem 0}.spot-buyer-field>label{font-weight:400}
.spot-cancel-order{margin:1rem 0;padding:1rem;border:2px solid var(--spot-pink-strong,#ffa1c6);border-radius:.75rem}.spot-cancel-order textarea{display:block;width:100%;min-height:7rem}
.spot-commerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spot-item-gap);margin:0}.spot-commerce ul.products::before,.spot-commerce ul.products::after{display:none}.spot-commerce ul.products li.product{float:none!important;width:auto!important;min-width:0;margin:0!important;padding:0}.spot-commerce ul.products li.product>a{display:block;height:100%;color:inherit;text-decoration:none}.spot-commerce ul.products li.product .woocommerce-loop-product__title{display:block;overflow:hidden;margin:0;padding:0;color:var(--spot-pink-strong);font-size:var(--spot-live-tile-title-font-size);font-weight:var(--spot-weight-bold);line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.spot-commerce ul.products li.product .price{display:block;margin:0;padding:0;color:var(--spot-muted);font-size:var(--spot-live-tile-date-font-size);font-weight:var(--spot-weight-regular);line-height:1.15}.spot-commerce ul.products li.product .button{display:none}
.spot-commerce div.product{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);align-items:start;padding:clamp(1rem,3vw,2rem);border:var(--spot-panel-border);border-radius:var(--spot-panel-radius);background:var(--spot-panel-background)}.spot-commerce div.product::before,.spot-commerce div.product::after{display:none}.spot-commerce div.product div.images,.spot-commerce div.product div.summary{float:none!important;width:auto!important;margin:0!important}.spot-commerce div.product div.images{align-self:start}.spot-commerce div.product div.images img{width:100%;height:auto;max-height:42rem;object-fit:contain}.spot-commerce div.product .summary{display:flex;min-width:0;flex-direction:column;padding:0;border:0;background:transparent;font-size:1rem}.spot-commerce div.product .product_title{order:1;margin:0 0 1rem;color:var(--spot-black);font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.4;white-space:normal}.spot-commerce div.product .price{order:2;margin:.25rem 0;color:var(--spot-black)!important;font-size:1rem!important}.spot-commerce div.product .spot-product-description{order:3;margin:1rem 0}.spot-commerce div.product .spot-product-description p{margin:.25rem 0}.spot-commerce div.product .spot-sales-end{order:4;margin:0 0 1rem;padding:.55rem .75rem;border-left:.25rem solid var(--spot-pink-strong);background:var(--spot-pink-light);line-height:1.45}.spot-commerce div.product form.cart{order:5;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;margin-bottom:0;font-size:1rem}.spot-commerce div.product form.cart::before,.spot-commerce div.product form.cart::after{content:none;display:none}.spot-commerce div.product form.cart .spot-product-choice{grid-column:1/-1;width:100%;min-width:0;margin:0}.spot-commerce div.product form.cart .spot-product-label,.spot-commerce div.product .spot-product-field>label{font-weight:var(--spot-weight-bold)}.spot-commerce div.product form.cart select,.spot-commerce div.product form.cart input[type=text],.spot-commerce div.product form.cart textarea{width:100%;max-width:100%;padding:.7rem;border:var(--spot-divider);border-radius:.45rem;background:#fff;color:var(--spot-black)}.spot-commerce div.product form.cart .spot-variant-choice{order:1}.spot-commerce div.product form.cart .spot-fulfillment{order:2;display:flex;flex-wrap:wrap;gap:.5rem}.spot-commerce div.product .spot-fulfillment .spot-product-label{flex-basis:100%}.spot-commerce div.product .spot-fulfillment>label{position:relative;display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;padding:.55rem 1rem;border:var(--spot-divider);border-radius:999px;background:#fff;cursor:pointer}.spot-commerce div.product .spot-fulfillment>label:has(input:checked){border-color:var(--spot-pink-strong);background:var(--spot-pink-strong);color:#fff;font-weight:var(--spot-weight-bold)}.spot-commerce div.product .spot-fulfillment>label:has(input:focus-visible){outline:3px solid var(--spot-blue-strong);outline-offset:3px}.spot-commerce div.product .spot-fulfillment>label input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.spot-commerce div.product .spot-fulfillment>p{margin:0;padding:.55rem 1rem;border:var(--spot-divider);border-radius:999px;background:#fff}.spot-commerce div.product form.cart .spot-buyer-fields{order:3;gap:.9rem}.spot-commerce div.product form.cart .spot-product-field{display:grid;gap:.4rem;margin:0;min-width:0}.spot-commerce div.product form.cart .spot-product-field>label,.spot-commerce div.product form.cart .spot-product-field>.spot-product-label{margin:0}.spot-commerce div.product .spot-option-choices{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.spot-commerce div.product form.cart .quantity{display:grid;grid-template-columns:2.75rem 4rem 2.75rem;grid-column:1/-1;order:4;width:auto!important;justify-self:start}.spot-commerce div.product form.cart .quantity input.qty{width:100%;min-width:0;height:2.75rem;padding:.35rem;border-block:var(--spot-divider);border-right:0;border-left:0;border-radius:0;text-align:center;-moz-appearance:textfield}.spot-commerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,.spot-commerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.spot-commerce .spot-quantity-button{display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0;border:var(--spot-divider);background:#fff;color:var(--spot-black);font-size:1.25rem;line-height:1}.spot-commerce .spot-quantity-minus{border-radius:999px 0 0 999px}.spot-commerce .spot-quantity-plus{border-radius:0 999px 999px 0}.spot-commerce div.product form.cart .single_add_to_cart_button{grid-column:1/-1;order:5;width:100%;min-height:3.25rem;padding:.7rem 1.25rem;border:0;border-radius:999px;background:var(--spot-pink-strong,#ffa1c6);color:#fff;font-weight:var(--spot-weight-bold)}.spot-commerce .spot-tax-suffix{font-size:1em;font-weight:400}
.spot-commerce div.product .spot-product-unavailable{order:5;margin:0;padding:.75rem 1rem;border:var(--spot-divider);border-radius:var(--spot-panel-radius);background:var(--spot-pink-light)}
.spot-ec-field-error{display:block;margin:.3rem 0 0;color:#a51f27;font-size:.82rem;line-height:1.4}.spot-commerce div.product .summary>.spot-ec-notices{margin:.25rem 0;order:4}.spot-commerce-content .woocommerce>.spot-ec-notices,.spot-commerce-content .woocommerce-MyAccount-content>.spot-ec-notices{margin-bottom:1rem}
.spot-cart-form{display:grid;gap:.75rem}.spot-cart-list{--spot-cart-columns:4.5rem minmax(0,1fr) minmax(7rem,max-content) 5rem minmax(7rem,max-content) 5rem;overflow:hidden;border:var(--spot-panel-border);border-radius:var(--spot-panel-radius);background:#fff}.spot-cart-header,.spot-cart-item,.spot-cart-summary-row{display:grid;grid-template-columns:var(--spot-cart-columns);gap:.75rem;align-items:center}.spot-cart-header{padding:.55rem .75rem;border-bottom:1px solid var(--spot-pink-strong);color:var(--spot-black);font-size:var(--spot-small-font-size);font-weight:var(--spot-weight-bold);line-height:1.3}.spot-cart-heading{text-align:center}.spot-cart-item{min-height:5.5rem;padding:.65rem .75rem;border-bottom:1px solid var(--spot-pink-strong);background:#fff}.spot-cart-product{display:var(--spot-product-display,contents);grid-area:product;grid-template-columns:3rem minmax(0,1fr);gap:.75rem;align-items:start}.spot-cart-values{display:var(--spot-values-display,contents);grid-area:values;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;min-width:0}.spot-cart-cell{min-width:0}.spot-cart-image-cell{text-align:center}.spot-cart-image-cell a{display:inline-block}.spot-cart-image{width:3rem!important;height:4rem!important;aspect-ratio:3/4;object-fit:contain}.spot-cart-name-cell{text-align:left}.spot-cart-product-name{overflow-wrap:anywhere;font-weight:var(--spot-weight-bold);line-height:1.35}.spot-cart-product-name a{text-decoration:none}.spot-cart-item-meta{display:flex;flex-wrap:wrap;gap:.1rem .9rem;margin-top:.25rem;color:var(--spot-muted);font-size:var(--spot-small-font-size);line-height:1.4}.spot-cart-item-meta b,.spot-cart-fulfillment b{font-weight:var(--spot-weight-regular)}.spot-cart-fulfillment{margin-top:.15rem;color:var(--spot-muted);font-size:var(--spot-small-font-size);line-height:1.4}.spot-cart-price-cell,.spot-cart-subtotal-cell{text-align:right;white-space:nowrap}.spot-cart-quantity-cell,.spot-cart-remove-cell{text-align:center}.spot-cart-quantity .quantity{display:block!important;width:auto!important}.spot-cart-quantity .quantity input.qty{width:4.5rem;min-width:0;height:2.5rem;padding:.35rem .45rem;border:var(--spot-divider);border-radius:.35rem;background:#fff;text-align:left}.spot-cart-row-action{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;padding:.35rem .75rem;border:1px solid var(--spot-pink-strong);border-radius:999px;background:#fff;color:var(--spot-black);font-size:var(--spot-small-font-size);font-weight:var(--spot-weight-bold);line-height:1;text-decoration:none}.spot-commerce-content .woocommerce button.button.spot-cart-update{box-sizing:border-box!important;width:3.25rem!important;min-width:3.25rem!important;max-width:3.25rem!important;height:2.25rem!important;min-height:2.25rem!important;max-height:2.25rem!important;padding:0!important;border:1px solid var(--spot-pink-strong)!important;border-radius:999px;font-size:var(--spot-small-font-size);font-weight:var(--spot-weight-bold);line-height:1}.spot-commerce-content .woocommerce button.button.spot-cart-update:disabled{background:#fff;color:var(--spot-black);opacity:.45}.spot-commerce-content .woocommerce button.button.spot-cart-update:not(:disabled){background:var(--spot-pink-strong);color:#fff;opacity:1}.spot-cart-row-action:hover,.spot-cart-row-action:focus-visible,.spot-commerce-content .woocommerce button.button.spot-cart-update:not(:disabled):hover{background:var(--spot-pink-strong);color:#fff}.spot-cart-mobile-label{display:none}.spot-cart-summary-row{padding:.55rem .75rem;background:#fff}.spot-cart-shipping-row{border-bottom:1px solid var(--spot-pink-strong)}.spot-cart-summary-label{grid-column:1/5;text-align:right}.spot-cart-summary-total{grid-column:5;text-align:right;white-space:nowrap;font-weight:var(--spot-weight-bold)}.spot-cart-summary-action{grid-column:6;text-align:center}.spot-cart-checkout{display:flex;justify-content:flex-end}.spot-commerce-content .woocommerce .spot-cart-checkout .checkout-button{display:flex;width:min(100%,24rem);min-height:3.25rem;align-items:center;justify-content:center;margin:0;padding:.7rem 1.25rem;border:0;border-radius:999px;background:var(--spot-pink-strong);color:#fff;font-size:var(--spot-cta-font-size);font-weight:var(--spot-weight-bold);text-decoration:none}.spot-commerce-content .woocommerce .spot-cart-checkout .checkout-button:hover{background:#fff;color:var(--spot-black);box-shadow:inset 0 0 0 2px var(--spot-pink-strong)}
@media(max-width:42rem){.spot-shop-toolbar{--spot-shop-button-inline-space:clamp(.35rem,1.4vw,.55rem);display:flex;align-items:stretch;justify-content:space-between;gap:.25rem}.spot-shop-toolbar:not(:has(.spot-shop-toolbar-left)){justify-content:flex-end}.spot-shop-toolbar-left,.spot-shop-toolbar-right{display:flex;gap:.35rem;min-width:0}.spot-shop-toolbar-right{margin-left:auto}.spot-shop-button{min-width:0;padding:.45rem var(--spot-shop-button-inline-space,1rem);font-size:clamp(.75rem,3.4vw,.85rem);flex:0 0 auto;text-align:center}.spot-shop-filters{align-items:stretch}.spot-shop-tabs{flex:1 1 auto}.spot-shop-cast-filter{flex:1 1 100%;margin-left:0}.spot-shop-cast-filter select{min-width:0;flex:1 1 auto}.spot-commerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.spot-commerce div.product{grid-template-columns:1fr;gap:1.5rem}.spot-commerce div.product form.cart{align-items:stretch}.spot-commerce div.product form.cart .single_add_to_cart_button{white-space:normal}.spot-commerce-content .woocommerce .u-columns,.spot-account-form,.spot-account-fields{grid-template-columns:1fr}.spot-account-fields .spot-account-field:last-child,.spot-account-consent,.spot-account-field-full{grid-column:auto}.spot-commerce-content .woocommerce-MyAccount-navigation{overflow:visible}.spot-commerce-content .woocommerce-MyAccount-navigation ul{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.spot-commerce-content .woocommerce-MyAccount-navigation a{height:100%;padding:.6rem .5rem;text-align:center;white-space:normal;overflow-wrap:anywhere}.spot-saved-address{align-items:stretch;flex-direction:column}.spot-address-actions{justify-content:flex-start}.spot-recent-orders li,.spot-order-summary{grid-template-columns:1fr}.spot-order-filters{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem}.spot-order-period{display:none}.spot-order-filters>label:nth-of-type(1){width:auto;min-width:0}.spot-order-filters>label:nth-of-type(2){width:auto;min-width:0}.spot-order-filters select{width:auto;max-width:100%;padding-inline:.4rem}.spot-order-filters input{min-width:0;box-sizing:border-box;width:100%}.spot-order-filters>button{grid-column:1/-1!important;width:100%;min-width:0}.spot-order-list{display:block}.spot-order-list-head{display:none}a.spot-order-list-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date state" "product product";gap:.35rem .75rem;padding:.85rem}a.spot-order-list-row>span{display:grid;gap:.1rem;min-width:0}a.spot-order-list-row>span:nth-child(1),a.spot-order-list-row>span:nth-child(2){font-size:var(--spot-small-font-size);color:var(--spot-muted)}a.spot-order-list-row>span:nth-child(3){font-weight:var(--spot-weight-bold)}a.spot-order-list-row>span:nth-child(1){display:none}a.spot-order-list-row>span:nth-child(2){grid-area:date;white-space:normal}a.spot-order-list-row>span:nth-child(3){grid-area:product;overflow-wrap:anywhere}a.spot-order-list-row>span:nth-child(4){grid-area:state;text-align:right;white-space:normal}.spot-commerce-content .woocommerce table.shop_table_responsive thead{display:none}.spot-commerce-content .woocommerce table.shop_table_responsive tr{display:block;margin-bottom:1rem;padding:.5rem;border:var(--spot-divider);border-radius:.75rem}.spot-commerce-content .woocommerce table.shop_table_responsive td{display:grid;grid-template-columns:minmax(7rem,40%) minmax(0,1fr);gap:.5rem;text-align:left!important}.spot-commerce-content .woocommerce table.shop_table_responsive td::before{text-align:left}.spot-account-form>button,.spot-account-form>.spot-form-actions{grid-column:auto}}
/* Size product rows by available panel width, including the checkout's PC column. */
.spot-cart-list,.spot-checkout-order-items{container-type:inline-size}
.spot-checkout-order-items{--spot-cart-columns:3rem minmax(0,1fr) auto auto auto}
.spot-checkout-order-items .spot-cart-mobile-label{display:block}
.spot-checkout-order-items .spot-cart-item{padding-inline:0;border-bottom:var(--spot-divider)}
.spot-cart-price-cell,.spot-cart-subtotal-cell,.spot-cart-quantity-cell{display:flex;flex:0 0 auto;gap:.2rem;align-items:center;min-width:0;font-size:var(--spot-value-font-size,inherit)}
.spot-cart-subtotal-cell{margin-left:auto;text-align:right}
.spot-cart-mobile-label{color:var(--spot-muted);font-size:.65rem;font-weight:var(--spot-weight-bold);line-height:1;white-space:nowrap}
.spot-cart-price-cell{justify-content:flex-end}.spot-cart-quantity-cell{justify-content:center}
.spot-cart-value{white-space:nowrap}
.spot-checkout-address-card>span{overflow-wrap:anywhere}
@container(max-width:42rem){
 .spot-cart-header{display:none}
 .spot-cart-mobile-label{display:block}
 .spot-cart-item,.spot-cart-summary-row{grid-template-columns:minmax(0,1fr) 3.25rem;gap:.65rem .4rem}
 .spot-cart-item{grid-template-areas:"product product" "values remove";min-height:0;padding:.65rem;align-items:center}
 .spot-cart-item{--spot-product-display:grid;--spot-values-display:flex;--spot-value-font-size:.9rem}
 .spot-cart-image-cell{text-align:left}



 .spot-cart-remove-cell{grid-area:remove}

 .spot-cart-remove{min-height:2rem;padding:.3rem .65rem}
 .spot-commerce-content .woocommerce .spot-cart-quantity .quantity input.qty{box-sizing:border-box;width:2.75rem;max-width:100%;min-width:0;min-height:2.5rem;padding:.35rem .4rem}
 .spot-cart-summary-row{padding:.55rem .65rem}
 .spot-cart-summary-row{grid-template-columns:minmax(0,1fr) auto 3.25rem}
 .spot-cart-summary-label{grid-column:1;text-align:left}
 .spot-cart-summary-total{grid-column:2}
 .spot-cart-summary-action{grid-column:3}
 .spot-checkout-order-items .spot-cart-item{grid-template-columns:minmax(0,1fr);grid-template-areas:"product" "values"}
}
.spot-order-history-items .spot-cart-item{--spot-product-display:grid;--spot-values-display:flex;--spot-value-font-size:.9rem;grid-template-columns:minmax(0,1fr);grid-template-areas:"product" "status" "values";gap:.65rem;min-height:0}
.spot-cart-status{grid-area:status;display:flex;align-items:center;gap:.5rem;overflow-wrap:anywhere;font-size:var(--spot-small-font-size)}
@media(max-width:42rem){.spot-cart-checkout{display:block}.spot-commerce-content .woocommerce .spot-cart-checkout .checkout-button{width:100%}}

/* Checkout reuses the shared panel, form controls, buttons, notices, and focus rules. */
.spot-checkout{margin:0}.spot-checkout-layout{width:100%;align-items:start}.spot-checkout-column,.spot-checkout-summary #order_review{display:grid;gap:var(--spot-item-gap);min-width:0;align-content:start}.spot-checkout-column>wc-order-attribution-inputs{display:contents}.spot-checkout-card.spot-content-panel{width:100%}.spot-checkout-address-options{display:grid;gap:.65rem}.spot-checkout-address-card{padding:.8rem;border:var(--spot-divider);border-radius:.75rem;background:var(--spot-panel-background);cursor:pointer}.spot-checkout-address-card:has(input:checked){border-color:var(--spot-pink-strong);background:#fff7fb}.spot-checkout-address-card span{min-width:0}.spot-checkout-new-address{margin-top:1rem;padding-top:1rem;border-top:var(--spot-divider)}.spot-checkout-new-address[hidden]{display:none!important}.spot-checkout-new-address .optional{display:none}.spot-checkout-save-address label,.spot-checkout-consent label{margin:0!important}.spot-checkout-order-items{border-top:var(--spot-divider)}.spot-checkout-totals{display:grid;gap:.45rem;margin:1rem 0 0}.spot-checkout-totals>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline}.spot-checkout-totals dt,.spot-checkout-totals dd{margin:0}.spot-checkout-totals dd{text-align:right;white-space:nowrap}.spot-checkout-total{margin-top:.35rem;padding-top:.7rem;border-top:var(--spot-divider);font-size:var(--spot-h3-font-size);font-weight:var(--spot-weight-bold)}#payment.spot-content-panel{border:var(--spot-panel-border);border-radius:var(--spot-panel-radius);background:var(--spot-panel-background);opacity:1}.spot-checkout-payment .payment_methods{display:grid;gap:.75rem;margin:0 0 1.25rem!important;padding:0!important;list-style:none}.spot-checkout-payment .payment_methods li{margin:0!important}.spot-checkout-payment .payment_box{margin:.5rem 0 0!important;padding:.75rem!important;border-radius:.5rem;background:#fff7fb!important}.spot-checkout-payment .payment_box::before{display:none!important}.spot-checkout-payment .place-order{display:grid;gap:1rem;margin:0!important;padding:0!important}.spot-checkout-consent p{margin:0!important}.spot-checkout-consent a{font-weight:var(--spot-weight-bold)}.spot-commerce-content .woocommerce .spot-checkout-submit{display:flex;width:100%;min-height:3.25rem;align-items:center;justify-content:center;margin:0!important;font-size:var(--spot-cta-font-size)}.spot-commerce-content .woocommerce .spot-checkout-submit:disabled{border-color:var(--spot-gray-light)!important;background:var(--spot-gray-light)!important;color:var(--spot-muted)!important;filter:none;cursor:not-allowed;opacity:1!important}.spot-commerce-content .woocommerce form.checkout_coupon,.spot-commerce-content .woocommerce .woocommerce-additional-fields{display:none!important}
@media(max-width:42rem){.spot-checkout-address-card{padding:.7rem}}

/* Cart and checkout share one option-row contract: wrap between options only. */
.spot-cart-item-meta{display:flex;flex-wrap:wrap}
.spot-cart-item-meta .spot-cart-item-option{display:inline-block;white-space:normal;overflow-wrap:anywhere}
.spot-cart-item-meta .spot-cart-item-option::after{content:none}




*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--spot-ink); background-color: var(--spot-white); background-image: var(--spot-site-background-image, none); background-position: top left; background-repeat: repeat; background-size: 800px 800px; font-family: var(--spot-body-font); font-size: var(--spot-body-font-size); font-weight: var(--spot-weight-regular); line-height: 1.65; }
a { color: var(--spot-black); text-decoration: underline; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--spot-blue-strong); outline-offset: 3px; }
h1 { font-size: var(--spot-h1-font-size); }
h2 { font-size: var(--spot-h2-font-size); }
h3 { font-size: var(--spot-h3-font-size); }
h1, h2, h3 { font-weight: var(--spot-weight-bold); }
h1, h2 { white-space: nowrap; }
img { display: block; max-width: 100%; height: auto; }
.spot-public-layout { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.spot-public-layout.admin-bar { min-height: calc(100vh - 32px); min-height: calc(100dvh - 32px); }
@media (max-width: 48.875rem) {
    .spot-public-layout.admin-bar { min-height: calc(100vh - 46px); min-height: calc(100dvh - 46px); }
}
.site-main { flex: 1 0 auto; width: 100%; }
.site-header, .site-footer { flex-shrink: 0; }
.site-header, .site-footer, .site-main { padding-inline: max(1rem, calc((100% - var(--spot-content-width)) / 2)); }
.site-header { position: sticky; z-index: 100; top: 0; min-height: 6rem; border-bottom: var(--spot-divider); background: var(--spot-white); box-shadow: 0 .25rem 1rem rgb(32 24 42 / 10%); transition: min-height .2s ease, box-shadow .2s ease; }
.site-header-inner { display: flex; width: 100%; min-height: inherit; align-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
.site-header a { color: inherit; font-weight: var(--spot-weight-bold); text-decoration: none; }
.site-logo { flex: 0 0 auto; }
.site-logo img { width: auto; max-width: min(18rem, 28vw); height: 4.5rem; object-fit: contain; transition: height .2s ease; }
.desktop-nav { min-width: 0; flex: 1; }
.desktop-nav ul { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.desktop-nav li { min-width: 0; text-align: center; }
.desktop-nav a { display: block; padding: .8rem .35rem; color: var(--spot-pink-strong); }
.nav-reading, .nav-label { display: block; line-height: 1.25; }
.nav-reading { margin-bottom: .15rem; font-size: var(--spot-nav-reading-font-size); }
.mobile-menu-toggle { display: none; width: 2.75rem; height: 2.75rem; padding: .55rem; border: 0; background: transparent; color: var(--spot-pink-strong); }
.mobile-menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin-block: .3rem; background: currentColor; }
.mobile-menu-backdrop { position: fixed; z-index: 109; inset: 0; background: rgb(32 24 42 / 38%); }
.mobile-navigation { position: fixed; z-index: 110; top: 0; right: 0; width: min(84vw, 24rem); height: 100dvh; padding: 5rem 2rem 2rem; overflow-y: auto; background: var(--spot-white); box-shadow: -.75rem 0 2rem rgb(32 24 42 / 18%); transform: translateX(105%); transition: transform .28s ease; }
.mobile-navigation.is-open { transform: translateX(0); }
.mobile-menu-close { position: absolute; top: 1rem; right: 1rem; width: 2.75rem; height: 2.75rem; border: 0; background: transparent; color: var(--spot-blue-strong); font-size: var(--spot-direction-font-size); }
.mobile-navigation ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.mobile-navigation a { color: var(--spot-pink-strong); text-decoration: none; }
.mobile-navigation nav a { display: block; padding: 1rem 0; border-bottom: 0; font-weight: var(--spot-weight-bold); }
.mobile-navigation .nav-reading { font-size: var(--spot-nav-reading-font-size); }
.mobile-menu-socials { display: flex; justify-content: center; gap: .75rem; margin-top: 2rem; }
.mobile-menu-socials a { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--spot-black); border-radius: 50%; }
.social-icon-image { width: 100%; height: 100%; border-radius: 50%; object-fit: contain; }
.social-icon-fallback { font-size: var(--spot-micro-font-size); font-weight: var(--spot-weight-bold); line-height: 1; }
body.mobile-menu-open { overflow: hidden; }
@media (min-width: 42.0625rem) {
    body { padding-top: 6rem; }
    .site-header { position: fixed; right: 0; left: 0; }
    body.admin-bar .site-header { top: 32px; }
}
@media (min-width: 42.0625rem) and (max-width: 48.875rem) {
    body.admin-bar .site-header { top: 46px; }
}
.site-footer { padding-block: 4rem 2rem; margin-top: 4rem; background: var(--spot-pink-strong); color: var(--spot-white); }
.site-footer a { color: var(--spot-white); text-decoration: none; }
.footer-store { display: grid; grid-template-columns: minmax(0, 18rem) max-content; justify-content: center; align-items: stretch; gap: clamp(1.5rem, 4vw, 3rem); margin-inline: auto; }
.footer-brand { display: flex; flex-direction: column; justify-content: center; text-align: center; }
.footer-logo { display: inline-block; }
.footer-logo img { width: auto; max-width: min(18rem, 100%); max-height: 8rem; margin-inline: auto; object-fit: contain; }
.footer-brand-copy { display: grid; width: min(18rem, 100%); justify-items: center; margin: 1rem auto 0; font-weight: var(--spot-weight-bold); line-height: 1.35; }
.footer-tagline { font-size: var(--spot-footer-tagline-font-size); white-space: nowrap; }
.footer-store-name { font-size: var(--spot-footer-name-font-size); white-space: nowrap; }
.footer-address { display: grid; justify-content: start; justify-items: start; align-content: center; gap: 1.25rem; font-size: var(--spot-footer-detail-font-size); font-style: normal; }
.footer-detail-group { display: grid; gap: .15rem; line-height: 1.4; }
.footer-nav { margin-top: 3rem; }
.footer-nav ul { display: grid; grid-template-columns: repeat(7, max-content); justify-content: center; gap: .35rem clamp(.75rem, 2vw, 2rem); margin: 0; padding: 0; list-style: none; }
.footer-nav li { text-align: center; }
.footer-nav a { display: block; padding: .35rem; }
.footer-socials { display: flex; justify-content: center; gap: .85rem; margin-top: 1.5rem; }
.footer-socials a { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; }
.footer-socials-mobile { display: none; }
.footer-socials-desktop { margin-top: 2rem; }
.footer-socials-desktop + .footer-nav { margin-top: 1rem; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; margin-top: .15rem; }
.footer-nav a, .footer-legal a { font-size: var(--spot-footer-link-font-size); font-weight: var(--spot-weight-bold); }
.footer-copyright { margin: 1.25rem 0 0; text-align: center; }
.hero { position: relative; width: 100%; padding: 0; background: transparent; container-type: inline-size; }
.hero:not(.has-media) { min-height: clamp(14rem, 40vw, 32rem); }
.hero-media, .hero-media img { display: block; width: 100%; height: auto; }
.hero-title.spot-outlined-copy { position: absolute; z-index: 1; top: var(--spot-hero-title-y); left: var(--spot-hero-title-x); width: 92%; margin: 0; font-size: var(--spot-hero-title-font-size); line-height: 1.25; white-space: nowrap; transform: translate(-50%, -50%); }
.section { padding-block: clamp(2.5rem, 7vw, 5rem); }
.section-title { margin: 0 0 var(--spot-heading-content-gap); }
.section-title-wrap { white-space: normal; }
.section > h1.section-title, .section > .section-heading > h1.section-title {
    width: var(--spot-heading-width);
    margin-right: auto;
    margin-left: auto;
    padding: .15em clamp(1rem, 2vw, 1.5rem);
    border-radius: 0;
    background: var(--spot-pink-strong);
    color: var(--spot-white);
    font-size: var(--spot-h1-font-size);
    line-height: 1;
}
.section > h2.section-title, .section > .section-heading > h2.section-title, .section > section > h2, .page-content > section > h2 {
    width: var(--spot-heading-width);
    margin-right: auto;
    margin-left: auto;
    padding: .15em clamp(1rem, 2vw, 1.5rem);
    border-radius: 0;
    background: var(--spot-blue-strong);
    color: var(--spot-white);
    line-height: 1;
    font-size: var(--spot-h2-font-size);
}
.section > h2, .section section > h2, .page-content > section > h2 { margin-bottom: var(--spot-heading-content-gap); }
.section > h2 + *, .section section > h2 + * { margin-top: 0; }
.section-heading { margin-bottom: var(--spot-heading-content-gap); }
.section-heading .section-title { margin-bottom: 0; }
.section-heading p:last-child { margin: 0; color: var(--spot-muted); }
.eyebrow { margin: 0 0 .35rem; color: var(--spot-accent); font-size: var(--spot-small-font-size); font-weight: var(--spot-weight-bold); letter-spacing: .18em; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--spot-item-gap); }
.card { overflow: hidden; border: var(--spot-divider); border-radius: var(--spot-panel-radius); background: var(--spot-white); }
.spot-media-content { width: min(100%, var(--spot-media-width)); margin-inline: auto; }
.spot-equal-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spot-item-gap); align-items: start; }
.spot-content-panel { width: min(100%, var(--spot-reading-width)); margin: 0 auto; padding: clamp(1.5rem, 4vw, 2.5rem); border: var(--spot-panel-border); border-radius: var(--spot-panel-radius); background: var(--spot-panel-background); }
.spot-panel-heading { margin: 0 0 var(--spot-heading-content-gap); color: var(--spot-pink-strong); font-size: var(--spot-h3-font-size); white-space: normal; }
.content-card > img, .content-card > a > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; margin: 0 !important; background: var(--spot-surface); }
.content-card .card-body { display: grid; gap: .15rem; padding: .55rem .75rem; }

.card-body { padding: 1rem; }
.card h3 { margin: 0; }
.card a { color: inherit; text-decoration: none; }
.cast-loop { overflow-x: auto; padding-block: var(--spot-carousel-padding); scrollbar-width: none; }
.cast-loop::-webkit-scrollbar { display: none; }
.cast-loop-track { display: flex; width: max-content; gap: var(--spot-item-gap); }
.cast-loop-set { display: flex; flex: 0 0 auto; gap: var(--spot-item-gap); }
.cast-loop-set[aria-hidden="true"] { display: none; }
.cast-loop.is-scrolling .cast-loop-set[aria-hidden="true"] { display: flex; }
.cast-loop.is-scrolling .cast-loop-track { animation: cast-marquee var(--cast-duration, var(--spot-marquee-duration)) linear infinite; will-change: transform; }
.cast-loop:not(.is-scrolling) .cast-loop-track { width: 100%; justify-content: center; }
.cast-loop .cast-card-wrap { width: auto; height: var(--spot-home-carousel-height); aspect-ratio: 2300 / 3592; flex: 0 0 auto; }
.cast-loop:hover .cast-loop-track, .cast-loop:focus-within .cast-loop-track { animation-play-state: paused; }
.cast-card-wrap { filter: drop-shadow(0 0 .45rem rgb(32 24 42 / 20%)); }
.cast-card { position: relative; display: grid; width: 100%; aspect-ratio: 2300 / 3592; overflow: hidden; container-type: inline-size; grid-template-rows: auto 1fr; padding: 13.7% 8.2% 0; border: 0; border-radius: 0; background: var(--spot-white); clip-path: polygon(1.6% 0, 98.4% 0, 100% 1%, 100% 99%, 98.4% 100%, 1.6% 100%, 0 99%, 0 1%); }
.cast-archive-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cast-card-media { display: block; overflow: hidden; aspect-ratio: 23 / 31; border: var(--spot-divider); }
.cast-card-media, .cast-card .card-body { min-width: 0; }
.cast-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cast-card .card-body { display: grid; min-height: 0; place-content: center; place-items: center; padding: .2rem 0; text-align: center; }
.cast-card .card-body :is(h2, h3) { margin: 0; font-family: var(--spot-cast-name-font); font-size: var(--spot-cast-name-font-size); letter-spacing: -.22em; line-height: 1; white-space: nowrap; }
.cast-card .card-body a { color: inherit; text-decoration: none; }
.cast-name-pink .cast-card .card-body { color: var(--spot-pink-strong); }
.cast-name-blue .cast-card .card-body { color: var(--spot-blue-strong); }
.attendance-badge { position: absolute; z-index: 1; top: .6rem; right: .6rem; padding: .25rem .55rem; border: 0; border-radius: 999px; background: var(--spot-pink-strong); color: var(--spot-white); font-size: var(--spot-small-font-size); font-weight: var(--spot-weight-bold); }
.cast-name-blue .attendance-badge { background: var(--spot-blue-strong); }
.cast-schedule-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.cast-schedule-table td { height: 4.5rem; padding: 0; overflow: hidden; border: 1px solid var(--spot-gray-strong); background: var(--spot-white); text-align: center; vertical-align: middle; }
.cast-schedule-table .schedule-date { display: block; padding: .3rem .15rem; background: var(--spot-pink-strong); color: var(--spot-white); font-size: var(--spot-schedule-date-font-size); white-space: nowrap; }
.cast-schedule-table .schedule-time { display: flex; min-width: 0; min-height: 2.5rem; align-items: center; justify-content: center; padding: .3rem .1rem; color: var(--spot-gray-strong); font-size: var(--spot-schedule-time-font-size); line-height: 1.2; white-space: nowrap; }
.cast-schedule-table .schedule-empty { visibility: hidden; border: 0; background: transparent; }
.live-event { padding-block: 0; border-bottom: 0; scroll-margin-top: 6rem; }
.live-event + .live-event { margin-top: var(--spot-section-gap); }
.content-tile-carousel { padding-block: var(--spot-carousel-padding); overflow-x: auto; scrollbar-width: none; }
.content-tile-carousel::-webkit-scrollbar { display: none; }
.content-tile-track { display: flex; width: max-content; gap: var(--spot-item-gap); }
.content-tile-set { display: flex; width: max-content; flex: 0 0 auto; gap: var(--spot-item-gap); }
.content-tile-carousel .content-tile-set[aria-hidden="true"] { display: none; }
.content-tile-carousel.is-scrolling .content-tile-set[aria-hidden="true"] { display: flex; }
.content-tile-carousel.is-scrolling .content-tile-track { animation: content-tile-marquee var(--content-tile-duration, var(--spot-marquee-duration)) linear infinite; will-change: transform; }
.content-tile-carousel:not(.is-scrolling) .content-tile-track { width: 100%; justify-content: center; }
.content-tile-carousel:hover .content-tile-track, .content-tile-carousel:focus-within .content-tile-track, .content-tile-carousel.is-paused .content-tile-track { animation-play-state: paused; }
.live-tile-carousel { padding-block: var(--spot-carousel-padding); }
.spot-request-record{padding-block:1.25rem;overflow-wrap:anywhere}.spot-request-record+.spot-request-record{border-top:var(--spot-divider)}.spot-request-record:first-child{padding-top:0}.spot-request-record:last-child{padding-bottom:0}.spot-request-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.spot-request-state{padding:.2rem .65rem;border-radius:999px;background:var(--spot-pink-light);font-size:var(--spot-small-font-size);font-weight:var(--spot-weight-bold)}.spot-request-date{margin:.5rem 0 1rem;font-size:var(--spot-small-font-size)}.spot-request-reasons{margin:0;display:grid;gap:.4rem}.spot-request-reasons dt{font-weight:var(--spot-weight-bold)}.spot-request-reasons dd{margin:0}.spot-request-reasons dd+dt{margin-top:.75rem}
.live-archive-intro { width: min(100%, var(--spot-reading-width)); margin-inline: auto; white-space: normal; }
.live-tile { display: block; width: var(--spot-content-tile-width); height: auto; flex: 0 0 auto; color: inherit; text-decoration: none; }
.live-tile time { color: var(--spot-muted); font-size: var(--spot-live-tile-date-font-size); }
.live-tile-title { display: block; overflow: hidden; color: var(--spot-pink-strong); font-size: var(--spot-live-tile-title-font-size); font-weight: var(--spot-weight-bold); line-height: 1.2; white-space: nowrap; }
@keyframes content-tile-marquee { to { transform: translateX(calc(-50% - .5rem)); } }
.spot-product-carousel ul.products { display: flex; width: max-content; margin: 0; padding: 0; gap: var(--spot-item-gap); list-style: none; }
.spot-product-carousel ul.products::before, .spot-product-carousel ul.products::after { display: none; }
.spot-product-carousel ul.products li.product { width: var(--spot-content-tile-width) !important; min-width: var(--spot-content-tile-width); margin: 0 !important; padding: 0; flex: 0 0 auto; }
.spot-product-carousel ul.products li.product > a { display: block; height: 100%; color: inherit; text-decoration: none; }
.spot-product-carousel .woocommerce-loop-product__title { display: block; overflow: hidden; margin: 0; padding: 0; color: var(--spot-pink-strong); font-size: var(--spot-live-tile-title-font-size); font-weight: var(--spot-weight-bold); line-height: 1.2; white-space: nowrap; text-overflow: ellipsis; }
.spot-product-carousel .price { display: block; margin: 0; padding: 0; color: var(--spot-muted); font-size: var(--spot-live-tile-date-font-size); font-weight: var(--spot-weight-regular); line-height: 1.15; }
.spot-product-carousel .button { display: none; }
.home-shop-cta, .cast-shop .section-link { text-align: center; }
.live-heading { width: var(--spot-heading-width); margin-inline: auto; padding: .15em clamp(1rem, 2vw, 1.5rem); border-radius: 0; background: var(--spot-blue-strong); color: var(--spot-white); font-size: var(--spot-h2-font-size); font-weight: var(--spot-weight-bold); line-height: 1; }
.live-body { width: min(100%, var(--spot-reading-width)); margin-inline: auto; }
.live-body > :first-child { margin-top: 0; }
.live-body > :last-child { margin-bottom: 0; }
.live-main-image { width: min(100%, var(--spot-media-width)); height: auto; margin-inline: auto; }
.live-detail-links, .live-guest-links { display: flex; flex-wrap: wrap; gap: .35rem .8rem; margin: 0; padding: 0; list-style: none; }
.live-video { position: relative; width: min(100%, calc(var(--spot-home-carousel-height) * 16 / 9)); height: var(--spot-home-carousel-height); margin-inline: auto; aspect-ratio: 16 / 9; }
.live-video iframe { width: 100%; height: 100%; }
.live-gallery { padding-block: var(--spot-carousel-padding); overflow-x: auto; scrollbar-width: none; }
.live-gallery::-webkit-scrollbar { display: none; }
.live-gallery-track { display: flex; width: max-content; gap: var(--spot-item-gap); }
.live-gallery-set { display: flex; flex: 0 0 auto; gap: var(--spot-item-gap); }
.live-gallery-set[aria-hidden="true"] { display: none; }
.live-gallery.is-scrolling .live-gallery-set[aria-hidden="true"] { display: flex; }
.live-gallery.is-scrolling .live-gallery-track { animation: live-gallery-marquee var(--live-gallery-duration, var(--spot-marquee-duration)) linear infinite; will-change: transform; }
.live-gallery:not(.is-scrolling) .live-gallery-track { width: 100%; justify-content: center; }
.live-gallery-slide { height: var(--spot-home-carousel-height); flex: 0 0 auto; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.live-gallery-slide img { width: auto; max-width: none; height: 100%; object-fit: contain; }
.live-gallery:hover .live-gallery-track, .live-gallery:focus-within .live-gallery-track, .live-gallery.is-paused .live-gallery-track { animation-play-state: paused; }
.live-lightbox { width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)); border: 0; background: transparent; overflow: hidden; }
.live-lightbox::backdrop { background: rgb(255 245 250 / 94%); }
.live-lightbox[open] { display: grid; place-items: center; }
.live-lightbox img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
@keyframes live-gallery-marquee { to { transform: translateX(calc(-50% - .5rem)); } }
@media (prefers-reduced-motion: reduce) { .live-gallery-track { animation: none; } }
.system-summary { text-align: center; }
.system-price { text-align: center; }
.system-price p { margin-block: .35rem; }
.system-price-plan { color: var(--spot-pink-strong); font-size: var(--spot-system-plan-font-size); font-weight: var(--spot-weight-bold); }
.system-price-amount { color: var(--spot-pink-strong); font-size: var(--spot-system-amount-font-size); font-weight: var(--spot-weight-bold); }
.system-price-plan, .system-price-amount { white-space: nowrap; }
.system-price-amount small { font-size: var(--spot-tax-font-scale); font-weight: inherit; }
.system-price-note { color: var(--spot-gray-strong); font-size: var(--spot-system-note-font-size); }
.system-menu-groups { display: grid; gap: var(--spot-content-gap); margin-top: var(--spot-content-gap); text-align: left; }
.spot-key-value-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--spot-panel-font-size); }
.spot-key-value-table caption { padding-bottom: .35rem; color: var(--spot-pink-strong); font-weight: var(--spot-weight-bold); text-align: center; }
.spot-key-value-table th, .spot-key-value-table td { padding: .75rem; border-top: var(--spot-divider); line-height: inherit; }
.spot-key-value-table tbody tr:last-child > * { border-bottom: var(--spot-divider); }
.spot-key-value-table th { width: 33.333%; color: var(--spot-black); font-weight: var(--spot-weight-bold); text-align: left; }
.spot-key-value-table td { width: 66.667%; text-align: left; white-space: nowrap; }
.menu-gallery-viewport { display: flex; width: min(100%, var(--spot-media-width)); margin-inline: auto; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.menu-gallery-slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.menu-gallery-slide img { width: 100%; max-height: 76rem; object-fit: contain; }
.menu-gallery-controls { display: flex; align-items: center; justify-content: center; gap: var(--spot-item-gap); }
.menu-gallery-controls > button { padding: 0; border: 0; background: transparent; color: var(--spot-pink-strong); font-size: var(--spot-control-font-size); line-height: 1; }
.menu-gallery-dots { display: flex; gap: .5rem; }
.menu-gallery-dots button { width: .7rem; height: .7rem; padding: 0; border: 0; border-radius: 50%; background: var(--spot-gray-light); }
.menu-gallery-dots button[aria-current="true"] { background: var(--spot-pink-strong); }
.content-page { width: 100%; max-width: none; margin-inline: 0; }
.page-content h2:not(.spot-panel-heading) { margin-top: var(--spot-section-gap); }
.content-page li + li { margin-top: .45rem; }
.page-content, .spot-page-intro, .concept-intro, .concept-section > .spot-outlined-copy, .recruit-intro, .recruit-uniform-copy { width: min(100%, var(--spot-reading-width)); margin-right: auto; margin-left: auto; }
.spot-outlined-copy { color: var(--spot-pink-strong); font-size: var(--spot-outlined-copy-font-size); font-weight: var(--spot-weight-bold); text-align: center; -webkit-text-stroke: .25rem var(--spot-white); paint-order: stroke fill; }
.page-cta { display: inline-flex; height: 3.25rem; align-items: center; justify-content: center; padding-inline: 1.2rem; border: 0; border-radius: 999px; background: var(--spot-pink-strong); color: var(--spot-white); font-size: var(--spot-cta-font-size); font-weight: var(--spot-weight-bold); text-decoration: none; white-space: nowrap; }
.recruit-main-image img { width: min(100%, var(--spot-media-width)); height: auto; margin-inline: auto; }
.recruit-cta { text-align: center; }
.concept-section-cta { text-align: center; }
.recruit-benefits { width: min(100%, var(--spot-reading-width)); margin-inline: auto; }
.recruit-tile { display: flex; min-width: 0; min-height: 12rem; flex-direction: column; align-items: center; justify-content: center; padding: 1.25rem; border: var(--spot-panel-border); border-radius: var(--spot-panel-radius); background: var(--spot-panel-background); text-align: center; }
.recruit-benefit h3, .recruit-benefit p { margin-block: .3rem; }
.recruit-tile-index { color: var(--spot-blue-strong); font-size: var(--spot-recruit-index-font-size); font-weight: var(--spot-weight-bold); white-space: nowrap; }
.recruit-tile-title { color: var(--spot-pink-strong); font-size: var(--spot-recruit-title-font-size); font-weight: var(--spot-weight-bold); white-space: nowrap; }
.recruit-tile-copy { font-weight: var(--spot-weight-regular); }
.recruit-steps { display: grid; width: min(100%, var(--spot-reading-width)); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem 3rem; margin-inline: auto; }
.recruit-step { position: relative; grid-row: var(--step-row); grid-column: var(--step-column); gap: .3rem; }
.recruit-step[data-next]::after { position: absolute; z-index: 1; color: var(--spot-pink-strong); font-size: var(--spot-direction-font-size); line-height: 1; }
.recruit-step[data-next="right"]::after { content: '→'; top: 50%; right: -2.65rem; transform: translateY(-50%); }
.recruit-step[data-next="down-left"]::after { content: '↙'; bottom: -3.15rem; left: -1.5rem; transform: translateX(-50%); }
.recruit-step-number { line-height: 1.2; }
.recruit-step h3 { margin: 0; font-size: var(--spot-recruit-title-font-size); }
.recruit-step p { margin: .5rem 0 0; color: var(--spot-black); }
.recruit-trial-copy { color: var(--spot-black); font-size: inherit; font-weight: inherit; }
.recruit-trial-copy p { margin: 0; }
.access-map { display: block; width: min(100%, var(--spot-media-width)); height: var(--spot-home-carousel-height); border: 0; margin-inline: auto; }
.access-guide-copy { color: inherit; font-size: inherit; font-weight: inherit; }
.access-guide-copy p { margin: 0; }
.access-guide-video { height: var(--spot-home-carousel-height); }
.access-guide-video iframe { width: 100%; height: 100%; }
.home-concept { display: grid; place-items: center; background: transparent; text-align: center; }
.home .section { padding-block: 0; margin-top: var(--spot-section-gap); }
.home .site-main h2 { text-align: center; }
.home .system-price, .home .live-tile img { background: var(--spot-white); }
.concept-visual { position: relative; overflow: hidden; container-type: inline-size; aspect-ratio: 2229 / 2245; margin-inline: auto; }
.concept-visual--home { width: min(100%, var(--spot-content-width)); }
.concept-visual--page { width: min(100%, var(--spot-media-width)); }
.concept-visual-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.concept-visual-copy { position: absolute; z-index: 1; transform: translate(-50%, -50%); font-size: var(--spot-home-concept-font-size); font-weight: var(--spot-weight-bold); line-height: 1.45; text-align: center; }
/* These boxes match the innermost pink rounded frames in the artwork. */
.concept-visual-copy--primary { top: 26.31%; left: 64.17%; width: 64.5%; height: 12.5%; }
.concept-visual-copy--secondary { top: 52.63%; left: 34.49%; width: 59.2%; height: 13.5%; }
.concept-visual-copy--tertiary { top: 78.94%; left: 66.84%; width: 59.2%; height: 14%; font-size: var(--spot-home-concept-tertiary-font-size); }
.concept-visual-copy-inner { position: absolute; top: 50%; left: 50%; width: max-content; max-width: none; transform: translate(-50%, -50%); }
.concept-visual-copy-inner--primary-mobile { display: none; }
.concept-line { display: block; white-space: nowrap; }
.concept-line > span + span { margin-left: .2em; }
.concept-pink { color: #ff91bd; }
.concept-blue { color: #62d1e5; }
.home-access { background: transparent; text-align: center; }
.home-access-intro { width: min(100%, var(--spot-reading-width)); margin-inline: auto; }
.home-access-map { width: min(100%, var(--spot-media-width)); margin-inline: auto; }
@keyframes cast-marquee { to { transform: translateX(calc(-50% - .5rem)); } }
@media (prefers-reduced-motion: reduce) { .cast-loop-track { animation: none; } }
.news-carousel { overflow-x: auto; padding-block: var(--spot-carousel-padding); scrollbar-width: none; }
.news-carousel::-webkit-scrollbar { display: none; }
.news-track { display: flex; width: max-content; gap: var(--spot-item-gap); }
.news-set { display: flex; flex: 0 0 auto; gap: var(--spot-item-gap); }
.news-set[aria-hidden="true"] { display: none; }
.news-carousel.is-scrolling .news-set[aria-hidden="true"] { display: flex; }
.news-carousel.is-scrolling .news-track { animation: news-marquee var(--news-duration, var(--spot-marquee-duration)) linear infinite; will-change: transform; }
.news-carousel:not(.is-scrolling) .news-track { width: 100%; justify-content: center; }
.news-carousel:hover .news-track, .news-carousel:focus-within .news-track, .news-carousel.is-paused .news-track { animation-play-state: paused; }
.news-item { display: block; height: var(--spot-home-carousel-height); flex: 0 0 auto; }
.news-item img { width: auto; max-width: none; height: 100%; object-fit: contain; }
@keyframes news-marquee { to { transform: translateX(calc(-50% - .5rem)); } }
@media (prefers-reduced-motion: reduce) { .news-carousel.is-scrolling .news-track { animation: none; } }
@media (max-width: 42rem) {
    :root {
        --spot-marquee-speed: 26;
        --spot-hero-title-x: 50%;
        --spot-hero-title-y: 90%;
        --spot-outlined-copy-font-size: 1.1rem;
        --spot-nav-reading-font-size: .72em;
        --spot-footer-detail-font-size: 1rem;
        --spot-live-tile-date-font-size: .7rem;
        --spot-live-tile-title-font-size: .9rem;
        --spot-schedule-date-font-size: clamp(.6rem, 2.45vw, .78rem);
        --spot-schedule-time-font-size: clamp(.64rem, 2.7vw, .8rem);
        --spot-cta-font-size: 1rem;
        --spot-system-amount-font-size: 1.95rem;
        --spot-system-note-font-size: .85rem;
        --spot-recruit-title-font-size: clamp(1rem, 4.5vw, 1.2rem);
    }
    .site-header { min-height: 4.75rem; box-shadow: none; }
    .site-header.is-compact { min-height: 3.75rem; box-shadow: 0 .25rem 1rem rgb(32 24 42 / 10%); }
    .site-header-inner { position: relative; justify-content: center; }
    .site-logo { margin-inline: auto; }
    .site-logo img { max-width: 65vw; height: 3.75rem; }
    .site-header.is-compact .site-logo img { height: 2.75rem; }
    .desktop-nav { display: none; }
    .mobile-menu-toggle { position: absolute; right: 0; display: block; }
    .live-tile { width: clamp(9.5rem, 40vw, 12rem); }
    .content-card .card-body { padding: .35rem .55rem; }
    .live-tile time { line-height: 1.15; }
    .live-video { width: 100%; height: auto; aspect-ratio: 16 / 9; }
    .access-guide-video { height: auto; aspect-ratio: 16 / 9; }
    .site-footer { padding-block: 3rem 2rem; }
    .footer-store { grid-template-columns: 1fr; gap: 1.5rem; }
    .footer-address { justify-content: center; justify-items: center; text-align: center; }
    .footer-socials-mobile { display: flex; }
    .footer-socials-desktop { display: none; }
    .footer-nav { margin-top: 1.25rem; }
    .footer-nav ul { display: grid; grid-template-columns: repeat(3, max-content); justify-content: center; gap: .1rem 1.25rem; }
    .footer-nav li:last-child:nth-child(3n + 1) { grid-column: 2; }
    .footer-legal { gap: 1.25rem; }
    .cast-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .cast-archive-grid .card-body { padding: .75rem; }
    .cast-schedule-table .schedule-date { padding-inline: 0; }
    .cast-schedule-table .schedule-time { min-height: 3.25rem; flex-direction: column; padding-inline: 0; }
    .cast-schedule-table .schedule-time-separator { line-height: .8; }
    .spot-equal-columns { grid-template-columns: 1fr; }
    .recruit-steps { grid-template-columns: 1fr; gap: 3.5rem; }
    .recruit-step { grid-row: auto; grid-column: 1; padding: 1rem; }
    .recruit-step[data-next]::after, .recruit-step[data-next="right"]::after, .recruit-step[data-next="down-left"]::after { content: '↓'; top: auto; right: auto; bottom: -2.8rem; left: 50%; transform: translateX(-50%); }
}
@media (min-width: 42.0625rem) {
    .page-cta { height: 3.5rem; padding-inline: 1.4rem; }
}
.muted { color: var(--spot-muted); }
.cast-profile { width: 100%; max-width: none; margin-inline: 0; }
.cast-profile > .section-title { text-align: center; }
.cast-profile.cast-name-pink > .section-title, .cast-profile.cast-name-blue > .section-title { color: var(--spot-white); }
.cast-gallery-main img { width: min(100%, 37.5rem); margin-inline: auto; aspect-ratio: 3 / 4; object-fit: contain; }
.cast-gallery-thumbs { display: flex; justify-content: center; gap: .75rem; margin-top: 1rem; overflow-x: auto; }
.cast-gallery-thumbs button { flex: 0 0 5rem; padding: 0; border: 2px solid transparent; background: transparent; cursor: pointer; }
.cast-gallery-thumbs button[aria-current="true"] { border-color: var(--spot-accent); }
.cast-gallery-thumbs img { aspect-ratio: 3 / 4; object-fit: cover; }
.cast-gallery-thumbs button img { width: 100%; }
.cast-details { width: min(100%, var(--spot-reading-width)); margin-inline: auto; padding-inline: clamp(1rem, 3vw, 1.5rem); border: var(--spot-panel-border); border-radius: var(--spot-panel-radius); background: var(--spot-panel-background); font-size: var(--spot-panel-font-size); overflow: hidden; }
.cast-details > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .75rem; padding-block: .75rem; border-bottom: var(--spot-divider); }
.cast-details > div:last-child { border-bottom: 0; }
.cast-details dt { color: var(--spot-pink-strong); font-weight: var(--spot-weight-bold); white-space: nowrap; }
.cast-details dd { margin: 0; }
.detail-value-single { white-space: nowrap; }
.store-address { display: grid; }
.store-address span { white-space: nowrap; }
.store-hours .responsive-copy > div, .system-price-note > div { white-space: nowrap; }
.footer-hours-group > .responsive-copy-desktop { display: grid; gap: .15rem; }
.footer-hours-group > .responsive-copy-mobile { display: none; gap: .15rem; }
.cast-live-links { margin: 0; padding: 0; list-style: none; }
.cast-live-links li { display: block; white-space: nowrap; }
.cast-live-links li + li { margin-top: .35rem; }
.live-detail-links li, .live-guest-links li { white-space: nowrap; }
.responsive-copy-mobile { display: none; }
.responsive-copy :first-child { margin-top: 0; }
.responsive-copy :last-child { margin-bottom: 0; }
@media (max-width: 42rem) {
    .responsive-copy-desktop { display: none; }
    .responsive-copy-mobile { display: block; }
    .footer-hours-group > .responsive-copy-desktop { display: none; }
    .footer-hours-group > .responsive-copy-mobile { display: grid; }
}
.cast-socials { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.cast-socials a { display: grid; width: 3.75rem; height: 3.75rem; place-items: center; border: 1px solid var(--spot-black); border-radius: 50%; color: inherit; font-size: var(--spot-social-label-font-size); font-weight: var(--spot-weight-bold); text-decoration: none; }
.pokepara-widget-shell { position: relative; width: min(100%, 360px); min-height: 660px; margin-inline: auto; overflow: hidden; }
.pokeparaBlogWidget { width: 360px; max-width: 100%; }
.pokepara-loading { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; color: var(--spot-muted); }
.pokepara-widget-shell.is-loaded .pokepara-loading { display: none; }

/* Legal headings are authored copy and may be longer than fixed site labels. */
.legal-section h2 { white-space: normal; }

/* Shared vertical rhythm: components own their interiors; parent flows own exterior spacing. */
:is(.content-page, .system-page, .cast-profile) > :not(h1):not(section) { margin-block: 0; }
:is(.content-page, .system-page, .cast-profile) > :not(h1):not(section) + :not(section) { margin-top: var(--spot-content-gap); }
:is(.content-page, .system-page, .cast-profile) > h1 + :not(section) { margin-top: 0; }
:is(.content-page, .system-page, .cast-profile) > section { display: flow-root; margin-block: var(--spot-section-gap) 0; }
:is(.content-page, .system-page, .cast-profile) > section + :not(section) { margin-top: var(--spot-section-gap); }
:is(.content-page, .system-page, .cast-profile) > section > h2 { margin: 0 0 var(--spot-heading-content-gap); }
:is(.content-page, .system-page, .cast-profile) > section > :not(h2) { margin-block: 0; }
:is(.content-page, .system-page, .cast-profile) > section > :not(h2) + :not(h2) { margin-top: var(--spot-content-gap); }

:is(.spot-page-intro, .concept-intro, .recruit-intro) > :first-child { margin-top: 0; }
:is(.spot-page-intro, .concept-intro, .recruit-intro) > :last-child { margin-bottom: 0; }

.home .section > :not(h2):not(.section-heading) { margin-block: 0; }
.home .section > :not(h2):not(.section-heading) + :not(h2):not(.section-heading) { margin-top: var(--spot-content-gap); }
.home .section > :is(h2, .section-heading) + * { margin-top: 0; }

.live-list > :not(h1):not(.live-event) { margin-block: 0; }
.live-list > :not(h1):not(.live-event) + :not(.live-event) { margin-top: var(--spot-content-gap); }
.live-list > h1 + :not(.live-event) { margin-top: 0; }
.live-list > .live-event { margin-block: var(--spot-section-gap) 0; }
.live-event > .live-heading { margin-block: 0; }
.live-event > :not(.live-heading) { margin-block: 0; }
.live-event > .live-heading + * { margin-top: var(--spot-heading-content-gap); }
.live-event > :not(.live-heading) + :not(.live-heading) { margin-top: var(--spot-content-gap); }
.live-event > section > :only-child { margin-block: 0; }

.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.screen-reader-text:focus { z-index: 1000; top: 1rem; left: 1rem; width: auto; height: auto; padding: .75rem 1rem; overflow: visible; clip: auto; border-radius: .5rem; background: var(--spot-white); color: var(--spot-black); }

.error-page-title { margin-block: 0; color: var(--spot-ink); font: inherit; white-space: normal; text-align: center; }

/* Account authentication uses one shared card; WooCommerce supplies only the form logic. */
.spot-account-auth .spot-commerce-content > .woocommerce { display: block; }
.spot-account-auth-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; margin-bottom: 1.5rem; }
.spot-account-auth-tabs.spot-account-settings-tabs { display: flex; justify-content: space-between; gap: .25rem; width: min(100%, 32rem); margin-inline: auto; }
.spot-account-settings-tabs > .spot-account-auth-tab { width: auto; flex: 0 1 auto; white-space: nowrap; }
.spot-account-logout { clear: both; text-align: center; margin-top: 1.5rem; }
.spot-account-auth-tab { box-sizing: border-box; width: 100%; min-width: 0; min-height: 3rem; padding: .6rem .35rem; border: 0; background: transparent; color: var(--spot-muted); font-weight: var(--spot-weight-regular); text-align: center; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.spot-account-auth-tab.is-active { color: var(--spot-black); font-weight: var(--spot-weight-bold); }
.spot-account-auth-panel[hidden] { display: none !important; }
.spot-account-auth .spot-commerce-content .woocommerce .spot-account-auth-card form.login,
.spot-account-auth .spot-commerce-content .woocommerce .spot-account-auth-card form.lost_reset_password,
.spot-account-auth .spot-registration-flow { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.spot-account-auth-panel h2 { margin-top: 0; color: var(--spot-pink-strong); font-size: var(--spot-h3-font-size); white-space: normal; }
.spot-account-login-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .75rem; }
.spot-account-login-actions .woocommerce-form-login__submit { margin: 0; }
.spot-account-auth-card .lost_password,
.spot-account-back { margin-bottom: 0; }
.spot-account-password-card h2 { text-align: center; }
.spot-account-form-title { text-align: center; }
.spot-account-password-card .lost_reset_password > p:first-child { margin-top: 0; }
.spot-guidance-line { display: block; }
.spot-ec-form { display: grid; gap: 1rem; }
.spot-ec-form::before,
.spot-ec-form::after,
.spot-ec-form .form-row::before,
.spot-ec-form .form-row::after { display: none !important; content: none !important; }
.spot-ec-form .form-row:has(input.input-hidden) { display: none !important; }
.spot-choice-control { display: grid !important; grid-template-columns: 1.1rem minmax(0, 1fr); gap: .5rem; align-items: start; line-height: 1.45; }
.spot-choice-control > span { line-height: 1.45; }
.spot-choice-control > input[type="checkbox"],
.spot-choice-control > input[type="radio"] { box-sizing: border-box; width: 1.1rem !important; height: 1.1rem !important; min-height: 0 !important; margin: .175rem 0 0 !important; accent-color: var(--spot-pink-strong); }
.spot-ec-form .form-row,
.spot-account-password-card form.lost_reset_password .form-row,
.spot-registration-email-form .spot-account-field { float: none !important; width: 100% !important; margin: 0 !important; }
.spot-account-password-card form.lost_reset_password input.input-text { width: 100% !important; }
.spot-registration-complete-form .spot-account-field input[readonly] { background: var(--spot-surface); color: var(--spot-black); }
.spot-ec-form button { justify-self: start; }

@media (max-width: 42rem) {
    .concept-visual--page .concept-visual-copy { font-size: clamp(.6875rem, 3cqi, .9rem); line-height: 1.2; }
    .concept-visual--page .concept-visual-copy--tertiary { font-size: clamp(.7rem, 3.2cqi, .95rem); }
    .concept-visual--page .concept-visual-copy-inner--primary-default { display: none; }
    .concept-visual--page .concept-visual-copy-inner--primary-mobile { display: block; }
}

@media (max-width: 20rem) {
    :root {
        --spot-h1-font-size: clamp(1.2rem, 6.25vw, 1.35rem);
        --spot-h2-font-size: clamp(1.2rem, 6.25vw, 1.35rem);
        --spot-system-plan-font-size: 1.3rem;
        --spot-system-amount-font-size: 1.55rem;
        --spot-system-note-font-size: .75rem;
        --spot-recruit-title-font-size: .95rem;
    }
    .site-header, .site-footer, .site-main { padding-inline: .5rem; }
    .section-title, .live-heading { padding-inline: .5rem; }
    .spot-content-panel { padding-inline: .5rem; }
    .system-price-amount small { font-size: .62em; }
    .recruit-tile { padding-inline: .65rem; }
}

#spot_register_password::placeholder,
#spot_new_password::placeholder,
.lost_reset_password #password_1::placeholder {
    color: #999;
    opacity: 1;
}
