/* Birthday landing only. Local Lucide masks share the panel's rendering approach. */
body.xcart-front-route-birthday_greeting { background:#fff; }
.xcl--birthday_greeting { --ink:#183a30; --muted:#53665d; --line:#e1e9e3; }
.xcart_site_page--birthday_greeting .xcart_front_breadcrumb { margin-bottom:12px; }
.xcl--birthday_greeting .xcl-birthday-icon { display:inline-block; width:22px; height:22px; flex:0 0 22px; background:currentColor; -webkit-mask:var(--birthday-icon) center / contain no-repeat; mask:var(--birthday-icon) center / contain no-repeat; vertical-align:middle; }
.xcl--birthday_greeting .xcl-hero { grid-template-columns:1.08fr 1fr; gap:64px; padding:24px 0 76px; }
.xcl--birthday_greeting .xcl-hero-copy { padding-block:16px; }
.xcl--birthday_greeting .xcl-product-name { font-size:17px; font-weight:400; margin-bottom:16px; }
.xcl--birthday_greeting .xcl-hero h1 { font-size:clamp(38px,3.4vw,49px); line-height:1.5; letter-spacing:-.5px; }
.xcl--birthday_greeting .xcl-lead { max-width:500px; font-size:18px; line-height:1.95; margin-top:20px; }
.xcl--birthday_greeting .xcl-actions { gap:22px; margin-top:28px; }
.xcl--birthday_greeting .xcl-button { min-height:54px; padding:13px 23px; border-radius:10px; gap:20px; transition:background .16s ease,box-shadow .16s ease; box-shadow:0 3px 0 #065540; }
.xcl--birthday_greeting .xcl-button:hover { text-decoration:none; box-shadow:0 4px 12px #123c3026; }
.xcl--birthday_greeting .xcl-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.xcl--birthday_greeting .xcl-text-link .xcl-birthday-icon { width:17px; height:17px; flex-basis:17px; }
.xcl--birthday_greeting .xcl-hero-note { border-top:1px solid var(--line); padding-top:17px; margin-top:26px; font-size:13px; color:var(--muted); }
.xcl--birthday_greeting .xcl-birthday-demo { background:#eef5f0; border:1px solid #dce7de; border-radius:22px; padding:28px; box-shadow:0 24px 48px -36px #1f55424d; }
.xcl--birthday_greeting .xcl-demo-head { margin-bottom:20px; gap:12px; }
.xcl--birthday_greeting .xcl-demo-head .xcl-icon-box { background:#fff; color:var(--green); border:1px solid #dae5dd; border-radius:13px; width:48px; height:48px; }
.xcl--birthday_greeting .xcl-demo-head .xcl-birthday-icon { width:27px; height:27px; flex-basis:27px; }
.xcl--birthday_greeting .xcl-demo-head strong { font-size:18px; }
.xcl--birthday_greeting .xcl-sample { border:0; background:#dfeae2; color:#466150; padding:3px 9px; border-radius:6px; }
.xcl--birthday_greeting .xcl-birthday-date { gap:16px; margin:0 0 20px; padding:0 0 20px; }
.xcl--birthday_greeting .xcl-date-leaf { min-width:74px; border-radius:9px; }
.xcl--birthday_greeting .xcl-date-leaf > span:first-child { font-size:13px; padding:1px 8px; }
.xcl--birthday_greeting .xcl-date-leaf > strong { font-size:34px; padding:2px 8px; line-height:1.25; }
.xcl--birthday_greeting .xcl-date-leaf > span:last-child { font-size:9px; padding-bottom:6px; }
.xcl--birthday_greeting .xcl-birthday-date > div:last-child strong { font-size:21px; }
.xcl--birthday_greeting .xcl-birthday-date > div:last-child span { font-size:12px; }
.xcl--birthday_greeting .xcl-choice-row { display:grid; grid-template-columns:1fr 1fr; padding:4px; gap:4px; background:#e1ebe4; border-radius:11px; margin-bottom:18px; }
.xcl--birthday_greeting .xcl-choice-row button { display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:8px; min-height:44px; padding:7px 9px; font-size:14px; color:#4e6658; transition:background .16s ease; }
.xcl--birthday_greeting .xcl-choice-row button[aria-pressed="true"] { background:#fff; color:#08694f; border-color:#d2dfd5; box-shadow:0 2px 4px #243f3010; font-weight:700; }
.xcl--birthday_greeting .xcl-choice-row .xcl-birthday-icon { width:18px; height:18px; flex-basis:18px; }
.xcl--birthday_greeting .xcl-message { background:#fff; border:1px solid #dce7df; padding:24px; border-radius:13px; margin:0; box-shadow:0 4px 10px #22492e05; }
.xcl--birthday_greeting .xcl-message-label { display:flex; align-items:center; gap:8px; color:#547062; margin-bottom:14px; }
.xcl--birthday_greeting .xcl-message-label .xcl-birthday-icon { width:16px; height:16px; flex-basis:16px; }
.xcl--birthday_greeting .xcl-message h2 { font-size:26px; margin-bottom:12px; }
.xcl--birthday_greeting .xcl-message p { font-size:16px; line-height:1.85; }
.xcl--birthday_greeting .xcl-message p + p { margin-top:14px; }
.xcl--birthday_greeting .xcl-birthday-code { display:inline-block; font:600 13px/1.6 sans-serif; letter-spacing:.6px; color:#08694f; background:#eff5ef; border:1px solid #d6e4d8; border-radius:5px; padding:2px 7px; }
.xcl--birthday_greeting .xcl-scenario { margin-bottom:0; }
.xcl--birthday_greeting .xcl-birthday-personal { font-size:13px; margin:16px 0; }
.xcl--birthday_greeting .xcl-birthday-gift { margin:16px 0; gap:12px; }
.xcl--birthday_greeting .xcl-birthday-gift .xcl-icon-box { background:#e0ebe3; color:var(--green); width:40px; height:40px; border-radius:10px; }
.xcl--birthday_greeting .xcl-birthday-gift strong { font-size:15px; }
.xcl--birthday_greeting .xcl-demo-note { border-top:1px solid #d7e3da; padding-top:13px; margin-top:0; font-size:11px; line-height:1.9; color:#56705f; }
.xcl--birthday_greeting .xcl-section { padding:64px 0; }
.xcl--birthday_greeting .xcl-section h2 { font-size:34px; line-height:1.6; letter-spacing:-.2px; }
.xcl--birthday_greeting .xcl-section p { font-size:17px; line-height:1.95; }
.xcl--birthday_greeting .xcl-section .xcl-eyebrow { font-size:14px; margin:0 0 12px; }
.xcl--birthday_greeting .xcl-birthday-data-section { background:#f7faf7; border:1px solid var(--line); border-radius:18px; padding:40px; grid-template-columns:1.15fr .85fr; gap:50px; margin-bottom:12px; }
.xcl--birthday_greeting .xcl-birthday-source { background:#fff; padding:26px; border-radius:12px; box-shadow:0 8px 22px #204a2905; }
.xcl--birthday_greeting .xcl-birthday-source-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; background:#edf4ef; border-radius:10px; margin-bottom:14px; }
.xcl--birthday_greeting .xcl-birthday-source h3 { font-size:21px; margin:6px 0 20px; }
.xcl--birthday_greeting .xcl-birthday-source dl > div { padding:13px 0; font-size:16px; }
.xcl--birthday_greeting .xcl-birthday-source p { font-size:12px; line-height:1.9; margin-top:13px; }
.xcl--birthday_greeting .xcl-birthday-flow-section { border-top:0; }
.xcl--birthday_greeting .xcl-section-heading { text-align:center; margin:0 auto 36px; max-width:720px; }
.xcl--birthday_greeting .xcl-section-heading .xcl-eyebrow { justify-content:center; }
.xcl--birthday_greeting .xcl-methods { gap:32px; }
.xcl--birthday_greeting .xcl-methods article { border-inline-start:0; border-top:1px solid var(--line); padding:24px 0 0; }
.xcl--birthday_greeting .xcl-birthday-step-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.xcl--birthday_greeting .xcl-birthday-step-icon { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:#edf4ef; color:var(--green); }
.xcl--birthday_greeting .xcl-number { font:400 14px/1.7 var(--xcart-site-font-family,'Kalameh',sans-serif); margin:0; color:#698173; }
.xcl--birthday_greeting .xcl-methods h3 { font-size:21px; }
.xcl--birthday_greeting .xcl-methods p { font-size:16px; }
.xcl--birthday_greeting .xcl-section-note { text-align:center; font-size:12px; padding-top:18px; margin-top:28px; }
.xcl--birthday_greeting .xcl-birthday-gift-section { padding:40px; background:#f8f7f2; border:1px solid #e9e7dc; border-radius:18px; gap:50px; margin-bottom:6px; }
.xcl--birthday_greeting .xcl-setting-list li { display:grid; grid-template-columns:32px 1fr; column-gap:12px; padding:17px 0; border-color:#e4e3d8; }
.xcl--birthday_greeting .xcl-setting-list li:last-child { border-bottom:0; }
.xcl--birthday_greeting .xcl-setting-list .xcl-birthday-icon { grid-row:1 / 3; align-self:start; margin-top:4px; color:#50705c; width:23px; height:23px; }
.xcl--birthday_greeting .xcl-setting-list strong { font-size:17px; }
.xcl--birthday_greeting .xcl-setting-list span:not(.xcl-birthday-icon) { grid-column:2; font-size:14px; line-height:1.8; margin-top:4px; }
.xcl--birthday_greeting .xcl-control { border-top:0; gap:64px; }
.xcl--birthday_greeting .xcl-control-items article { position:relative; padding-inline-start:38px; }
.xcl--birthday_greeting .xcl-control-items article > .xcl-birthday-icon { position:absolute; inset-inline-start:0; top:5px; color:var(--green); }
.xcl--birthday_greeting .xcl-control-items article + article > .xcl-birthday-icon { top:30px; }
.xcl--birthday_greeting .xcl-control-items p { font-size:16px; }
.xcl--birthday_greeting .xcl-faq { gap:64px; padding:56px 0; }
.xcl--birthday_greeting .xcl-faq > div:first-child { align-self:start; position:sticky; top:110px; }
.xcl--birthday_greeting .xcl-faq h2 { font-size:32px; }
.xcl--birthday_greeting .xcl-faq summary { font-size:17px; min-height:64px; padding:18px 0; }
.xcl--birthday_greeting .xcl-faq summary .xcl-birthday-icon { width:18px; height:18px; flex-basis:18px; transition:transform .16s ease; }
.xcl--birthday_greeting .xcl-faq details[open] { border-bottom-color:#8bb49a; }
.xcl--birthday_greeting .xcl-faq details p { line-height:1.95; }
.xcl--birthday_greeting .xcl-bottom { background:#174d3a; border:0; border-radius:16px; padding:36px 40px; margin:10px 0 28px; gap:30px; }
.xcl--birthday_greeting .xcl-bottom h2 { color:#fff; font-size:28px; }
.xcl--birthday_greeting .xcl-bottom p { color:#d1e3d8; font-size:16px; }
.xcl--birthday_greeting .xcl-bottom .xcl-button { color:#154b38; background:#fff; box-shadow:none; }
.xcl--birthday_greeting .xcl-bottom .xcl-button:hover { background:#eaf3ed; }
.xcl--birthday_greeting .xcl-related { font-size:13px; gap:12px 22px; padding-bottom:40px; }
@media (max-width:1100px) {
    .xcl--birthday_greeting .xcl-hero { gap:32px; }
    .xcl--birthday_greeting .xcl-hero h1 { font-size:39px; }
    .xcl--birthday_greeting .xcl-birthday-demo { padding:22px; }
    .xcl--birthday_greeting .xcl-birthday-data-section,.xcl--birthday_greeting .xcl-birthday-gift-section { padding:30px; gap:30px; }
    .xcl--birthday_greeting .xcl-section h2 { font-size:30px; }
    .xcl--birthday_greeting .xcl-message h2 { font-size:24px; }
}
@media (max-width:800px) {
    .xcl--birthday_greeting .xcl-hero { grid-template-columns:1fr; gap:30px; padding:12px 0 44px; }
    .xcl--birthday_greeting .xcl-hero-copy { padding:0; }
    .xcl--birthday_greeting .xcl-lead { max-width:620px; }
    .xcl--birthday_greeting .xcl-birthday-demo { max-width:580px; }
    .xcl--birthday_greeting .xcl-birthday-data-section,.xcl--birthday_greeting .xcl-birthday-gift-section { grid-template-columns:1fr; }
    .xcl--birthday_greeting .xcl-section { padding-block:44px; }
    .xcl--birthday_greeting .xcl-birthday-data-section,.xcl--birthday_greeting .xcl-birthday-gift-section { padding:30px; }
    .xcl--birthday_greeting .xcl-methods { gap:20px; }
    .xcl--birthday_greeting .xcl-methods h3 { font-size:19px; }
    .xcl--birthday_greeting .xcl-control { gap:28px; }
    .xcl--birthday_greeting .xcl-faq { gap:24px; padding:42px 0; }
    .xcl--birthday_greeting .xcl-faq > div:first-child { position:static; }
    .xcl--birthday_greeting .xcl-bottom { padding:30px; }
}
@media (max-width:540px) {
    .xcart_site_page--birthday_greeting { padding:88px 20px 0; }
    .xcart_site_page--birthday_greeting .xcart_front_breadcrumb { font-size:11px; margin-bottom:18px; }
    .xcl--birthday_greeting .xcl-hero { gap:26px; padding-top:4px; }
    .xcl--birthday_greeting .xcl-hero .xcl-eyebrow { font-size:12px; margin-bottom:10px; }
    .xcl--birthday_greeting .xcl-product-name { font-size:15px; margin-bottom:12px; }
    .xcl--birthday_greeting .xcl-hero h1 { font-size:clamp(27px,8.1vw,36px); line-height:1.5; letter-spacing:-.25px; }
    .xcl--birthday_greeting .xcl-lead { font-size:16px; line-height:1.9; margin-top:16px; }
    .xcl--birthday_greeting .xcl-actions { display:flex; align-items:center; gap:8px 18px; margin-top:20px; }
    .xcl--birthday_greeting .xcl-button { width:100%; min-height:52px; justify-content:space-between; font-size:16px; padding:12px 18px; }
    .xcl--birthday_greeting .xcl-actions .xcl-text-link { margin-inline:auto; font-size:13px; }
    .xcl--birthday_greeting .xcl-hero-note { font-size:11px; margin-top:12px; padding-top:13px; text-align:center; }
    .xcl--birthday_greeting .xcl-birthday-demo { padding:18px; border-radius:17px; }
    .xcl--birthday_greeting .xcl-demo-head { gap:9px; margin-bottom:18px; }
    .xcl--birthday_greeting .xcl-demo-head strong { font-size:16px; }
    .xcl--birthday_greeting .xcl-demo-head > div > span { font-size:10px; }
    .xcl--birthday_greeting .xcl-demo-head .xcl-icon-box { width:40px; height:40px; border-radius:11px; }
    .xcl--birthday_greeting .xcl-demo-head .xcl-birthday-icon { width:24px; height:24px; flex-basis:24px; }
    .xcl--birthday_greeting .xcl-sample { padding:2px 6px; font-size:9px; }
    .xcl--birthday_greeting .xcl-birthday-date { margin-bottom:16px; padding-bottom:16px; }
    .xcl--birthday_greeting .xcl-choice-row button { font-size:12px; gap:6px; }
    .xcl--birthday_greeting .xcl-choice-row .xcl-birthday-icon { width:16px; height:16px; flex-basis:16px; }
    .xcl--birthday_greeting .xcl-message { padding:18px; }
    .xcl--birthday_greeting .xcl-message h2 { font-size:23px; }
    .xcl--birthday_greeting .xcl-message p { font-size:15px; }
    .xcl--birthday_greeting .xcl-birthday-personal { font-size:12px; }
    .xcl--birthday_greeting .xcl-demo-note { font-size:10px; }
    .xcl--birthday_greeting .xcl-section h2 { font-size:27px; }
    .xcl--birthday_greeting .xcl-section p { font-size:16px; line-height:1.95; }
    .xcl--birthday_greeting .xcl-section .xcl-eyebrow { font-size:12px; }
    .xcl--birthday_greeting .xcl-birthday-data-section,.xcl--birthday_greeting .xcl-birthday-gift-section { padding:24px 20px; border-radius:14px; gap:24px; }
    .xcl--birthday_greeting .xcl-birthday-source { padding:20px; }
    .xcl--birthday_greeting .xcl-birthday-source h3 { font-size:19px; }
    .xcl--birthday_greeting .xcl-birthday-source p { font-size:12px; }
    .xcl--birthday_greeting .xcl-section-heading { text-align:right; margin-bottom:24px; }
    .xcl--birthday_greeting .xcl-section-heading .xcl-eyebrow { justify-content:flex-start; }
    .xcl--birthday_greeting .xcl-methods { grid-template-columns:1fr; gap:24px; }
    .xcl--birthday_greeting .xcl-methods article { position:relative; padding:20px 58px 0 0; }
    .xcl--birthday_greeting .xcl-birthday-step-head { margin-bottom:8px; }
    .xcl--birthday_greeting .xcl-birthday-step-icon { position:absolute; right:0; top:21px; width:40px; height:40px; border-radius:10px; }
    .xcl--birthday_greeting .xcl-methods h3 { font-size:20px; }
    .xcl--birthday_greeting .xcl-methods p { font-size:15px; }
    .xcl--birthday_greeting .xcl-section-note { text-align:right; font-size:11px; line-height:1.9; padding-top:0; }
    .xcl--birthday_greeting .xcl-setting-list li { padding:15px 0; }
    .xcl--birthday_greeting .xcl-control-items article { padding-inline-start:34px; }
    .xcl--birthday_greeting .xcl-control-items h3 { font-size:20px; }
    .xcl--birthday_greeting .xcl-control-items p { font-size:15px; }
    .xcl--birthday_greeting .xcl-faq h2 { font-size:28px; }
    .xcl--birthday_greeting .xcl-faq summary { font-size:16px; padding:18px 0; }
    .xcl--birthday_greeting .xcl-bottom { padding:26px 22px; gap:22px; border-radius:14px; }
    .xcl--birthday_greeting .xcl-bottom h2 { font-size:27px; }
    .xcl--birthday_greeting .xcl-bottom p { font-size:15px; }
    .xcl--birthday_greeting .xcl-related { font-size:12px; gap:10px 18px; }
}
@media (prefers-reduced-motion:reduce) {
    .xcl--birthday_greeting .xcl-button,.xcl--birthday_greeting .xcl-choice-row button,.xcl--birthday_greeting .xcl-faq summary .xcl-birthday-icon { transition:none; }
}
