/* Approved template composition; existing brand assets and live palette retained. */
:root { color-scheme: dark; --lm-radius: 14px; }
body { line-height: 1.55; }
h1,h2,h3,h4 { text-wrap: balance; }
button,input,select,textarea { font: inherit; }
button,a,input,select,textarea { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--lm-accent) !important; outline-offset: 4px; }
.lm-skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; padding: 12px; background: var(--lm-accent); color: #111; }
.lm-skip-link:focus { top: 12px; }
.lm-spa-main { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
.lm-appbar { gap: 12px; }
.lm-desktop-nav { display: none; }
.lm-bottom-nav { grid-template-columns: repeat(5,minmax(0,1fr)); padding-bottom: env(safe-area-inset-bottom); }
.lm-bottom-nav__item { min-width: 0; min-height: 66px; font-size: .72rem; }
.lm-bottom-nav__item.active { background: linear-gradient(0deg,rgba(246,191,69,.09),transparent); box-shadow: inset 0 2px var(--lm-accent); }
.lm-page-title { margin: 16px 0 24px; }
.lm-page-title h1 { font-size: clamp(1.65rem,4vw,2.3rem); font-weight: 800; letter-spacing: -.035em; }
.lm-page-title p,.lm-section-copy { color: var(--lm-muted); max-width: 65ch; }
.lm-home-welcome { border: 1px solid var(--lm-border); border-radius: var(--lm-radius); padding: 20px; background: radial-gradient(ellipse at top right,rgba(246,191,69,.09),transparent 70%),var(--lm-surface); }
.lm-home-welcome h1 { font-size: clamp(1.5rem,4vw,2rem); }
.lm-home-welcome__eyebrow { color: var(--lm-accent); }
.lm-member-overview,.lm-plan-card,.lm-form-card,.lm-profile-section,.lm-auth-card,.lm-state,.lm-admin-card { border-radius: var(--lm-radius); border: 1px solid var(--lm-border); }
.lm-search { border-radius: 12px; min-height: 48px; }
.lm-search:focus-within { border-color: var(--lm-accent); }
.lm-search input { min-height: 32px; font-size: 1rem; }
.lm-search-label { display:block; font-size:.85rem; color:var(--lm-muted); margin-bottom:6px; }
.lm-filter-bar { display:flex; flex-wrap:wrap; gap:12px; padding: 0 0 20px; align-items:end; }
.lm-filter-bar label { display:grid; gap:6px; flex:1 1 140px; font-size:.85rem; color:var(--lm-muted); }
.lm-filter-bar select,.lm-filter-bar input { width:100%; min-height:44px; border:1px solid var(--lm-border); border-radius:10px; padding:8px 12px; color:var(--lm-text); background:var(--lm-surface); }
.lm-filter-chip,.lm-admin-filter { min-height:44px; }
.lm-product-card,.lm-product-row { position:relative; cursor:default; border-radius:12px; background:linear-gradient(145deg,rgba(255,255,255,.025),transparent),var(--lm-surface); }
.lm-card-title-link:hover { color:var(--lm-accent); text-decoration:underline; }
.lm-card-body { min-width:0; }
.lm-card-body h3 { font-size:1.05rem; line-height:1.35; }
.lm-card-action.btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; white-space:normal; }
.lm-card-footer { gap:10px; }
.lm-fav-button { min-width:44px; min-height:44px; }
.lm-product-row { grid-template-columns:96px minmax(0,1fr); }
.lm-product-row .lm-card-media { min-height:150px; }
.lm-product-row .lm-card-body { padding:12px; }
.lm-product-row .lm-card-body p { -webkit-line-clamp:2; }

