/* Progressive layer for the native birthday form. The selects remain the no-JS form control. */
.lio-happiness__help { margin-block-end: 16px; }
.lio-happiness__help > summary { cursor: pointer; list-style: none; border-radius: 12px; }
.lio-happiness__help > summary::-webkit-details-marker { display: none; }
.lio-happiness__help > summary::marker { content: ''; }
.lio-happiness__help > summary h2 { align-items: center; display: flex; justify-content: space-between; gap: 12px; margin: 0; min-block-size: 44px; }
.lio-happiness__help-mark { align-items: center; background: var(--lio-profile-surface, #efefef); border: 1px solid #fff; border-radius: 50%; box-shadow: 4px 4px 10px #00000012, -4px -4px 10px #fff; color: var(--lio-happiness-red, #8e1d1d); display: inline-flex; flex: 0 0 44px; font-size: 22px; font-weight: 700; justify-content: center; block-size: 44px; }
.lio-happiness__help[open] .lio-happiness__help-mark { box-shadow: inset 3px 3px 7px #00000012, inset -3px -3px 7px #fff; }
.lio-happiness__help > summary:focus-visible { outline: 3px solid #92595b80; outline-offset: 4px; }
.lio-happiness__help-content { color: var(--lio-happiness-muted, #756a6b); line-height: 1.9; padding-block-start: 8px; overflow-wrap: anywhere; }
.lio-happiness__help-content p { margin-block: 8px; }
.lio-happiness__preferences-form { display: grid; gap: 16px; min-inline-size: 0; }
.lio-happiness__preferences-form > p { margin: 0; min-inline-size: 0; }
.lio-happiness__preferences-form > p > label { display: block; margin-block-end: 7px; }
.lio-happiness__team-custom-label { margin-block-start: 10px; }
.lio-happiness__preferences-form > p > label[hidden] { display: none; }
.lio-happiness__preference-options label { font-size: 14px; }
.lio-happiness [data-lio-birthday-summary]:empty, .lio-happiness [data-lio-birthday-correction]:empty { display: none; }
.lio-happiness__preferences-form input[type=text], .lio-happiness__preferences-form select { background: var(--lio-profile-surface, #efefef); border: 1px solid #fff; border-radius: 13px; box-shadow: inset 3px 3px 7px #00000010, inset -3px -3px 7px #fff; box-sizing: border-box; color: inherit; font: inherit; font-size: 16px; inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; min-block-size: 44px; padding: 10px; }
.lio-happiness__preferences-form fieldset { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.lio-happiness__preferences-form legend { padding: 0; margin-block-end: 8px; }
.lio-happiness__preference-options { display: flex; flex-wrap: wrap; gap: 8px; }
.lio-happiness__preference-options label { align-items: center; border: 1px solid #ded6d7; border-radius: 12px; cursor: pointer; display: inline-flex; gap: 8px; min-block-size: 44px; padding-inline: 12px; }
.lio-happiness__preference-options input { accent-color: var(--lio-happiness-red, #8e1d1d); block-size: 18px; inline-size: 18px; margin: 0; }
.lio-happiness__preferences-form input:focus-visible, .lio-happiness__preferences-form select:focus-visible { outline: 3px solid #92595b80; outline-offset: 3px; }
.lio-happiness__optional { color: var(--lio-happiness-muted, #756a6b); font-size: 14px; }
.lio-happiness {
  --lio-happiness-burgundy: #92595b;
  --lio-happiness-red: #8e1d1d;
  --lio-happiness-ink: #3c3031;
  --lio-happiness-muted: #756a6b;
  color: var(--lio-happiness-ink);
  direction: rtl;
}
.lio-happiness__intro { color: var(--lio-happiness-muted); line-height: 1.9; margin: 0 0 16px; }
.lio-happiness__card { background: #f7f7f7; border: 1px solid #fff; border-radius: 22px; box-shadow: 0 8px 24px rgba(73, 40, 42, .08); padding: clamp(16px, 5vw, 24px); }
.lio-happiness__actions, .lio-happiness__picker-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.lio-happiness .button { min-height: 44px; border-radius: 12px; border: 1px solid var(--lio-happiness-burgundy); background: var(--lio-happiness-burgundy); color: #fff; font: inherit; padding: 9px 16px; }
.lio-happiness .button:focus-visible, .lio-happiness__wheel-list:focus-visible { outline: 3px solid rgba(146, 89, 91, .42); outline-offset: 3px; }
.lio-happiness__notice { color: var(--lio-happiness-red); line-height: 1.8; margin: 12px 0 0; }
.lio-happiness__date-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.lio-happiness__date-inputs > p { margin: 0; min-width: 0; min-inline-size: 0; }
.lio-happiness__date-inputs label, .lio-happiness__wheel-heading { color: var(--lio-happiness-muted); display: block; font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.lio-happiness__date-inputs select, .lio-happiness__date-inputs input { background: #fff; border: 1px solid #d8ced0; border-radius: 12px; box-sizing: border-box; color: var(--lio-happiness-ink); font: inherit; max-inline-size: 100%; min-block-size: 44px; min-inline-size: 0; padding-inline: 7px; width: 100%; }
.lio-happiness__wheels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.lio-happiness__wheel-column { min-width: 0; position: relative; }
.lio-happiness__wheel-heading { height: 24px; line-height: 24px; white-space: nowrap; }
.lio-happiness__wheel-column::before { background: rgba(146, 89, 91, .1); border-block: 1px solid rgba(146, 89, 91, .28); box-sizing: border-box; content: ''; height: 44px; inset: 54px 0 auto; pointer-events: none; position: absolute; z-index: 1; }
.lio-happiness__wheel-list { block-size: 88px; border: 1px solid #e1d9da; border-radius: 14px; box-sizing: border-box; overflow-y: auto; overscroll-behavior: contain; padding-block: 21px; scroll-snap-type: y mandatory; scrollbar-width: thin; background: #fff; }
.lio-happiness__wheel-option { align-items: center; block-size: 44px; box-sizing: border-box; cursor: pointer; display: flex; justify-content: center; padding-inline: 6px; scroll-snap-align: center; text-align: center; white-space: nowrap; }
.lio-happiness__wheel-option.is-selected { color: var(--lio-happiness-red); font-weight: 700; }
.lio-happiness__wheel-option.is-disabled { color: #b8b1b2; cursor: not-allowed; }
.lio-happiness__native-field--hidden { display: none !important; }
.lio-happiness .lio-happiness__picker-actions { margin-top: 12px; }
@media (max-width: 359px) {
  .lio-happiness__wheels { gap: 5px; }
  .lio-happiness__wheel-option { font-size: 13px; }
  .lio-happiness__card { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .lio-happiness__wheel-list { scroll-behavior: auto; }
}

/* Explicit-start progressive flow. Direct cards remain the no-JS alternative. */
.lio-happiness dialog[data-lio-happiness-dialog] { background: #f8f8f8; border: 1px solid #fff; border-radius: 22px; box-shadow: 0 20px 70px rgba(47, 27, 29, .3); box-sizing: border-box; color: var(--lio-happiness-ink); inline-size: min(560px, calc(100vw - 24px)); margin: auto; max-block-size: calc(100dvh - 24px); max-inline-size: calc(100vw - 24px); overflow: auto; overscroll-behavior: contain; padding: 0; }
.lio-happiness dialog[data-lio-happiness-dialog]::backdrop { background: rgba(49, 29, 31, .56); }
.lio-happiness__flow-inner { display: grid; gap: 16px; max-block-size: calc(100dvh - 24px); overflow: auto; overscroll-behavior: contain; padding: clamp(16px, 5vw, 26px); }
.lio-happiness__dialog-header { align-items: start; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 18px; }
.lio-happiness__dialog-header h2 { font-size: clamp(19px, 5vw, 25px); line-height: 1.5; margin: 0; }
.lio-happiness dialog[data-lio-happiness-dialog] { padding: clamp(14px, 4vw, 22px); }
.lio-happiness > .lio-happiness__card + .lio-happiness__card { margin-top: 20px; }
.lio-happiness button[data-lio-flow-close] { align-items: center; background: #fff; border: 1px solid #ded6d7; border-radius: 12px; color: var(--lio-happiness-red); display: inline-flex; flex: 0 0 auto; justify-content: center; min-block-size: 44px; min-inline-size: 44px; padding: 8px; }
.lio-happiness button[data-lio-flow-close]:focus-visible, .lio-happiness__flow-skip:focus-visible { outline: 3px solid rgba(146, 89, 91, .42); outline-offset: 3px; }
.lio-happiness [data-lio-flow-question] > .lio-happiness__card { box-shadow: none; padding: 0; }
.lio-happiness [data-lio-flow-confirmation] { background: #fff; border: 1px solid #ebe4e4; border-radius: 16px; padding: 18px; }
.lio-happiness__flow-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.lio-happiness .button.lio-happiness__flow-skip, .lio-happiness .button.lio-happiness__secondary { background: #fff; color: var(--lio-happiness-burgundy); }
.lio-happiness__occasion-list { display: grid; gap: 14px; list-style: none; margin: 18px 0 0; padding: 0; }
.lio-happiness__occasion { background: #fff; border: 1px solid #e4dcdc; border-radius: 16px; min-width: 0; padding: 16px; }
.lio-happiness__occasion-form { display: grid; gap: 14px; min-inline-size: 0; }
.lio-happiness__occasion-form > p { margin: 0; min-inline-size: 0; }
.lio-happiness__occasion-form > p > label { display: block; margin-bottom: 7px; }
.lio-happiness__occasion-form > p > input, .lio-happiness__occasion-form > p > select { background: #fff; border: 1px solid #d8ced0; border-radius: 12px; box-sizing: border-box; color: var(--lio-happiness-ink); font: inherit; max-inline-size: 100%; min-block-size: 44px; min-inline-size: 0; padding-inline: 7px; width: 100%; }
.lio-happiness__occasion-form .lio-happiness__date-inputs { margin: 0; }
@media (max-width: 359px) {
  .lio-happiness dialog[data-lio-happiness-dialog] { inline-size: calc(100vw - 16px); max-block-size: calc(100dvh - 16px); }
  .lio-happiness__flow-inner { max-block-size: calc(100dvh - 16px); padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .lio-happiness dialog[data-lio-happiness-dialog], .lio-happiness dialog[data-lio-happiness-dialog]::backdrop { animation: none; transition: none; }
}

/* The existing account endpoint supplies these tokens on the live page. Keep
 * the standalone preview and progressive dialog on the same profile surface. */
body.lio-account-happiness, body.lio-account-happiness .main-page-wrapper { background: #fff; }
body.lio-account-happiness .woocommerce-MyAccount-content { background: transparent; border: 0; box-shadow: none; }
.lio-happiness {
  --lio-happiness-surface: var(--lio-ae-surface, #ececec);
  --lio-happiness-ink: var(--lio-ae-ink, #202020);
  --lio-happiness-muted: var(--lio-ae-muted, #696969);
  --lio-happiness-red: var(--lio-ae-accent, #8e1d1d);
  --lio-happiness-shadow-out: -5px -5px 10px rgba(255,255,255,.9), 5px 5px 10px rgba(190,190,190,.62);
  --lio-happiness-shadow-in: inset 4px 4px 8px rgba(184,190,204,.42), inset -4px -4px 8px rgba(255,255,255,.92);
}
.lio-happiness__card, .lio-happiness__occasion, .lio-happiness [data-lio-flow-confirmation] {
  background: var(--lio-happiness-surface);
  border-color: rgba(255,255,255,.65);
  box-shadow: var(--lio-happiness-shadow-in);
}
.lio-happiness .button, .lio-happiness .button.lio-happiness__flow-skip,
.lio-happiness .button.lio-happiness__secondary, .lio-happiness button[data-lio-flow-close] {
  align-items: center; background: var(--lio-happiness-surface); border: 1px solid transparent;
  border-radius: 13px; box-shadow: var(--lio-happiness-shadow-out); color: var(--lio-happiness-red);
  cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 700; justify-content: center;
  line-height: 1.6; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease;
}
.lio-happiness .button:hover { transform: translateY(-1px); }
.lio-happiness .button:active { box-shadow: var(--lio-happiness-shadow-in); transform: translateY(0); }
.lio-happiness__date-inputs select, .lio-happiness__date-inputs input,
.lio-happiness__occasion-form > p > input, .lio-happiness__occasion-form > p > select,
.lio-happiness__wheel-list {
  background: var(--lio-happiness-surface); border-color: rgba(105,105,105,.16);
  border-radius: 13px; box-shadow: var(--lio-happiness-shadow-in);
}
.lio-happiness__date-inputs select, .lio-happiness__date-inputs input,
.lio-happiness__occasion-form > p > input, .lio-happiness__occasion-form > p > select { font-size: 16px; }
.lio-happiness dialog[data-lio-happiness-dialog] {
  background: var(--lio-happiness-surface); border-radius: 26px;
  box-shadow: -8px -8px 18px rgba(255,255,255,.3), 9px 10px 28px rgba(80,80,80,.3);
}
.lio-happiness [data-lio-flow-question] > .lio-happiness__card { border: 0; }
.lio-happiness__intro [data-lio-happy-direct-link] { align-items: center; color: var(--lio-happiness-red); display: inline-flex; min-height: 44px; }
@media (prefers-reduced-motion: reduce) {
  .lio-happiness .button { transition: none; }
  .lio-happiness .button:hover { transform: none; }
}

/* Playful message cards: native checkboxes remain the only selection state. */
.lio-message-preferences { margin-block: 32px; scroll-margin-top: 18px; }
.lio-message-preferences .lio-message-preferences__studio { background: #fff; border: 0; box-shadow: none; padding: 8px 12px 24px; }
.lio-message-preferences svg { display: block; inline-size: 32px; block-size: 32px; }
.lio-message-preferences__hero { text-align: center; padding-block: 6px 26px; }
#lio-message-preferences .lio-message-preferences__hero h2 { color: var(--lio-happiness-ink); font-size: clamp(25px, 6vw, 32px); font-weight: 800; letter-spacing: -.8px; margin: 8px 0; }
#lio-message-preferences .lio-message-preferences__hero p { color: var(--lio-happiness-muted); font-size: 13px; line-height: 1.9; margin: 0; }
.lio-message-preferences__eyebrow { color: #835457; font-size: 12px; }
.lio-message-preferences__mail-art { position: relative; inline-size: 160px; block-size: 124px; margin: 0 auto 8px; }
.lio-message-preferences__letter { display: grid; place-items: center; position: absolute; inset: 20px 32px 10px 18px; background: var(--lio-happiness-surface); border: 1px solid #fff; border-radius: 22px 22px 30px 22px; box-shadow: var(--lio-happiness-shadow-out); transform: rotate(-9deg); color: #92595b; }
.lio-message-preferences__letter::before { content: ''; position: absolute; inset: 7px; border: 1px dashed rgba(146,89,91,.27); border-radius: 16px 16px 24px 16px; }
.lio-message-preferences__letter svg { inline-size: 66px; block-size: 66px; }
.lio-message-preferences__stamp { position: absolute; right: 0; top: 4px; display: grid; place-content: center; inline-size: 49px; block-size: 56px; background: #f4eeee; border: 3px solid #fff; border-radius: 12px; color: #92595b; font: 700 10px/1.5 Arial,sans-serif; letter-spacing: 1px; transform: rotate(12deg); box-shadow: 2px 3px 8px #dfd9d9; z-index: 1; }
.lio-message-preferences__little-heart { position: absolute; bottom: 6px; right: 12px; display: grid; place-items: center; inline-size: 42px; block-size: 42px; border-radius: 50%; background: #fff; box-shadow: 2px 3px 10px #ddd; transform: rotate(12deg); color: #92595b; }
.lio-message-preferences__little-heart svg { inline-size: 22px; block-size: 22px; }
.lio-message-preferences__form { display: grid; gap: 20px; min-inline-size: 0; }
#lio-message-preferences .lio-message-preferences__categories { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.lio-message-preferences__categories legend { float: none; color: var(--lio-happiness-ink); font-size: 15px; font-weight: 700; padding: 0; }
#lio-message-preferences .lio-message-preferences__card-hint { color: var(--lio-happiness-muted); font-size: 12px; margin: 4px 0 18px; line-height: 1.8; }
.lio-message-preferences__card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#lio-message-preferences .lio-message-preferences__topic { display: block; min-inline-size: 0; margin: 0; position: relative; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.lio-message-preferences__topic input, .lio-message-preferences__switch input { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: 0; opacity: 0; clip-path: inset(50%); overflow: hidden; }
.lio-message-preferences__tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-block-size: 161px; block-size: 100%; padding: 18px 10px 14px; border: 1px solid #f8f8f8; border-radius: 24px; background: var(--lio-happiness-surface); box-shadow: var(--lio-happiness-shadow-out); text-align: center; transition: transform .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease; }
.lio-message-preferences__topic-icon { display: grid; place-items: center; inline-size: 57px; block-size: 57px; margin-bottom: 12px; border-radius: 20px; background: var(--lio-happiness-surface); color: #696969; box-shadow: var(--lio-happiness-shadow-in); transition: transform .28s cubic-bezier(.2,.8,.2,1.5), color .2s ease; }
.lio-message-preferences__topic:nth-child(2n) .lio-message-preferences__topic-icon { border-radius: 50%; }
.lio-message-preferences__tile strong { display: block; font-size: 14px; font-weight: 700; line-height: 1.7; }
.lio-message-preferences__caption { color: var(--lio-happiness-muted); font-size: 11px; line-height: 1.8; margin-top: 3px; }
.lio-message-preferences__pick { position: absolute; inset-inline-start: 11px; top: 11px; display: grid; place-items: center; inline-size: 22px; block-size: 22px; border: 1px solid #b6b6b6; border-radius: 50%; color: #fff; }
.lio-message-preferences__pick svg { inline-size: 17px; block-size: 17px; opacity: 0; transform: scale(.5); transition: opacity .16s ease, transform .22s ease; }
.lio-message-preferences__topic input:checked + .lio-message-preferences__tile { background: #f0e9e9; border-color: #a57779; box-shadow: inset 3px 3px 8px rgba(155,123,125,.18), inset -3px -3px 8px #fff; }
.lio-message-preferences__topic input:checked + .lio-message-preferences__tile .lio-message-preferences__pick { background: #92595b; border-color: #92595b; }
.lio-message-preferences__topic input:checked + .lio-message-preferences__tile .lio-message-preferences__pick svg { opacity: 1; transform: scale(1); }
.lio-message-preferences__topic input:checked + .lio-message-preferences__tile .lio-message-preferences__topic-icon { color: #8e4d51; transform: rotate(-7deg) scale(1.06); }
.lio-message-preferences__topic input:checked + .lio-message-preferences__tile strong { color: #764348; }
.lio-message-preferences__topic input:focus-visible + .lio-message-preferences__tile { outline: 3px solid #92595b; outline-offset: 4px; }
.lio-message-preferences__delivery { background: #f6f6f6; border-radius: 22px; padding: 16px; margin-top: 4px; }
#lio-message-preferences .lio-message-preferences__delivery-title { font-size: 14px; font-weight: 700; margin: 0 0 8px; }
#lio-message-preferences .lio-message-preferences__switch { position: relative; display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; gap: 12px; cursor: pointer; min-block-size: 52px; margin: 0; font-size: 13px; }
.lio-message-preferences__switch-track { flex: 0 0 auto; display: block; position: relative; inline-size: 48px; block-size: 28px; border-radius: 18px; background: #dedede; box-shadow: inset 2px 2px 4px #c5c5c5, inset -2px -2px 4px #fff; transition: background .18s ease; }
.lio-message-preferences__switch-track::after { content: ''; position: absolute; top: 4px; right: 4px; inline-size: 20px; block-size: 20px; border-radius: 50%; background: #fff; box-shadow: 1px 2px 4px #b3b3b3; transition: transform .18s ease; }
.lio-message-preferences__switch input:checked + .lio-message-preferences__switch-track { background: #92595b; box-shadow: inset 2px 2px 5px #784448; }
.lio-message-preferences__switch input:checked + .lio-message-preferences__switch-track::after { transform: translateX(-20px); box-shadow: 1px 2px 4px #784448; }
.lio-message-preferences__switch input:focus-visible + .lio-message-preferences__switch-track { outline: 3px solid #92595b; outline-offset: 4px; }
#lio-message-preferences .lio-message-preferences__delivery-note { font-size: 11px; line-height: 1.9; color: var(--lio-happiness-muted); margin: 8px 0 0; }
#lio-message-preferences .lio-message-preferences__selection-note { color: #835457; font-size: 12px; line-height: 1.9; text-align: center; margin: 0; }
.lio-message-preferences .lio-message-preferences__actions { display: grid; gap: 14px; margin: 0; }
#lio-message-preferences .button.lio-message-preferences__save { min-block-size: 52px; border-radius: 18px; gap: 12px; font-size: 15px; }
.lio-message-preferences__save > span { font-size: 23px; line-height: 1; }
#lio-message-preferences .button.lio-message-preferences__pause { background: #fff; box-shadow: none; border: 1px solid #ded6d6; font-size: 12px; font-weight: 400; }
#lio-message-preferences .lio-message-preferences__footnote { color: var(--lio-happiness-muted); font-size: 11px; text-align: center; line-height: 1.9; margin: 0; }
.lio-message-preferences__alert { background: #f6f2f2; border: 1px solid #dcc9ca; border-radius: 16px; color: var(--lio-happiness-red); line-height: 1.8; margin: 14px 0; padding: 12px 16px; }
@media (hover: hover) {
  .lio-message-preferences__topic:hover .lio-message-preferences__tile { transform: translateY(-3px); }
}
@media (max-width: 359px) {
  .lio-message-preferences .lio-message-preferences__studio { padding-inline: 5px; }
  .lio-message-preferences__card-grid { gap: 12px; }
  .lio-message-preferences__tile { padding-inline: 7px; }
  .lio-message-preferences__tile strong { font-size: 12px; }
  .lio-message-preferences__caption { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .lio-message-preferences__tile, .lio-message-preferences__topic-icon, .lio-message-preferences__pick svg,
  .lio-message-preferences__switch-track, .lio-message-preferences__switch-track::after { transition: none; }
  .lio-message-preferences__topic:hover .lio-message-preferences__tile { transform: none; }
}

/* Preserve the native hidden state against button and wheel layout rules. */
.lio-happiness [hidden] { display: none !important; }

/* Dashboard invitation: questions become visible when moved into the dialog. */
.lio-happiness--dashboard > :not(.lio-happiness__intro):not(dialog) { display: none; }
.lio-happiness--dashboard .lio-happiness__intro > p:not([data-lio-flow-status]) { display: none; }
.lio-happiness--dashboard .lio-happiness__intro h1 { font-size: 18px; margin: 0 0 12px; }
.lio-happiness--dashboard { margin-block: 16px; }

/* Compact dashboard invitation and vertical-only birthday wheels. */
.lio-happiness__wheel-list { overflow-x: hidden; touch-action: pan-y; overscroll-behavior-x: none; }
.lio-happiness--dashboard .lio-happiness__intro h1,
.lio-happiness--dashboard [data-lio-flow-status],
.lio-happiness--dashboard [data-lio-happy-start] { display: none !important; }
.lio-happiness--dashboard .lio-happiness__actions { margin: 0; }
.lio-gift-dialog { border:1px solid #eadcde;border-radius:28px;padding:28px 24px;text-align:center;max-width:380px;width:calc(100% - 40px);box-sizing:border-box;color:#292526;background:#fff; }
.lio-gift-dialog::backdrop { background:rgba(30,15,20,.38);backdrop-filter:blur(5px); }
.lio-gift-dialog h2 { color:#861d28;font-size:25px;margin:12px 0; }
.lio-gift-dialog .button { display:inline-block;margin:6px;padding:12px 18px;border-radius:16px; }
.lio-gift-note { font-size:13px;color:#777; }
.lio-gift-art { position:relative;height:110px;display:grid;place-items:center; }
.lio-gift-art span { font-size:68px;animation:lio-gift-pop .8s ease-out both; }
.lio-gift-art i { position:absolute;color:#a77b36;top:20px;left:22%;font-size:25px;animation:lio-gift-spark 1.2s ease-out both; }
.lio-gift-art i:nth-of-type(2) { left:73%;top:55px;animation-delay:.1s; }
.lio-gift-art i:nth-of-type(3) { left:66%;top:4px;animation-delay:.2s; }
@keyframes lio-gift-pop { from { opacity:0;transform:translateY(20px) scale(.5) rotate(-12deg); } to { opacity:1;transform:translateY(0) scale(1) rotate(0); } }
@keyframes lio-gift-spark { from { opacity:0;transform:scale(.3); } 65% { opacity:1;transform:scale(1.3); } to { opacity:1;transform:scale(1); } }
@media(prefers-reduced-motion:reduce) { .lio-gift-art * { animation:none!important; } }

.lio-happiness [data-lio-choice-native] { display:none!important; }
.lio-choice-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:10px 3px 16px; }
.lio-happiness .lio-choice-tile { white-space:normal;min-height:60px;padding:14px 10px;margin:0;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:#ededed;color:#63383d;box-shadow:6px 6px 13px #d5d5d5,-6px -6px 13px #fff;font:inherit;font-weight:600;line-height:1.7;cursor:pointer;transition:background .15s,color .15s; }
.lio-happiness .lio-choice-tile[aria-checked="true"] { background:#861d28;color:#fff;border-color:#861d28;box-shadow:inset 2px 2px 5px #63131c,2px 4px 9px rgba(134,29,40,.2); }
.lio-happiness .lio-choice-tile:focus-visible { outline:2px solid #861d28;outline-offset:4px; }
.lio-gift-dialog { background:#ededed;box-shadow:12px 12px 30px rgba(0,0,0,.15),inset 1px 1px 0 #fff; }

.lio-native-choices{border:0!important;margin:0;padding:0;min-width:0}
.lio-native-choice{position:relative;display:block!important;margin:0!important;cursor:pointer;touch-action:manipulation}
.lio-native-choice input[type=radio]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;margin:0!important;z-index:2;cursor:pointer;display:block!important;appearance:auto!important}
.lio-native-choice span{display:flex;align-items:center;justify-content:center;min-height:62px;padding:12px;border-radius:18px;background:#ededed;color:#63383d;box-shadow:6px 6px 13px #d5d5d5,-6px -6px 13px #fff;border:1px solid #fff}
.lio-native-choice input:checked+span{background:#861d28;color:#fff;box-shadow:inset 2px 2px 5px #63131c}
.lio-native-choice input:focus-visible+span{outline:2px solid #861d28;outline-offset:3px}
.lio-native-team-other{display:none!important}
.lio-native-choices:has(input[value="سایر"]:checked) .lio-native-team-other{display:block!important;margin-top:16px}
.lio-native-choices legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.lio-native-team-other{padding:18px;border:1px solid rgba(255,255,255,.9);border-radius:20px;background:#ededed;color:#63383d;font-size:15px;line-height:1.8;box-shadow:5px 5px 14px #d8d8d8,-5px -5px 14px #fff}
.lio-native-team-other input[type=text]{box-sizing:border-box;width:100%;min-height:52px;margin-top:10px;padding:12px 16px;border:1px solid transparent;border-radius:15px;background:#ededed;color:#382a2c;font:inherit;box-shadow:inset 4px 4px 8px #d4d4d4,inset -4px -4px 8px #fff;outline:none}
.lio-native-team-other input[type=text]:focus{border-color:#861d28;box-shadow:inset 3px 3px 7px #d4d4d4,inset -3px -3px 7px #fff,0 0 0 3px rgba(134,29,40,.08)}
.lio-native-team-other input::placeholder{color:#96878a;font-size:14px}
/* Compact saved profile summaries retain the existing birthday-card spacing. */
.lio-happiness__gifts p{font-size:14px;line-height:1.9;margin:10px 0}
.lio-happiness__gifts .lio-happiness__help{margin-top:16px}
.lio-happiness__saved-choice>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;padding:14px 0;cursor:pointer;font-weight:600}
.lio-happiness__saved-choice>summary::-webkit-details-marker{display:none}
.lio-happiness__saved-choice>summary>span:first-child{color:#8c2428}
.lio-happiness__edit-label{font-size:13px;font-weight:400;color:#8c2428;border:1px solid #fff;border-radius:12px;padding:8px 16px;min-height:44px;box-sizing:border-box;box-shadow:3px 3px 9px #00000009,-3px -3px 9px #fff}
.lio-happiness__saved-choice[open]>summary{margin-bottom:16px}
.lio-happiness__occasion-list:has(+form){margin-bottom:20px}
.lio-happiness__occasion-list .lio-happiness__occasion{background:transparent;box-shadow:none;border:0;padding:0}
.lio-happiness__occasion-list .lio-happiness__occasion h3{font-size:17px}

/* Saved occasion controls share the same touch target regardless of link/form markup. */
.lio-happiness__occasion .lio-happiness__actions{display:grid;grid-template-columns:repeat(2,minmax(0,104px));align-items:stretch;gap:12px}
.lio-happiness__occasion .lio-happiness__actions>form{margin:0;display:flex}
.lio-happiness__occasion .lio-happiness__actions .button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;inline-size:100%;block-size:48px;min-block-size:48px;margin:0;padding:0 14px;line-height:1.25}
