/* Claims share layout and behavior; their palette follows the active shop theme. */
body:not(.admin-root) {
 --claims-page:#f7faff; --claims-gradient-start:#f7fbff; --claims-gradient-end:#e8f2ff;
 --claims-text:#233b56; --claims-decoration:#d9e7fa; --claims-icon-background:#deecff;
 --claims-accent:#086bdc; --claims-eyebrow:#45688f; --claims-heading:#142b49;
 --claims-muted:#61748d; --claims-border:#d9e5f4; --claims-selected:#f0f5fc;
 --claims-hover-shadow:#086bdc20; --claims-focus-shadow:#086bdc24;
}
body.shop-theme-greenshinebee:not(.admin-root) {
 --claims-page:#f7f6f1; --claims-gradient-start:#fafbf6; --claims-gradient-end:#edf2e9;
 --claims-text:#405846; --claims-decoration:#dce3d7; --claims-icon-background:#e2eddc;
 --claims-accent:#2c6243; --claims-eyebrow:#527858; --claims-heading:#204c36;
 --claims-muted:#617064; --claims-border:#dce3d7; --claims-selected:#edf2e9;
 --claims-hover-shadow:#2c624320; --claims-focus-shadow:#2c624324;
}

/* The footer opens a CMS content page, separate from the account forms below.
   Preserve its saved HTML and translations, normalize only this page's host. */
