/* Revision 37: scoped customer dark mode; original photographs retained. */
.dark-brand{display:none!important}
:root[data-theme=dark]{--night:#101b28;--panel:#1a2a3b;--raised:#23364a;--line:#3c5165;--text:#f2eee7;--soft:#bfccd8;--gold:#e1c58d;--link:#b8d8f7;color-scheme:dark}
:root[data-theme=dark] body{background:var(--night);color:var(--text)}
:root[data-theme=dark] .inside :is(h1,h2,h3,h4,legend){color:var(--text)}
:root[data-theme=dark] .inside :is(.muted,.field-help,.offers-intro,.offers-note,.offer-copy>p,.offer-meta,.service-category>p,.service-popular details p,.service-popular summary,.last-visit p,.wallet-visit>p,.wallet-history-item p,.wallet-rule-grid span,.reward-card p,.reward-column-labels,.community-disclosure,.community-verified,.appointment-footnote,.profile-panel>p,.reward-category-row small,.reminder-later){color:var(--soft)}
:root[data-theme=dark] .inside :is(.text-link,.offer-meta summary,.portal-language button,.menu-toggle,.popular-line>strong,.community-rating,.wallet-history-item strong){color:var(--link)}
:root[data-theme=dark] .inside :is(.service-pair,.service-category,.service-popular,.offer-card,.profile-panel,.last-visit,.reward-card,.reward-progress,.reward-history,.wallet-rules,.wallet-redeem-panel,.reward-conditions,.reward-receipt,.reward-notice,.community-card,.community-detail,.appointment-panel,.gift-history,.home-feature,#testimonialPreview){background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:none}
:root[data-theme=dark] .inside :is(.service-pair,.offer-card,.home-feature){border:1px solid var(--line)}
:root[data-theme=dark] .inside :is(.service-popular h3,.reward-amount,.reward-task p.reward-amount){color:var(--gold)}
:root[data-theme=dark] .inside :is(.offer-meta,.offer-copy,.service-popular){background:transparent}
:root[data-theme=dark] .inside :is(.home-feature strong,.home-feature small,.home-feature em){color:var(--text)}
:root[data-theme=dark] .inside :is(.home-feature small,.home-feature em){color:var(--soft)}
:root[data-theme=dark] .inside :is(.reward-category-row,.reward-history-row,.bonus-history li,.wallet-visit,.community-rating,.appointment-services li,footer){border-color:var(--line)}
:root[data-theme=dark] .inside :is(.button,button.button){background:#225582;color:#fff;border:1px solid #527b9e;box-shadow:none}
:root[data-theme=dark] .inside :is(.button:hover,button.button:hover){background:#2b6599;border-color:#8bb3d6}
:root[data-theme=dark] .inside :is(.button.secondary){background:transparent;color:var(--link);border-color:#7193b1}
:root[data-theme=dark] .inside :is(.button.secondary:hover){background:var(--raised)}
:root[data-theme=dark] .inside :is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible){outline:2px solid var(--gold);outline-offset:4px}
:root[data-theme=dark] .inside :is(input,select,textarea){background:#142334;color:var(--text);border-color:#6b8195}
:root[data-theme=dark] .inside :is(.shell>nav,header){background:#172637;border-color:var(--line)}
:root[data-theme=dark] .inside :is(nav button){color:var(--soft)}
:root[data-theme=dark] .inside :is(nav button.active){background:#2b425b;color:#fff;box-shadow:inset 3px 0 var(--gold)}
:root[data-theme=dark] .inside :is(nav button:hover){background:#23394f;color:#fff}
:root[data-theme=dark] .inside :is(.sidebar-brand .access-logo img:not(.dark-brand),.interior-brand img:not(.dark-brand)){display:none}
:root[data-theme=dark] .inside :is(.sidebar-brand .access-logo,.interior-brand){position:relative;overflow:hidden}
:root[data-theme=dark] .inside :is(.sidebar-brand .access-logo img.dark-brand,.interior-brand img.dark-brand){display:block!important;position:absolute;width:170%!important;height:auto!important;max-width:none;left:50%;top:50%;transform:translate(-50%,-51%);mix-blend-mode:normal;filter:none}
:root[data-theme=dark] .inside :is(.inicio-hero,.services-hero,.offers-hero,.wallet-hero){background-color:var(--panel);background-image:linear-gradient(90deg,#1a2a3b 0%,#1a2a3bf5 32%,#1a2a3bb3 48%,transparent 72%),var(--hero-photo);background-size:100% 100%,auto 115%;background-position:center,right center;background-repeat:no-repeat}
:root[data-theme=dark] .inside :is(.inicio-hero){--hero-photo:url('inicio-hero.png')}
:root[data-theme=dark] .inside :is(.services-hero){--hero-photo:url('services-hero.png')}
:root[data-theme=dark] .inside :is(.offers-hero){--hero-photo:url('gifts-hero.png')}
:root[data-theme=dark] .inside :is(.wallet-hero){--hero-photo:url('wallet-hero.png')}
:root[data-theme=dark] .inside :is(.rewards-hero){background:linear-gradient(115deg,#1a2a3b,#263f56)}
:root[data-theme=dark] .inside :is(.inicio-hero h1,.inicio-hero p,.inicio-hero em,.inicio-hero span){color:var(--text);text-shadow:none}
:root[data-theme=dark] .inside :is(.services-hero h1,.services-hero p,.services-hero em,.services-hero span){color:var(--text);text-shadow:none}
:root[data-theme=dark] .inside :is(.offers-hero h1,.offers-hero p,.offers-hero em,.offers-hero span){color:var(--text);text-shadow:none}
:root[data-theme=dark] .inside :is(.wallet-hero h1,.wallet-hero p,.wallet-hero em,.wallet-hero span){color:var(--text);text-shadow:none}
:root[data-theme=dark] .inside :is(.rewards-hero h1,.rewards-hero p,.rewards-hero em,.rewards-hero span){color:var(--text);text-shadow:none}
:root[data-theme=dark] .inside :is(.community-hero h1,.community-hero p,.community-hero em,.community-hero span){color:var(--text);text-shadow:none}
:root[data-theme=dark] .inside :is(.inicio-hero h1,.inicio-hero p,.services-hero h1,.services-hero p,.offers-hero h1,.offers-hero p,.wallet-hero h1,.wallet-hero p){max-width:48%}
:root[data-theme=dark] .inside :is(.community-hero,.community-hero-copy){background:var(--panel)}
:root[data-theme=dark] .inside :is(.offer-badge,.chip){background:#3e3a2f;color:#f0d9a9;border-color:#746548}
:root[data-theme=dark] .inside :is(.gift-history p){color:var(--soft)}
:root[data-theme=dark] .inside :is(.gift-status,.reward-category-row .locked){background:#334556;color:#e1e8ee}
:root[data-theme=dark] .inside :is(.gift-active,.reward-category-row .complete){background:#234a3e;color:#c2eedb}
:root[data-theme=dark] .inside :is(.reward-category-row .available){background:#254963;color:#d1eaff}
:root[data-theme=dark] .inside :is(.reward-celebration,.action-reminder){background:var(--panel);color:var(--text);border:1px solid var(--line)}
:root[data-theme=dark] .inside :is(.reward-celebration h2,.reward-celebration p,.action-reminder h2,.action-reminder p){color:var(--text)}
:root[data-theme=dark] .inside :is(.community-filters button,.community-pagination button,.community-carousel-controls button){background:var(--panel);color:var(--text);border-color:var(--line)}
:root[data-theme=dark] .inside :is(.community-filters [aria-pressed=true]){background:#365675;border-color:#8ab3d8}
:root[data-theme=dark] .inside :is(.community-category){background:#30465d;color:#d8e9f8}
:root[data-theme=dark] .inside :is(.community-detail blockquote){background:var(--raised)}
:root[data-theme=dark] .inside :is(.inicio-balance,.bonus-history,.reward-summary,.wallet-balance-panel){background:#123b66;color:#fff;border:1px solid #42688d}
:root[data-theme=dark] .inside :is(.inicio-balance p,.bonus-history p,.reward-summary p,.wallet-balance-panel p){color:#d4e1ed}
:root[data-theme=dark] .inside :is(#experienceError,#rewardAdminMessage){color:#ffc7ba}
:root[data-theme=dark] .inside :is(footer){color:var(--soft)}
:root[data-theme=dark] .inside :is(.reminder-availability){background:#294637;color:#d5e9cf}
:root[data-theme=dark] .inside :is(.action-reminder .reminder-close){background:var(--raised);color:var(--text)}
@media(max-width:700px){
:root[data-theme=dark] .inside :is(.inicio-hero,.services-hero,.offers-hero,.wallet-hero){background-size:100% 100%,auto 100%;background-image:linear-gradient(90deg,#1a2a3b 0%,#1a2a3bf5 30%,#1a2a3bb3 51%,transparent 82%),var(--hero-photo)}
:root[data-theme=dark] .inside :is(.inicio-hero h1,.inicio-hero p,.services-hero h1,.services-hero p,.offers-hero h1,.offers-hero p,.wallet-hero h1,.wallet-hero p){max-width:56%}
}
/* Revision 37.2: unified surfaces and feathered photography. */
:root[data-theme=dark]{--line:#304457}
:root[data-theme=dark] .inside :is(.sidebar-brand .access-logo img.dark-brand,.interior-brand img.dark-brand){width:156.4%!important}
:root[data-theme=dark] .inside :is(.inicio-hero,.services-hero,.offers-hero,.wallet-hero){position:relative;isolation:isolate;overflow:hidden;background:var(--panel)}
:root[data-theme=dark] .inside :is(.inicio-hero,.services-hero,.offers-hero,.wallet-hero)::before{content:'';position:absolute;inset:0 0 0 30%;z-index:-1;pointer-events:none;background:var(--hero-photo) right center/auto 115% no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 65%);mask-image:linear-gradient(90deg,transparent 0%,#000 65%)}
:root[data-theme=dark] .inside .offers-hero::before{background-position:right 42%}
:root[data-theme=dark] .inside .community-hero-photo{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}
:root[data-theme=dark] .inside .home-feature:after{background:linear-gradient(90deg,var(--panel) 24%,#1a2a3be6 45%,transparent 90%)}
:root[data-theme=dark] .inside .profile-panel{box-sizing:border-box;max-width:740px;padding:36px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
:root[data-theme=dark] .inside .profile-panel h1{margin:0 0 12px}
:root[data-theme=dark] .inside .profile-panel .profile-section-title{font:500 16px/1.5 Arial,sans-serif;color:var(--soft);margin:32px 0 16px}
:root[data-theme=dark] .inside .profile-panel dl{margin:16px 0 22px;gap:14px 20px}
:root[data-theme=dark] .inside .profile-panel dt{color:var(--soft)}
:root[data-theme=dark] .inside .profile-panel form{margin-top:24px}
:root[data-theme=dark] .inside .profile-panel :is(select,input:not([type=checkbox])){box-sizing:border-box;background:var(--night);border:1px solid #42566a;border-radius:12px;min-height:48px}
:root[data-theme=dark] .inside .profile-panel #profilePhoto[hidden]{display:none}
:root[data-theme=dark] .inside .profile-panel .profile-photo-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
:root[data-theme=dark] .inside .profile-panel .profile-photo-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
:root[data-theme=dark] .inside .profile-panel .muted{font-size:14px;line-height:1.65;margin:16px 0 28px}
:root[data-theme=dark] .inside .profile-panel .check-label{margin:28px 0}
:root[data-theme=dark] .inside .profile-panel #saveProfile{margin-top:8px}
:root[data-theme=dark] .inside .profile-panel #profileMessage:empty{display:none}
:root[data-theme=dark] .inside .reward-summary.is-empty{background:var(--panel);border-color:var(--line)}
:root[data-theme=dark] .inside .reward-summary.is-empty h2{color:var(--soft)}
:root[data-theme=dark] .inside .reward-completed{padding:24px;border:1px solid var(--line);border-radius:18px}
:root[data-theme=dark] .inside .reward-completed .reward-history-row{margin-top:0;padding:18px 0;border-color:#304457}
:root[data-theme=dark] .inside .reward-history-row>div>p{color:var(--soft);margin:8px 0}
:root[data-theme=dark] .inside .reward-history-row:last-child{border-bottom:0}
:root[data-theme=dark] .inside :is(.community-carousel,.shell>nav){scrollbar-width:thin;scrollbar-color:#4a6073 transparent}
:root[data-theme=dark] .inside :is(.community-carousel,.shell>nav)::-webkit-scrollbar{width:6px;height:6px}
:root[data-theme=dark] .inside :is(.community-carousel,.shell>nav)::-webkit-scrollbar-thumb{background:#4a6073;border-radius:6px}
@media(min-width:901px){
:root[data-theme=dark] .inside .shell>nav button{padding-top:12px;padding-bottom:12px}
:root[data-theme=dark] .inside .shell>nav{gap:8px}
}
@media(max-width:700px){
:root[data-theme=dark] .inside :is(.inicio-hero,.services-hero,.offers-hero,.wallet-hero)::before{left:28%;background-size:auto 100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 75%);mask-image:linear-gradient(90deg,transparent,#000 75%)}
:root[data-theme=dark] .inside .community-hero-photo{-webkit-mask-image:linear-gradient(180deg,transparent,#000 24%);mask-image:linear-gradient(180deg,transparent,#000 24%)}
:root[data-theme=dark] .inside .profile-panel{padding:24px 20px;border-radius:18px;margin:12px 0;width:100%}
:root[data-theme=dark] .inside .profile-panel dl{grid-template-columns:1fr;gap:6px}
:root[data-theme=dark] .inside .profile-panel .profile-photo-controls{gap:16px}
:root[data-theme=dark] .inside .profile-panel #saveProfile{width:100%}
:root[data-theme=dark] .inside .reward-completed{padding:20px 16px}
}

/* 37.3: accessible icons and masks tied to the actual 3:2 photograph. */
:root[data-theme=dark] .inside :is(.reward-category-icon,.explore-icon){color:var(--text)}
@media(min-width:701px){
:root[data-theme=dark] .inside :is(.inicio-hero,.services-hero,.offers-hero,.wallet-hero)::before{inset:auto 0 auto auto;top:-7.5%;height:115%;width:auto;aspect-ratio:3/2;background-size:100% 100%;background-position:center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#0003 16%,#0009 36%,#000 60%);mask-image:linear-gradient(90deg,transparent 0%,#0003 16%,#0009 36%,#000 60%)}
}

/* Same card outline as offers; keep service child panels seamless. */
:root[data-theme=dark] .inside .service-pair{background:var(--panel);border-color:var(--line)}
:root[data-theme=dark] .inside .service-category,:root[data-theme=dark] .inside .service-popular{background:transparent}

/* Home image remains a photo layer, blending into the dark panel. */
:root[data-theme=dark] .inside .inicio-hero{--inicio-surface:var(--panel);background:var(--inicio-surface)}
:root[data-theme=dark] .inside .inicio-hero::before{inset:0 0 0 35%;top:0;width:auto;height:100%;aspect-ratio:auto;background:url('inicio-inclusive.png') right center/auto 100% no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%)}
:root[data-theme=dark] .inside .inicio-hero h1,:root[data-theme=dark] .inside .inicio-hero>p{max-width:44%}
@media(max-width:700px){
 :root[data-theme=dark] .inside .inicio-hero::before{left:36%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%)}
 :root[data-theme=dark] .inside .inicio-hero h1{max-width:43%}
 :root[data-theme=dark] .inside .inicio-hero>p{max-width:42%}
}

@media(max-width:700px){
 :root[data-theme=dark] .inside .inicio-hero::before{inset:0;width:100%;height:100%;background-size:auto 100%;background-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 23%,#0002 35%,#0008 48%,#000e 62%,#000 76%);mask-image:linear-gradient(90deg,transparent 0%,transparent 23%,#0002 35%,#0008 48%,#000e 62%,#000 76%)}
 :root[data-theme=dark] .inside .inicio-hero h1{max-width:43%}
 :root[data-theme=dark] .inside .inicio-hero>p{max-width:41%}
}
