/* Explicit appearance roles, shared with the approved store template.
   No wildcard/name-match selectors, geometry, visibility, asset or behavioral changes.
   Important declarations only resolve existing legacy theme precedence. */
html.cd-template-v1 {
 --cdt-bg:radial-gradient(ellipse at 76% 24%,#0e1d3a 0%,#070d23 54%,#060d1d 100%);
 --cdt-card:linear-gradient(115deg,#121e3d 0%,#0f1b38 55%,#0e1936 100%);
 --cdt-edge:rgba(115,147,194,.28); --cdt-text:#edf4ff; --cdt-copy:#c6d4e5;
 --cdt-cta:linear-gradient(115deg,#07e0fa 0%,#15a7fc 50%,#247cfb 100%);
 --cdt-radius:18px;
}
html.cd-template-v1 body,html.cd-template-v1 body .page,html.cd-template-v1 body .page>.inner {background:var(--cdt-bg)!important}
/* Document shells, not nested status panels or embedded maps. */
html.cd-template-v1 :is(#view-home,#view-store,#view-services,#view-pricing,#view-location,#view-member,#view-laundry,#view-query,#view-membership,#view-locker,#view-pickup,#view-events,#view-contact,#view-more,#view-coupons,#view-addresses,#view-service-info,#view-terms,#view-privacy,#view-account,#view-payment-methods,#view-invite,#view-notifications,#view-guide,#view-auth) {background:var(--cdt-bg)!important}
/* Public service/pricing/location/member cards. Images and their blending layers untouched. */
html.cd-template-v1 #view-services :is(.service-category-card,.service-extra-card,.service-reclean-card,.service-convenience-grid article,.org-laundry-row),
html.cd-template-v1 #view-pricing .price-item,
html.cd-template-v1 #view-location .info-card,
html.cd-template-v1 #view-member .info-card {
 background:var(--cdt-card)!important;border-color:var(--cdt-edge)!important;border-radius:var(--cdt-radius);color:var(--cdt-text);box-shadow:inset 0 0 0 1px var(--cdt-edge);
}
html.cd-template-v1 #view-services :is(.service-guide-prompt,.service-category-note,.org-laundry,.org-benefits),
html.cd-template-v1 #view-pricing :is(.price-title,.price-note,.price-category-wrap),
html.cd-template-v1 #view-location .page-head,
html.cd-template-v1 #view-member .page-head {background:var(--cdt-card)!important}
html.cd-template-v1 #view-services :is(.service-guide-title h2,.service-category-head h3,.service-category-card b,.service-convenience h3,.service-convenience-grid b,.service-extra-head h3,.service-extra-card h4,.service-reclean-copy h4,.org-laundry-head h3,.org-laundry-copy h4,.org-benefits b),
html.cd-template-v1 #view-location :is(.page-head h2,.info-card h3,.info-value),
html.cd-template-v1 #view-member :is(.page-head h2,.info-card h3,.info-value,#memberCustomerName,#memberMaskedPhone) {color:var(--cdt-text)!important}
html.cd-template-v1 #view-services :is(.service-guide-title p,.service-category-head p,.service-category-note,.service-convenience-grid span,.service-extra-head p,.service-extra-card p,.service-reclean-copy p,.org-laundry-head p,.org-laundry-copy>p,.org-benefits span),
html.cd-template-v1 #view-pricing :is(.price-title>p,.price-item b,.price-note),
html.cd-template-v1 #view-location :is(.page-head p,.info-card p,.info-row>span:first-child),
html.cd-template-v1 #view-member :is(.page-head p,.placeholder,.info-row>span:first-child) {color:var(--cdt-copy)!important}
html.cd-template-v1 #view-location .action-btn:not(.location-kakao-btn),html.cd-template-v1 #view-member .action-btn {background:var(--cdt-cta)!important;color:#06142b!important;border-color:transparent;border-radius:12px}
/* History: receipt paper, calendar, badges, progress and financial status keep their own palettes. */
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-summary-item,.laundry-receipt,.laundry-old-group,.laundry-query-box,.laundry-query-result,.laundry-empty) {background:var(--cdt-card)!important;border-color:var(--cdt-edge)!important;border-radius:var(--cdt-radius);color:var(--cdt-text)}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-shell,.lr-title,.laundry-receipt h4,.laundry-results-head h3,.laundry-old-group>summary) {color:var(--cdt-text)!important}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-summary-item span,.laundry-receipt-meta,.laundry-query-items,.laundry-results-head span,.laundry-empty) {color:var(--cdt-copy)!important}
/* Monthly membership: grade badges, tier colors, progress tracks and selected tabs preserved. */
html.cd-template-v1 #view-membership :is(.cdm-status,.cdm-progress,.cdm-simulator,.cdm-rules,.cdm-detail,.cdm-history) {background:var(--cdt-card)!important;border-color:var(--cdt-edge);border-radius:var(--cdt-radius);color:var(--cdt-text)}
html.cd-template-v1 #view-membership :is(.cdm-heading h2,.cdm-status h2,.cdm-money,.cdm-tabs-head strong,.cdm-rules h3,.cdm-detail h3) {color:var(--cdt-text)!important}
html.cd-template-v1 #view-membership :is(.cdm-heading p,.cdm-status p,.cdm-progress-head,.cdm-target,.cdm-simulator label,.cdm-simulator p,.cdm-rules p,.cdm-rules li,.cdm-detail p,.cdm-refresh-row) {color:var(--cdt-copy)!important}
/* News and customer support. Active filters remain visually distinct. */
html.cd-template-v1 #view-events :is(.cdn-heading,.cdn-card,.cdn-detail-head,.cdn-empty),
html.cd-template-v1 #view-contact :is(.cd-help-faq-list details,.cd-help-contact-card,.cd-help-empty) {background:var(--cdt-card)!important;border-color:var(--cdt-edge);border-radius:var(--cdt-radius)}
html.cd-template-v1 #view-events :is(.cdn-heading h2,.cdn-card h3,.cdn-detail-head h2,.cdn-empty h3),
html.cd-template-v1 #view-contact :is(.cd-help-bar h2,.cd-help-section-head h3,.cd-help-intro h3,.cd-help-faq-list summary,.cd-help-contact-card b,.cd-help-contact-card strong) {color:var(--cdt-text)!important}
html.cd-template-v1 #view-events :is(.cdn-heading p,.cdn-summary,.cdn-meta,.cdn-empty p),
html.cd-template-v1 #view-contact :is(.cd-help-bar p,.cd-help-answer,.cd-help-intro p,.cd-help-empty,.cd-help-contact-card small) {color:var(--cdt-copy)!important}
html.cd-template-v1 #view-events .cdn-open {background:var(--cdt-cta);color:#06142b;border-color:transparent;border-radius:12px}
/* Image-based guide artwork remains unmodified. Only the surrounding UI is themed. */
html.cd-template-v1 #view-guide :is(.cd-guide-intro,.cd-guide-help) {background:var(--cdt-card);color:var(--cdt-text)}
html.cd-template-v1 #view-guide :is(.cd-guide-intro p,.cd-guide-help p) {color:var(--cdt-copy)}
html.cd-template-v1 #view-guide #cd-guide-help-button {background:var(--cdt-cta);color:#06142b;border-radius:12px}
/* Shared legal/information prose has no semantic status colors. */
html.cd-template-v1 :is(#view-terms,#view-privacy,#view-service-info) .cd-pg-shell {color:var(--cdt-copy)!important}
html.cd-template-v1 :is(#view-terms,#view-privacy,#view-service-info) :is(.cd-pg-shell h2,.cd-pg-shell h3) {color:var(--cdt-text)!important}
html.cd-template-v1 :is(#view-terms,#view-privacy,#view-service-info) .cd-pg-note {background:var(--cdt-card)!important;color:var(--cdt-copy)!important;border-color:var(--cdt-edge)!important}
/* Read-only service notice, not any service/locker operation button. */
/* Mobile home retains the mascot, icon assets, carousel, dimensions and navigation states. */
@media (max-width:760px),(max-width:1024px) and (hover:none) and (pointer:coarse) {
 html.cd-template-v1 {--cdt-radius:14px}
 html.cd-template-v1 body.cd-mobile-home-theme .page>.inner>header {background:#0e1936!important}
 html.cd-template-v1 body.cd-mobile-home-theme .cd-header-actions button {color:#c6d4e5}
 html.cd-template-v1 body.cd-mobile-home-theme #view-home#view-home :is(.cd-home-intro,.cd-mascot-greeting,.cd-home-section-head,.cd-home-below,.services) {background:transparent!important}
 html.cd-template-v1 body.cd-mobile-home-theme #view-home#view-home :is(.cd-mascot-kicker,.cd-mascot-greeting h1,.cdn-home-heading h2,.cd-home-section-head h2) {color:var(--cdt-text)!important}
 html.cd-template-v1 body.cd-mobile-home-theme #view-home#view-home .cd-mascot-greeting p {color:var(--cdt-copy)!important}
 html.cd-template-v1 body.cd-mobile-home-theme #view-home#view-home .cd-pickup-go {background:var(--cdt-cta)!important;color:#06142b!important}
 html.cd-template-v1 body.cd-mobile-home-theme #view-home#view-home .cdn-home-notice-row {background:var(--cdt-card);border-color:var(--cdt-edge)}
 html.cd-template-v1 body.cd-mobile-home-theme #view-home#view-home .cdn-home-notice-title {color:var(--cdt-copy)}
 html.cd-template-v1 body.cd-mobile-home-theme .cd-app-bottom-nav {background:#0e1936;border-top-color:var(--cdt-edge)}
 html.cd-template-v1 body.cd-mobile-home-theme .cd-app-bottom-nav button {color:#aebed5}
 html.cd-template-v1 body.cd-mobile-home-theme .cd-app-bottom-nav button[aria-current="page"] {color:#8fddee}
}
html.cd-template-v1 body footer#cd-site-footer {background:#060d1d!important;color:#b7c9dd!important}
html.cd-template-v1 #cd-site-footer :is(.cd-quiet-footer,summary,.cd-quiet-business,.cd-quiet-links) {color:#b7c9dd!important}
/* Desktop cinematic home uses its own document and preserves photographic stages. */
html.cd-template-v1 body.cd-template-cinematic :is(.contact-section,.history-section,.philosophy-stage) {background:var(--cdt-bg)}
html.cd-template-v1 body.cd-template-cinematic .contact-glow {background:var(--cdt-bg)}
html.cd-template-v1 body.cd-template-cinematic .contact-form {background:var(--cdt-card);border-color:var(--cdt-edge);border-radius:var(--cdt-radius)}
html.cd-template-v1 body.cd-template-cinematic :is(.hero-actions>.primary,.story-button,.pickup-primary,.history-primary,.contact-submit) {background:var(--cdt-cta);color:#06142b;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff38}
html.cd-template-v1 body.cd-template-cinematic :is(.hero-actions>.primary,.story-button,.pickup-primary,.history-primary,.contact-submit):hover {background:linear-gradient(115deg,#35e7fc,#38b5fd 50%,#438ffd)}

/* Paired foregrounds for mobile public cards; explicit price emphasis retained. */
html.cd-template-v1 #view-pricing :is(.price-title h2,.price-section h3) {color:#9acbff!important}
html.cd-template-v1 #view-pricing .price-item :is(.price-line,.price-label,.price-value,strong,.normal-price,.regular-price) {color:#9acbff!important}
html.cd-template-v1 #view-pricing .price-item .price-values>span {color:var(--cdt-copy)!important}
html.cd-template-v1 #view-pricing .price-item :is(.price-values>span:last-child,.price-values>span:last-child em,.price-line:last-child) {color:#9acbff!important}
html.cd-template-v1 #view-services .service-guide-prompt-copy b {color:var(--cdt-text)!important}
html.cd-template-v1 #view-services .service-guide-prompt-copy span {color:var(--cdt-copy)!important}

/* Reviewed nested membership and laundry typography, excluding status variants. */
html.cd-template-v1 #view-membership :is(.cdm-detail-head strong,.cdm-rule strong,.cdm-rules-title) {color:var(--cdt-text)!important}
html.cd-template-v1 #view-membership :is(.cdm-detail-head span,.cdm-detail-base,.cdm-history ul,.cdm-rules-lead) {color:var(--cdt-copy)!important}
html.cd-template-v1 #view-membership :is(.cdm-detail-bonus,.cdm-history summary) {color:#9acbff}
html.cd-template-v1 :is(#view-laundry,#view-query) :is(.laundry-query-meta strong,.laundry-query-count,.laundry-summary-item strong) {color:#9acbff!important}

/* Locker frame only: door availability colors and controls remain unchanged. */
html.cd-template-v1 #view-locker {color:var(--cdt-text)}
html.cd-template-v1 #view-locker :is(.lk-heading p,.lk-help,.lk-detail dt,.lk-legend) {color:var(--cdt-copy)}
html.cd-template-v1 #view-locker .lk-notice {color:#183b60}

/* Active history tab text; existing indicator and behavior retained. */
html.cd-template-v1 :is(#view-laundry,#view-query) .cd-laundry-switch button[aria-current="page"] {color:#9acbff}