body.store-page-shop-page:has(.dn-claim-page):not(.admin-root) { --store-page-bg:var(--claims-page) !important; background:var(--claims-page) !important; }
body.store-page-shop-page:not(.admin-root) .dn-claim-page,
body.store-page-shop-page:not(.admin-root) .dn-claim-page :is(.page-designer-content,.content-page) {
 border:0 !important; border-radius:0 !important; box-shadow:none !important;
 background:transparent !important; backdrop-filter:none !important;
 min-height:0 !important; min-block-size:0 !important; padding:0 !important;
}
body.store-page-shop-page:not(.admin-root) .dn-claim-page { width:100% !important; max-width:none !important; margin:24px auto 48px !important; color:var(--claims-text) !important; }
body.store-page-shop-page:not(.admin-root) .dn-claim-page .content-page { width:100% !important; max-width:none !important; inline-size:100% !important; max-inline-size:none !important; margin:0 !important; }
body.store-page-shop-page:not(.admin-root) .dn-claim-page .dn-claim-landing {
 position:relative; isolation:isolate; overflow:hidden; width:calc(100% - 32px) !important;
 max-width:1180px !important; margin:0 auto !important; min-height:184px !important;
 padding:36px 300px 36px 124px !important; border:0 !important; border-radius:26px !important;
 background:linear-gradient(115deg,var(--claims-gradient-start),var(--claims-gradient-end)) !important; color:var(--claims-text) !important;
 box-shadow:none !important; backdrop-filter:none !important;
}
.dn-claim-landing::after { content:""; position:absolute; z-index:-1; pointer-events:none; width:280px; height:280px; border:1px solid var(--claims-decoration); border-radius:50%; right:-90px; top:-140px; }
.dn-claim-landing-icon { position:absolute; left:38px; top:50%; transform:translateY(-50%); width:60px; height:60px; display:grid; place-items:center; border-radius:20px; background:var(--claims-icon-background); color:var(--claims-accent); }
.dn-claim-landing-icon svg { width:28px; height:28px; }
body.store-page-shop-page:not(.admin-root) .dn-claim-landing .dn-claim-landing-eyebrow { margin:0 0 8px; color:var(--claims-eyebrow) !important; font:800 11px/1.4 system-ui; letter-spacing:.1em; text-transform:uppercase; }
body.store-page-shop-page:not(.admin-root) .dn-claim-landing h1 { margin:0 0 10px !important; color:var(--claims-heading) !important; font:700 clamp(24px,2.2vw,30px)/1.2 system-ui !important; letter-spacing:-.025em; }
body.store-page-shop-page:not(.admin-root) .dn-claim-landing p { color:var(--claims-muted); font-size:14px; line-height:1.7; margin:0; }
body.store-page-shop-page:not(.admin-root) .dn-claim-landing a.btn-primary {
 position:absolute; right:38px; top:50%; transform:translateY(-50%); display:inline-flex; align-items:center; gap:16px;
 min-height:46px; padding:12px 24px; border:0 !important; border-radius:999px !important;
 background:var(--claims-heading) !important; color:#fff !important; box-shadow:none !important; text-decoration:none;
 transition:background-color 180ms ease,box-shadow 180ms ease;
}
.dn-claim-landing a.btn-primary::after { content:"→"; font-size:20px; line-height:1; }
body.store-page-shop-page:not(.admin-root) .dn-claim-landing a.btn-primary:hover { background:var(--claims-accent) !important; box-shadow:0 8px 20px var(--claims-hover-shadow) !important; }
.dn-claim-landing a:focus-visible { outline:3px solid var(--claims-accent); outline-offset:4px; }
/* A saved GreenShineBee card already places its button in a responsive grid. */
body.shop-theme-greenshinebee.store-page-shop-page:not(.admin-root) .dn-claim-landing .gsb-guest-claim a.btn-primary {
 position:static; transform:none;
}
body.shop-theme-greenshinebee.store-page-shop-page:not(.admin-root) .dn-claim-landing .gsb-guest-claim a.btn-primary::after { content:none; }
@media(max-width:999px) {
 body.store-page-shop-page:not(.admin-root) .dn-claim-page .dn-claim-landing { padding:28px !important; }
 .dn-claim-landing-icon { position:static; transform:none; margin-bottom:18px; }
 body.store-page-shop-page:not(.admin-root) .dn-claim-landing a.btn-primary { position:static; transform:none; margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) { .dn-claim-landing a.btn-primary { transition:none !important; } }
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) {
 --ui-heading:var(--claims-heading); --ui-text:var(--claims-text); --ui-muted:var(--claims-muted);
 --ui-accent:var(--claims-accent); --ui-link:var(--claims-accent); --store-page-bg:var(--claims-page) !important;
 background:var(--claims-page) !important; color:var(--claims-text);
}
body.shop-theme-greenshinebee:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) .claim-page-icon {
 background:var(--claims-icon-background); color:var(--claims-accent);
}
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) :is(.theme-universal-main,.claim-page,.claim-page-shell,.auth-page,.auth-card,.claim-form,.claim-product-summary,.claim-type-picker,.claim-question,.claim-customer-strip,.claim-submit) {
 border:0 !important; border-radius:0 !important; box-shadow:none !important;
 background:transparent !important; backdrop-filter:none !important;
}
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) .theme-universal-main { min-width:0; }
body.store-page-account-guestclaims:not(.admin-root) .auth-page { padding:clamp(28px,5vw,64px) 0 !important; }
body.store-page-account-guestclaims:not(.admin-root) .auth-card { padding:clamp(16px,3vw,32px) !important; }
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) h1 {
 font-family:Georgia,"Times New Roman",serif !important; font-size:clamp(28px,3vw,42px) !important;
 font-weight:500 !important; line-height:1.18; letter-spacing:-.025em; color:var(--claims-heading) !important;
}
body.store-page-account-claim:not(.admin-root) .claim-page-shell { width:min(1180px,100%); padding:32px clamp(16px,2vw,28px) 64px !important; }
body.store-page-account-claim:not(.admin-root) .claim-submit { padding:16px 0; }
body.store-page-account-claim:not(.admin-root) .claim-submit p { color:var(--claims-muted) !important; }
body.store-page-account-claim:not(.admin-root) .claim-layout { grid-template-columns:minmax(220px,.75fr) minmax(0,2fr); gap:clamp(24px,4vw,64px); }
body.store-page-account-claim:not(.admin-root) .claim-product-summary { padding:0; }
body.store-page-account-claim:not(.admin-root) .claim-form { padding:0 !important; gap:28px; }
body.store-page-account-claim:not(.admin-root) :is(.claim-type-picker,.claim-question) { padding:0; min-width:0; }
body.store-page-account-claim:not(.admin-root) .claim-customer-strip { padding:12px 0; gap:16px; }
body.store-page-account-claim:not(.admin-root) .claim-customer-strip div { border:0; padding:0; min-width:0; }
body.store-page-account-claim:not(.admin-root) .claim-customer-strip strong { overflow:visible; overflow-wrap:anywhere; }
body.store-page-account-claim:not(.admin-root) :is(.claim-type-picker label > span,.claim-option-grid > label,.claim-option-grid span) {
 border:0 !important; box-shadow:none !important; border-radius:12px !important;
 background:var(--claims-selected) !important; color:var(--claims-text) !important;
 transition:background-color 180ms ease,transform 180ms ease;
}
body.store-page-account-claim:not(.admin-root) .claim-type-picker input:checked + span,
body.store-page-account-claim:not(.admin-root) .claim-option-grid input:checked + span { background:var(--claims-gradient-end) !important; color:var(--claims-accent) !important; }
body.store-page-account-claim:not(.admin-root) :is(.claim-type-picker,.claim-option-grid) label:hover > span { background:var(--claims-gradient-end) !important; transform:translateY(-2px); }
body.store-page-account-claim:not(.admin-root) :is(.claim-type-picker,.claim-option-grid) input:focus-visible + span { outline:2px solid var(--claims-accent); outline-offset:3px; }
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) :is(.form-control,.form-select) {
 min-height:46px; background:#fff !important; color:var(--claims-text) !important;
 border:1px solid var(--claims-border) !important; border-radius:12px !important;
 transition:border-color 180ms ease,box-shadow 180ms ease;
}
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) :is(.form-control,.form-select):focus {
 border-color:var(--claims-accent) !important; box-shadow:0 0 0 3px var(--claims-focus-shadow) !important;
}
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) .btn-primary {
 min-height:46px; border:0 !important; border-radius:999px !important;
 background:var(--claims-heading) !important; color:#fff !important; box-shadow:none !important;
 transition:background-color 180ms ease,transform 180ms ease;
}
body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) .btn-primary:hover { background:var(--claims-accent) !important; transform:translateY(-1px); }
body.store-page-account-guestclaims:not(.admin-root) .auth-card > div.border { border:0 !important; background:transparent !important; padding:16px 0 !important; }
@media(max-width:820px) {
 body.store-page-account-claim:not(.admin-root) .claim-layout { grid-template-columns:minmax(0,1fr); }
 body.store-page-account-claim:not(.admin-root) .claim-product-summary { position:static; }
}
@media(max-width:600px) {
 body.store-page-account-claim:not(.admin-root) .claim-page-shell { width:100%; padding:24px 16px 48px !important; }
 body.store-page-account-claim:not(.admin-root) .claim-page-head { grid-template-columns:1fr; }
 body.store-page-account-claim:not(.admin-root) .claim-submit { align-items:stretch; flex-direction:column; }
 body.store-page-account-claim:not(.admin-root) .claim-submit button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 body:is(.store-page-account-claim,.store-page-account-guestclaims):not(.admin-root) * { transition:none !important; animation:none !important; transform:none !important; }
}