.lm-product-row .lm-card-action.btn { padding:8px 12px; font-size:.8rem; }
.lm-price-stack strong { color:var(--lm-accent); font-size:1rem; }
.lm-benefit-summary { padding:16px; margin:20px 0; border:1px solid rgba(246,191,69,.28); border-radius:12px; background:rgba(246,191,69,.045); }
.lm-benefit-summary h2 { font-size:1.1rem; color:var(--lm-accent); }
.lm-benefit-summary p:last-child { margin-bottom:0; }
.lm-detail-body { min-width:0; }
.lm-detail-description { overflow-wrap:anywhere; }
.lm-detail-cta { position:sticky; bottom:calc(76px + env(safe-area-inset-bottom)); background:var(--lm-surface); border:1px solid var(--lm-border); padding:12px; border-radius:12px; z-index:5; }
.lm-detail-prices__title { font-size:1.15rem; }
.lm-detail-price-row { gap:12px; }
.lm-detail-price-row span { min-width:0; overflow-wrap:anywhere; }
.lm-detail-price-row strong { white-space:normal; }
.lm-detail-cover { align-self:start; }
.lm-category-card { border:1px solid var(--lm-border); border-radius:var(--lm-radius); }
.lm-category-card strong { text-shadow:0 2px 8px #000; }
.lm-form-card h2 { font-weight:800; }
.form-control:focus { color:var(--lm-text); background:var(--lm-surface); border-color:var(--lm-accent); }
.lm-benefit-voucher__details dd,.lm-profile-hero__email { overflow-wrap:anywhere; }
.lm-benefit-voucher__validation { flex-wrap:wrap; gap:16px; }
.lm-benefit-voucher__code-box { min-width:0; max-width:100%; }
.lm-vouchers__filters { flex-wrap:wrap; }
.lm-feedback { color:var(--lm-accent); min-height:1.5em; font-size:.9rem; }
.lm-agegate__card { border:1px solid rgba(246,191,69,.24); background:radial-gradient(ellipse at top,rgba(227,52,111,.08),transparent 65%),var(--lm-bg); border-radius:18px; max-height:calc(100dvh - 24px); overflow:auto; }
.lm-agegate__badge { box-shadow:0 0 40px rgba(227,52,111,.16); }
.lm-admin-shell { background:var(--lm-bg); }
.lm-admin-sidebar { border-right:1px solid var(--lm-border); }
.lm-admin-nav__item.active { color:var(--lm-accent); }
@media(min-width:992px) {
 .lm-desktop-nav { display:flex; align-items:center; gap:24px; }
 .lm-desktop-nav a { padding:10px 0; color:var(--lm-muted); }
 .lm-desktop-nav a.active { color:var(--lm-accent); }
 .lm-bottom-nav { display:none; }
 .lm-shell { padding-bottom:0; }
 .lm-spa-main { padding-top:28px; padding-bottom:56px; }
 .lm-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
 .lm-detail-cover { position:sticky; top:96px; }
 .lm-detail-cta { bottom:16px; }
 .lm-product-row { grid-template-columns:140px minmax(0,1fr); }
}
@media(max-width:359px) {
 .lm-appbar { padding:10px 12px; gap:8px; }
 .lm-brand { gap:4px; }
 .lm-brand img { width:28px; height:28px; }
 .lm-login-link { font-size:.8rem; }
 .lm-appbar-actions { gap:8px; }
 .lm-benefit-voucher__body { padding:14px; }
 .lm-benefit-voucher__code-box code { font-size:1.5rem; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
.lm-hero-pause { position:absolute; top:10px; right:10px; z-index:4; min-height:44px; border:1px solid var(--lm-border); border-radius:10px; background:rgba(14,16,20,.95); color:var(--lm-text); font-size:.8rem; padding:8px 12px; }
/* Existing darker action shade gives white text a 5.38:1 contrast ratio. */
.btn-primary { --bs-btn-bg:#c8275c; --bs-btn-border-color:#c8275c; --bs-btn-active-bg:#c8275c; --bs-btn-active-border-color:#c8275c; }
/* app.css also declares literal backgrounds; override those, not only Bootstrap variables. */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:disabled { background-color:#c8275c; border-color:#c8275c; color:#fff; }

/* Festas: one card per row, preserving each poster's natural proportions. */
.lm-event-list { grid-template-columns:minmax(0,1fr); }
.lm-event-list .lm-card-media { aspect-ratio:auto; display:flex; justify-content:center; align-items:center; }
.lm-event-list .lm-card-media img { display:block; width:auto; max-width:100%; height:auto; max-height:min(360px,45svh); object-fit:contain; }
.lm-event-list .lm-card-media::after { display:none; }

/* Feedback2793: each card is a sizing container. Price/CTA never compete for a narrow column. */
.lm-product-card,.lm-product-row { container-type:inline-size; }
.lm-card-footer,.lm-product-row .lm-card-footer {
 display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:12px; width:100%; min-width:0;
}
.lm-price-stack { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.lm-card-action.btn,.lm-product-row .lm-card-action.btn {
 width:100%; max-width:none; min-width:0; padding:10px 8px; line-height:1.35; overflow-wrap:anywhere;
}
.lm-product-card { display:flex; flex-direction:column; }
.lm-product-card > .lm-card-media { flex:none; }
.lm-card-body,.lm-product-row .lm-card-body { display:flex; flex-direction:column; height:auto; flex:1; }
.lm-card-body h3 { max-height:none; min-height:0; display:block; overflow:visible; }
.lm-card-body p { overflow-wrap:anywhere; }
.lm-card-footer { margin-top:auto; align-self:stretch; }
@container (min-width:26rem) {
 .lm-card-footer,.lm-product-row .lm-card-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
}
.lm-category-card { display:flex; align-items:end; min-height:150px; padding:16px; }
.lm-category-card strong { position:relative; inset:auto; overflow-wrap:anywhere; line-height:1.4; }
.lm-category-card:focus-visible,.lm-category-card:hover { border-color:var(--lm-accent); }
.lm-partner-invite { display:flex; gap:16px; padding:24px; margin-top:24px; border:1px solid var(--lm-border); border-radius:var(--lm-radius); background:radial-gradient(ellipse at top left,rgba(227,52,111,.12),transparent 70%),var(--lm-surface); }
.lm-partner-invite__logo { width:48px; height:60px; flex:0 0 48px; object-fit:contain; background:transparent; }
.lm-partner-invite>div { min-width:0; }
.lm-partner-invite h2,.lm-offer-request h2 { font-size:1.2rem; }
.lm-partner-invite p { color:var(--lm-muted); }
.lm-contextual-contact { display:grid; justify-items:start; gap:8px; }
.lm-contextual-contact a { max-width:100%; white-space:normal; overflow-wrap:anywhere; min-height:44px; padding:10px 20px; }
.lm-contextual-contact small { color:var(--lm-muted); }
.lm-offer-request { padding:20px; margin:24px 0; border:1px solid var(--lm-border); border-radius:var(--lm-radius); background:var(--lm-surface); }
.lm-detail-description h2,.lm-content-block h2 { font-size:1.2rem; margin-bottom:16px; }
.lm-detail-description p { line-height:1.75; }
.lm-detail-description,.lm-content-block { margin:24px 0; padding:20px; border:1px solid var(--lm-border); border-radius:var(--lm-radius); background:var(--lm-surface); overflow-wrap:anywhere; }
.lm-voucher-options { margin-block:24px; }
.lm-voucher-options summary { padding:12px 0; cursor:pointer; color:var(--lm-accent); }
.lm-detail-cta { position:static; display:grid; grid-template-columns:minmax(0,1fr); }
.lm-detail-price-row { flex-wrap:wrap; }
.lm-benefit-summary { overflow-wrap:anywhere; }
.lm-benefit-summary dl { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; margin-bottom:0; }
.lm-benefit-summary dt { color:var(--lm-muted); }
.lm-benefit-summary dd { margin-bottom:12px; }
.lm-bottom-nav__item span { width:100%; min-width:0; padding-inline:2px; text-align:center; overflow-wrap:anywhere; }
.lm-appbar { flex-wrap:wrap; }
.lm-spa-main { padding-bottom:calc(6rem + 24px + env(safe-area-inset-bottom)); }
@media(max-width:359px) { .lm-card-body { padding:10px; } .lm-partner-invite { padding:16px; gap:10px; } }

/* Privé visual / Discover organization — approved direction, locally hosted OFL fonts. */
@font-face { font-family:'DM Sans'; src:url('../fonts/DMSans-Variable.ttf') format('truetype'); font-weight:100 1000; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Serif Display'; src:url('../fonts/DMSerifDisplay-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
:root { --lm-bg:#111114; --lm-surface:#1c1c20; --lm-surface-2:#27272c; --lm-text:#f7f3f1; --lm-muted:#c5bec3; --lm-primary:#c62a43; --lm-accent:#ed8998; --lm-border:rgba(247,243,241,.14); --bs-body-font-family:'DM Sans',system-ui,sans-serif; --bs-body-color:var(--lm-text); --bs-body-bg:var(--lm-bg); }
html,body { font-family:'DM Sans',system-ui,sans-serif; background:var(--lm-bg); color:var(--lm-text); }
.lm-shell { background:var(--lm-bg); }
.lm-appbar,.lm-bottom-nav { background:rgba(17,17,20,.97); backdrop-filter:none; }
.lm-bottom-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
.lm-bottom-nav__item.active { background:rgba(198,42,67,.08); box-shadow:inset 0 2px var(--lm-primary); }
.lm-desktop-nav a.active { color:var(--lm-text); box-shadow:inset 0 -2px var(--lm-primary); }
.lm-brand { letter-spacing:-.03em; }
.lm-discover-intro { padding:clamp(24px,5vw,64px) 0 24px; max-width:760px; }
.lm-discover-eyebrow { font-size:.72rem; font-weight:600; letter-spacing:.12em; color:var(--lm-muted); }
.lm-discover-intro h1,.lm-page-title h1 { font-family:'DM Serif Display',Georgia,serif; font-weight:400; letter-spacing:-.025em; line-height:1.12; }
.lm-discover-intro h1 { font-size:clamp(2rem,5vw,3.5rem); margin-bottom:20px; }
.lm-discover-intro>p:not(.lm-discover-eyebrow) { color:var(--lm-muted); max-width:60ch; margin-bottom:24px; }
.lm-discover-intro .btn { min-height:48px; padding:12px 24px; border-radius:10px; white-space:normal; }
.lm-discover-shortcuts { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.lm-discover-shortcuts a { display:flex; gap:8px; align-items:center; min-height:46px; padding:10px 16px; background:var(--lm-surface-2); border:1px solid var(--lm-border); border-radius:10px; font-size:.9rem; }
.lm-discover-shortcuts a:hover { border-color:var(--lm-accent); }
.lm-home-welcome { background:var(--lm-surface); margin-bottom:24px; }
.lm-home-welcome h2 { font-size:1.25rem; margin:0 0 8px; }
.lm-section-head h2 { font-size:clamp(1.25rem,3vw,1.6rem); font-weight:600; letter-spacing:-.02em; }
.lm-product-card,.lm-product-row,.lm-partner-invite,.lm-agegate__card { background:var(--lm-surface); box-shadow:none; }
.lm-plan-card,.lm-form-card,.lm-profile-section,.lm-auth-card,.lm-state,.lm-benefit-summary { background:var(--lm-surface); }
.lm-benefit-summary { border-color:var(--lm-border); }
.lm-member-cta { background:var(--lm-surface-2); border:1px solid var(--lm-border); }
.btn-primary,.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary:disabled { background-color:#c62a43; border-color:#c62a43; color:#fff; --bs-btn-bg:#c62a43; --bs-btn-border-color:#c62a43; }
.btn-primary:hover { background-color:#ae2138; border-color:#ae2138; }
.btn-outline-warning { color:var(--lm-accent); border-color:var(--lm-accent); --bs-btn-hover-bg:#ed8998; --bs-btn-hover-border-color:#ed8998; --bs-btn-hover-color:#111114; }
.form-control,.form-select,.lm-input { background-color:var(--lm-surface); color:var(--lm-text); border-color:var(--lm-border); }
.form-control::placeholder { color:#aaa3a8; opacity:1; }
.lm-hero-card h3 { font-size:clamp(1.1rem,3vw,1.8rem); font-weight:600; }
.lm-chip-row { flex-wrap:wrap; }
.lm-profile-action { min-height:48px; }
@media(max-width:575px) { .lm-discover-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .lm-discover-shortcuts a { min-width:0; padding:10px; overflow-wrap:anywhere; } .lm-discover-intro .btn { width:100%; } }

.lm-welcome,.lm-alert-banner { background:var(--lm-surface); border-color:var(--lm-border); }
.lm-welcome__mark { background:var(--lm-surface-2); color:var(--lm-accent); box-shadow:none; }
.lm-welcome__card { border-color:var(--lm-border); box-shadow:none; }
.btn-warning { background:#c62a43; border-color:#c62a43; color:#fff; --bs-btn-hover-bg:#ae2138; --bs-btn-hover-border-color:#ae2138; --bs-btn-hover-color:#fff; }
.btn-warning:hover,.btn-warning:focus { background:#ae2138; border-color:#ae2138; color:#fff; }
.lm-price-stack strong,.lm-detail-price-row strong { color:var(--lm-text); }
.text-muted { color:var(--lm-muted) !important; }
/* Router focuses this non-interactive heading after navigation; controls retain visible focus. */
#discover-title[tabindex="-1"]:focus-visible { outline:none !important; }
/* Keep the approved poster area; let its separate caption grow at 200% text. */
.lm-hero-slider .lm-hero-track > .lm-hero-card { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:272px auto; height:auto; min-height:420px; }
.lm-hero-slider .lm-hero-picture--foreground { position:relative; inset:auto; width:100%; height:272px; grid-column:1; grid-row:1; }
.lm-hero-slider .lm-hero-picture--backdrop { top:0; right:0; bottom:auto; left:0; height:272px; }
.lm-hero-slider .lm-hero-card > div { position:relative; inset:auto; height:auto; min-height:148px; padding:16px 16px 36px; grid-column:1; grid-row:2; overflow-wrap:anywhere; }
.lm-hero-slider .lm-hero-arrow { top:136px; }
@media(min-width:768px) {
 .lm-hero-slider .lm-hero-track > .lm-hero-card { grid-template-columns:minmax(0,62fr) minmax(0,38fr); grid-template-rows:auto; min-height:320px; }
 .lm-hero-slider .lm-hero-picture--foreground { height:320px; align-self:center; }
 .lm-hero-slider .lm-hero-picture--backdrop { right:38%; height:100%; }
 .lm-hero-slider .lm-hero-card > div { grid-column:2; grid-row:1; min-height:320px; padding:28px 24px; }
 .lm-hero-slider .lm-hero-arrow { top:50%; }
}

/* Shared event details: registered content before selection, no raster changes. */
.lm-event-content { margin-block: 1.25rem; overflow-wrap: anywhere; }
.lm-event-content .lm-content-block { margin-block: 1.1rem; }
.lm-event-content h2 { font-size: 1.1rem; line-height: 1.5; margin-bottom: .6rem; }
.lm-event-content p { margin-bottom: .5rem; white-space: pre-wrap; }
.lm-event-content ul { padding-left: 1.4rem; margin-bottom: .5rem; }
.lm-event-content li { margin-bottom: .35rem; }
.lm-event-voucher { border: 1px solid var(--lm-border); border-radius: 1rem; margin-block: .75rem; overflow: hidden; }
.lm-event-voucher--selected { border-color: var(--lm-accent); }
.lm-event-voucher .lm-detail-price-row { border: 0; margin: 0; min-height: 48px; gap: .4rem .75rem; grid-template-columns: 24px minmax(0, 1fr); }
.lm-event-voucher .lm-detail-price-row > span { grid-column: 2; min-width: 0; overflow-wrap: break-word; }
.lm-event-voucher .lm-detail-price-row > strong { grid-column: 2; max-width: none; overflow-wrap: break-word; text-align: left; font-size: .9rem; }
.lm-event-voucher input { grid-column: 1; grid-row: 1 / span 2; min-width: 20px; min-height: 20px; align-self: start; margin-top: .3rem; }
.lm-event-voucher__conditions { padding: 0 1rem .75rem; overflow-wrap: anywhere; }
.lm-event-voucher__conditions p { margin-bottom: .45rem; white-space: pre-wrap; }
.lm-event-stock { color: var(--lm-accent); font-weight: 700; }
.lm-event-help { margin-block: 1.5rem; }
.lm-event-help summary { min-height: 44px; cursor: pointer; }

/* Telegram3028 — Benefit-first feed, original flyers, compact guided detail. */
.lm-party-card { border:1px solid var(--lm-border); border-radius:18px; padding:10px; overflow:hidden; background:var(--lm-surface); }
.lm-party-card .lm-card-media { position:relative; border-radius:12px; overflow:hidden; aspect-ratio:auto; display:flex; align-items:center; justify-content:center; background:var(--lm-bg); }
.lm-party-card .lm-card-media img { width:100%; height:auto; max-height:420px; object-fit:contain; display:block; }
.lm-party-card .lm-card-media::after { display:none; }
.lm-party-card .lm-card-body { padding:14px 6px 4px; }
.lm-party-card .lm-card-body::before { content:""; display:block; width:42px; height:3px; background:var(--lm-accent); margin-bottom:10px; }
.lm-party-card .lm-card-body h3 { font-family:"DM Serif Display",Georgia,serif; font-size:clamp(1.35rem,4vw,1.8rem); line-height:1.2; margin-bottom:12px; }
.lm-party-meta { display:grid; gap:6px; color:var(--lm-text); font-size:.9rem; margin-bottom:12px; overflow-wrap:anywhere; }
.lm-party-meta i { margin-right:6px; }
.lm-party-card .lm-party-invitation { border-top:1px solid var(--lm-border); padding-top:12px; margin-bottom:14px; color:var(--lm-muted); line-height:1.55; display:block; -webkit-line-clamp:unset; }
.lm-party-card .lm-card-footer { grid-template-columns:minmax(0,1fr); gap:12px; }
.lm-party-card .lm-party-price { font-size:.82rem; font-weight:500; line-height:1.5; white-space:normal; }
.lm-party-card .lm-card-action { border-radius:10px!important; gap:10px; }
.lm-party-benefit { top:8px; left:8px; right:auto; max-width:calc(100% - 76px); border-radius:9px; padding:5px 10px; font-size:.72rem; background:var(--lm-primary); color:#fff; }
.lm-party-card .lm-card-badge--danger { top:auto; bottom:8px; }
.lm-party-card .lm-fav-button { top:8px; right:8px; }
.lm-party-card.lm-product-row { display:flex; flex-direction:column; }
.lm-party-detail .lm-detail-cover { overflow:hidden; border-radius:14px; aspect-ratio:auto; max-height:none; }
.lm-party-flyer { display:block; width:100%; padding:0; border:0; background:var(--lm-surface); color:var(--lm-text); text-align:center; }
.lm-party-flyer .lm-detail-image { width:100%; height:auto; max-height:none; object-fit:contain; }
.lm-party-flyer > span { display:block; padding:10px; font-size:.85rem; }
.lm-party-location { color:var(--lm-muted); margin-top:10px; }
.lm-guide-section { border:1px solid var(--lm-border); border-radius:12px; padding:14px; margin-block:14px; overflow-wrap:anywhere; }
.lm-guide-section > h2 { display:flex; align-items:baseline; gap:8px; font-size:1.05rem; font-family:"DM Sans",sans-serif; }
.lm-guide-section > h2 > span { background:var(--lm-primary); color:#fff; border-radius:50%; padding:4px 6px; font-size:.7rem; flex-shrink:0; }
.lm-guide-invitation { font-family:inherit; font-size:1rem; line-height:1.6; }
.lm-guide-section--important li { margin-block:0.65rem; line-height:1.6; }
.lm-event-guide .lm-event-content { margin:0; }
.lm-event-guide .lm-content-block { border:0; background:none; padding:0; margin-block:10px; }
.lm-event-guide .lm-content-block h2 { font-family:inherit; font-size:.9rem; color:var(--lm-muted); margin-bottom:6px; }
.lm-event-guide .lm-content-block p,.lm-event-guide .lm-content-block li { font-size:.95rem; line-height:1.55; }
.lm-guide-benefits { border:1px solid var(--lm-primary); border-left:4px solid var(--lm-primary); border-radius:10px; padding:12px; margin-block:12px; background:color-mix(in srgb,var(--lm-primary) 12%,var(--lm-surface)); }
.lm-guide-benefits > h3 { font-size:1rem; margin-bottom:8px; }
.lm-guide-benefits p:last-child { margin-bottom:0; }
@container (min-width:30rem) {
 .lm-party-card .lm-card-footer { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
 .lm-party-card .lm-card-action { width:auto; padding-inline:20px; }
}
/* Links have a global sans-serif rule; the approved editorial title must inherit its heading. */
.lm-party-card .lm-card-title-link { font-family:inherit; font-weight:400; }
.lm-party-detail .lm-detail-body > h1 { font-family:"DM Serif Display",Georgia,serif; font-weight:400; }
.lm-party-card .lm-card-media img,.lm-party-card:hover .lm-card-media img { filter:none; }

/* Home: voucher arrival and immediate savings value (feedback 3046). */
.lm-discover-intro--voucher {
    max-width: none;
    padding: clamp(28px, 5vw, 64px) clamp(16px, 3vw, 36px) 20px;
    margin: 0 0 16px;
    border: 1px solid #544126;
    border-radius: 16px;
    background-color: #100e0f;
    background-image: linear-gradient(90deg, rgba(9,8,10,.97) 0%, rgba(9,8,10,.86) 38%, rgba(9,8,10,.2) 75%), url('/images/home-voucher-arrival.webp');
    background-size: cover;
    background-position: center;
    text-align: left;
}
.lm-discover-intro--voucher h1 { max-width: 17ch; color: #fff9ef; }
.lm-discover-intro--voucher .lm-discover-eyebrow { max-width: 48ch; color: #e5c47e; }
.lm-discover-intro--voucher>p:not(.lm-discover-eyebrow) { max-width: 44ch; color: #e7e0df; }
.lm-member-overview .lm-member-overview__saving {
    min-height: 168px;
    padding: 24px;
    gap: 12px;
    border: 1px solid color-mix(in srgb,var(--lm-primary) 45%,var(--lm-border));
    border-left: 4px solid var(--lm-primary);
    background: linear-gradient(120deg,color-mix(in srgb,var(--lm-primary) 14%,var(--lm-surface)),var(--lm-surface));
    box-shadow: 0 8px 28px rgba(0,0,0,.2);
}
.lm-member-overview__saving>span { color: #f0dba9; font-size: 1rem; font-weight: 700; }
.lm-member-overview__saving>span i { margin-right: 5px; }
.lm-member-overview__saving>strong { color: #ffe3a1; font-size: clamp(2.25rem, 7vw, 3.5rem); letter-spacing: -.04em; overflow-wrap: anywhere; }
.lm-member-overview__saving>small { color: #e4d9cc; font-size: .8rem; }
@media (max-width: 575px) {
    .lm-discover-intro--voucher {
        padding: 28px 14px 18px;
        /* Approved mobile framing: 12% closer, with faces clear of the title. */
        background-position: center, center, 55% center;
        background-size: cover, cover, auto 112%;
        background-image: linear-gradient(90deg, rgba(9,8,10,.80), rgba(9,8,10,.25)), linear-gradient(0deg, rgba(9,8,10,.87), transparent 75%), url('/images/home-voucher-arrival.webp');
        filter: brightness(1.08);
    }
    .lm-discover-intro--voucher h1 {
        max-width: min(210px, 100%);
        text-shadow: 0 2px 8px rgba(0,0,0,.85), 0 1px 2px rgba(0,0,0,.9);
    }
    .lm-discover-intro--voucher > p {
        text-shadow: 0 1px 4px rgba(0,0,0,.85);
    }
    .lm-discover-intro--voucher .btn { margin-top: 12px; }
    .lm-member-overview .lm-member-overview__saving { min-height: 168px; padding: 22px 20px; }
}

/* Readable access to the original legal documents and current contact. */
.lm-footer { opacity:1; }
.lm-footer nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--lm-text); text-decoration:underline; text-underline-offset:3px; }
.lm-legal-document { max-width:800px; margin:0 auto; overflow-wrap:anywhere; line-height:1.7; }
.lm-legal-document h2 { margin-top:2rem; font-size:1.3rem; }
.lm-legal-document h3 { margin-top:1.5rem; font-size:1.1rem; }

/* Original transparent symbol approved for header and Home plans invitation. */
.lm-brand img.lm-brand__symbol { width:34px; height:42px; object-fit:contain; flex-shrink:0; }
.lm-member-cta h2 { display:flex; align-items:center; gap:10px; }
.lm-member-cta h2 span { min-width:0; }
.lm-member-cta__logo { width:32px; height:40px; flex:0 0 32px; object-fit:contain; }
@media(max-width:359px) { .lm-brand img.lm-brand__symbol { width:28px; height:35px; } }

/* Approved seven-category editorial navigation; asset production remains independent of offer availability. */
.lm-category-grid--editorial { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lm-category-grid--editorial .lm-category-card { display:block; width:100%; min-width:0; padding:0; min-height:10rem; aspect-ratio:3/2; }
.lm-category-grid--editorial .lm-category-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,8,10,.88),rgba(9,8,10,.08) 85%); pointer-events:none; }
.lm-category-grid--editorial .lm-category-card strong { position:absolute; z-index:1; left:14px; right:14px; bottom:14px; line-height:1.3; font-size:clamp(.95rem,2vw,1.2rem); overflow-wrap:anywhere; }
.lm-category-grid--editorial .lm-category-card img { filter:none; }
.lm-category-grid--editorial .lm-category-card:focus-visible { outline:3px solid var(--lm-accent); outline-offset:4px; }
@media(min-width:992px) { .lm-category-grid--editorial { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:600px) {
 .lm-category-grid--editorial { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .lm-category-grid--editorial .lm-category-card { display:flex; flex-direction:column; align-items:stretch; min-height:0; aspect-ratio:auto; border-color:rgba(255,255,255,.08); }
 .lm-category-grid--editorial .lm-category-card::after { display:none; }
 .lm-category-grid--editorial .lm-category-card img { position:static; display:block; width:100%; height:auto; aspect-ratio:15/8; flex:none; filter:saturate(.65) brightness(.9); }
 .lm-category-grid--editorial .lm-category-card strong { position:static; padding:.65rem .7rem; font-size:.9rem; line-height:1.3; text-shadow:none; color:#ece9e6; }
 .lm-category-grid--editorial .lm-category-card strong i { display:none; }
 .lm-category-grid--editorial .lm-category-card:hover img { transform:none; }
 .lm-category-grid--editorial .lm-category-card:focus-visible { border-color:var(--lm-accent); }
}

/* Real, audience-specific availability; never a countdown or simulated scarcity. */
.lm-party-stock { border-left:3px solid var(--lm-accent); border-radius:0 9px 9px 0; background:rgba(246,191,69,.06); padding:9px 12px; margin:14px 0; color:#ffe3a1; font-size:.85rem; line-height:1.6; }
.lm-party-stock strong,.lm-party-stock small { display:block; }
.lm-party-stock small { color:var(--lm-muted); }

.lm-party-benefit-panel { border:1px solid rgba(213,74,102,.3); border-radius:13px; background:linear-gradient(115deg,rgba(142,33,63,.14),rgba(255,255,255,.015)); padding:14px; margin:14px 0; }
.lm-party-benefit-panel span { display:block; color:var(--lm-muted); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.lm-party-benefit-panel strong { display:block; color:#ffe3a1; font-size:1.08rem; line-height:1.35; margin:7px 0; }
.lm-party-benefit-panel small { color:var(--lm-muted); }

/* Voucher actions and physical destinations */
.lm-voucher-actions, .lm-directions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; padding:1rem; }
.lm-directions > strong { flex-basis:100%; }
.lm-voucher-actions .btn, .lm-directions .btn { min-height:44px; }
.lm-voucher-privacy { font-size:.8rem; padding:0 1rem; opacity:.8; }

.lm-benefit-voucher .btn-outline-light { --bs-btn-color:#18191d; --bs-btn-border-color:#18191d; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#18191d; --bs-btn-hover-border-color:#18191d; }
.lm-benefit-voucher .lm-voucher-actions .btn,
.lm-benefit-voucher .lm-directions .btn { color:#18191d; background:#fff; border:1px solid #18191d; }
.lm-benefit-voucher .lm-voucher-actions .btn:hover,
.lm-benefit-voucher .lm-directions .btn:hover { color:#fff; background:#18191d; }
.lm-benefit-voucher .lm-voucher-privacy { color:#18191d; opacity:1; }

/* No principal is registered in the public contract: every option has equal emphasis. */
.lm-offer-benefits__item h3 { color:#ffe3a1; font:600 1.25rem/1.4 "DM Sans",sans-serif; }
.lm-offer-benefits__item { padding:11px 0; }
.lm-offer-benefits__item:first-of-type { border-top:0; }

/* Central de Ofertas: same clear administrative surfaces as the partner workspace. */
.lm-admin-toolbar { position:sticky; top:0; z-index:25; display:flex; justify-content:space-between; gap:16px; padding:12px 24px; background:#fff; border-bottom:1px solid #dfe2e7; }
.lm-admin-toolbar a { color:#323946; font-weight:600; text-decoration:none; }
.offer-workspace { color:#252b35; padding-bottom:120px; }
.offer-workspace h2 { font:600 1.15rem/1.4 'DM Sans',sans-serif; }
.offer-workspace label { display:flex; flex-direction:column; gap:6px; margin:12px 0; font-size:.9rem; font-weight:500; }
.offer-workspace input:not([type=checkbox]),.offer-workspace select,.offer-workspace textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid #cdd2d9; background:#fff; color:#232936; border-radius:8px; font:400 .95rem/1.45 'DM Sans',sans-serif; }
.offer-workspace button { min-height:40px; }
.offer-filters { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.offer-filters label:first-child { flex:1 1 230px; }
.offer-editor-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:20px; align-items:start; }
.offer-editor-grid > * { min-width:0; }
.offer-two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.offer-workspace .offer-check { flex-direction:row; align-items:center; }
.offer-workspace details { margin:16px 0; padding:12px 0; border-top:1px solid #e1e4e8; }
.offer-workspace summary { cursor:pointer; font-weight:600; }
.offer-benefit-editor,.offer-content-block { border:1px solid #dde0e6; border-radius:10px; padding:14px; margin:14px 0; }
.offer-preview { --lm-surface:#1b1c20; --lm-border:#3b3d45; --lm-muted:#b8b2ba; background:#131418; color:#eee8eb; padding:14px; border-radius:12px; overflow-wrap:anywhere; }
.offer-preview h2,.offer-preview h3 { color:inherit; }
.offer-preview .lm-product-card { width:100%; margin:0; }
.offer-preview .lm-card-media img,.offer-full-image { width:100%; height:260px; object-fit:contain!important; background:#151519; }
.offer-preview .lm-guide-section { background:#202126; }
.offer-preview .lm-event-content p { color:#c8c4cd; }
.offer-selection-preview,.offer-voucher-preview { padding:16px; border:1px solid #52515a; border-radius:10px; margin:12px 0; }
.offer-preview-stamp { color:#ffe3a1; font-weight:700; }
.offer-savebar { position:sticky; bottom:0; z-index:20; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; padding:16px; background:#fff; box-shadow:0 -3px 15px #0001; border:1px solid #e0e3e9; border-radius:12px; }
.offer-savebar > span { margin-right:auto; }
.offer-row-title { display:flex; align-items:center; gap:12px; min-width:180px; }
.offer-row-title img { width:58px; height:72px; object-fit:contain; background:#f1f2f4; border-radius:6px; }
.offer-table td small { display:block; color:#687282; margin-top:5px; }
.offer-table td { padding:16px 12px; vertical-align:top; }
.offer-table .partner-link { display:block; white-space:normal; }
.offer-workspace .lm-admin-image-picker { color:#323946; }
.offer-workspace .lm-admin-imgpreview img { object-fit:contain!important; }
@media(max-width:900px){.offer-editor-grid{grid-template-columns:1fr}.offer-preview-column{position:static}.lm-admin-toolbar{padding:12px 16px}.offer-two{grid-template-columns:1fr}.offer-savebar{position:static}.offer-savebar button{width:100%}.offer-workspace{padding-bottom:40px}}
/* Explicit contrast in the light editor and dark customer preview. */
.offer-workspace label { color:#3b4350; }
.offer-workspace .offer-preview { --lm-bg:#131418; --lm-text:#eee8eb; --lm-surface-2:#24252a; color-scheme:dark; }
.offer-workspace .offer-preview p,.offer-workspace .offer-preview small { color:#c9c4ce; }
.offer-workspace .offer-preview h1,.offer-workspace .offer-preview h2,.offer-workspace .offer-preview h3 { color:#f2eef1; }
.offer-workspace .offer-preview .lm-card-media::after { display:none; }
.offer-workspace .offer-preview .lm-card-media { height:260px; }
.offer-workspace .lm-admin-image-picker .btn-outline-light { color:#414a57; border-color:#aeb5bf; background:#fff; }
.offer-workspace .lm-admin-image-ready { color:#176640; }
/* Keep the visually-hidden file input from inheriting full-width form control sizing. */
.offer-workspace input[type=file].lm-admin-file-input { width:1px; max-width:1px; min-width:0; height:1px; min-height:1px; padding:0; border:0; clip-path:inset(50%); }
/* Wide offer columns scroll within their panel, not the mobile document. */
.offer-workspace .dash-table-wrap { position:relative; max-width:100%; overflow-x:auto; }
.offer-workspace .offer-filters > label { min-width:0; max-width:100%; }

/* Central de Ofertas: actions and names stay in the mobile viewport. */
.offer-list-wrap{width:100%;max-width:100%}.offer-responsive-table{width:100%;table-layout:fixed}.offer-responsive-table th:first-child{width:30%}.offer-responsive-table th:last-child{width:145px}.offer-responsive-table td,.offer-responsive-table th{overflow-wrap:anywhere}.offer-actions{display:flex;gap:8px;align-items:flex-start}.offer-actions>.dash-button{padding:8px 12px}.offer-action-menu{position:relative}.offer-action-menu summary{cursor:pointer;list-style:none;padding:6px 14px;font-size:24px;line-height:1.2;border:1px solid #b6bdc8;border-radius:8px}.offer-action-menu>div{position:absolute;right:0;z-index:20;min-width:190px;padding:12px;background:#fff;border:1px solid #c9ced6;border-radius:8px;box-shadow:0 6px 20px #0002}.offer-action-menu .partner-link{padding:8px 0;text-align:left}.offer-danger{color:#9d242b!important}.offer-status{display:inline-block;padding:5px 9px;border-radius:20px;font-size:.85rem;font-weight:600;background:#eef0f3;color:#384152}.offer-status-0{background:#fff1bb;color:#704b00}.offer-status-1{background:#dcf4e6;color:#155830}.offer-status-2{background:#fde4e4;color:#852529}.offer-import-callout{border-color:#b89123!important}.offer-filters-compact{margin:18px 0}.offer-filters-compact label{font-size:.85rem;flex:1 1 145px}.offer-filters-compact select,.offer-filters-compact input{max-width:100%}.offer-row-title{min-width:0}.offer-row-title strong{overflow-wrap:anywhere}.offer-field-anchor{scroll-margin-top:100px}.offer-pending-link{border:0;background:transparent;color:#98262d;text-align:left;text-decoration:underline;padding:4px;cursor:pointer}.offer-review-panel{border-left:4px solid #bd972f}.offer-price-review{padding:12px;background:#fff2c6;color:#584000}.offer-template-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.offer-template-tools label{flex:1}.offer-main-details>summary{font-size:1.1rem;font-weight:600;margin-bottom:14px}.offer-responsive-table .offer-actions .partner-link{white-space:normal}
@media(max-width:767px){.offer-responsive-table,.offer-responsive-table tbody{display:block}.offer-responsive-table thead{display:none}.offer-responsive-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding:16px 0;border-bottom:1px solid #d8dde4}.offer-responsive-table td{display:block;padding:0!important;border:0!important;min-width:0}.offer-responsive-table td:before{content:attr(data-label);display:block;font-size:.75rem;color:#657080;margin-bottom:3px}.offer-responsive-table td.offer-name-cell,.offer-responsive-table td.offer-actions{grid-column:1/-1}.offer-responsive-table td.offer-actions{display:flex;justify-content:flex-end}.offer-responsive-table .offer-row-title{align-items:flex-start}.offer-responsive-table .offer-row-title img{width:42px;height:55px}.offer-filters-compact{gap:8px}.offer-filters-compact label{flex:1 1 125px}.offer-filters-compact label:first-child{flex-basis:100%}.offer-actions .offer-action-menu>div{bottom:100%;right:0}.offer-actions .dash-button{min-height:42px}.offer-action-menu summary{min-height:42px}}

.offer-review-panel>a{display:inline-block;margin:4px 16px 8px 0}.offer-review-flyer{float:right;width:100px;max-height:140px;object-fit:contain;margin:0 0 12px 14px}.offer-review-panel:after{content:"";display:block;clear:both}

/* Native file control stays operable with keyboard, mouse and mobile pickers. */
.lm-image-file-control { max-width:100%; margin:12px 0; }
.lm-image-file-control input[type=file] { display:block; max-width:100%; width:100%; min-width:0; color:inherit; }

/* Focused sales hierarchy on /planos. */
.lm-page-title.lm-plans-title h1 {
    font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.5rem);
}

.lm-plans-benefits h2,
.lm-plan-grid.lm-plans-grid .lm-plan-card h2 {
    font-size: clamp(1.5rem, 1.2rem + 1vw, 1.75rem);
    line-height: 1.25;
    margin-bottom: 1.25rem;
}

.lm-plans-benefits li {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    font-size: 1rem;
    line-height: 1.6;
}

.lm-plans-benefits li > span {
    flex: 0 0 auto;
}

.lm-plans-benefits li strong {
    display: block;
}

.lm-plans-benefits li p {
    margin: .25rem 0 0;
}

.lm-plans-grid .lm-plan-card__price strong {
    font-size: clamp(2.25rem, 2rem + 1vw, 2.5rem);
    line-height: 1.2;
}

.lm-plans-terms {
    margin-top: 1.25rem;
    color: var(--lm-muted);
    font-size: .875rem;
    line-height: 1.6;
}

/* Localized to the negotiated-benefits screen; other admin layouts remain unchanged. */
.lm-commercial-menu { display: none; }
@media (max-width: 768px) {
    .lm-commercial-shell { display: block; }
    .lm-commercial-shell .lm-admin-sidebar { position: static; height: auto; padding: 10px 14px; gap: 8px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
    .lm-commercial-shell .lm-admin-brand { padding: 0; }
    .lm-commercial-shell .lm-commercial-menu { display: inline-flex; min-height: 44px; align-items: center; }
    .lm-commercial-shell .lm-admin-nav,
    .lm-commercial-shell .lm-admin-sidebar__footer { display: none; }
    .lm-commercial-menu-open .lm-admin-nav { display: flex; flex: 0 0 100%; flex-direction: column; }
    .lm-commercial-menu-open .lm-admin-nav .lm-admin-nav__item span { display: inline; }
    .lm-commercial-menu-open .lm-admin-sidebar__footer { display: block; flex: 0 0 100%; }
    .lm-commercial-shell .lm-admin-main { min-width: 0; padding: 16px 14px; }
}
