:root {--r51-glass: rgba(255,253,246,.78); --r51-ink: #153b34; --r51-line: rgba(255,255,255,.28); --r51-shadow: 0 18px 48px -22px #102f3555; --r51-gold: #a8640f;}
html[data-theme=dark] {--r51-glass: rgba(14,35,32,.82); --r51-ink: #f6f3e9; --r51-shadow: 0 18px 48px -20px #0009; --r51-gold: #efc577;}
html body #screen .r47-hero .r47-copy {background: var(--r51-glass); color: var(--r51-ink); backdrop-filter: blur(20px) saturate(175%); -webkit-backdrop-filter: blur(20px) saturate(175%); border: 1px solid var(--r51-line); box-shadow: inset 0 1px 0 #fff6,var(--r51-shadow); border-radius: 24px;}
html body #screen .r47-hero .r47-copy h1,html body #screen .r47-hero .r47-copy p,html body #screen .r47-hero .r43-kicker {color: var(--r51-ink) !important;}
.r47-hero .r43-spotlights {gap: 16px;}
.r43-spotlights .r43-glass {--spot: #dc3554; position: relative; background: linear-gradient(140deg,color-mix(in srgb,var(--spot) 9%,var(--r51-glass)),var(--r51-glass)); border: 1px solid color-mix(in srgb,var(--spot) 30%,transparent); box-shadow: 0 16px 30px -18px color-mix(in srgb,var(--spot) 60%,#122e33); backdrop-filter: blur(20px) saturate(175%); border-radius: 22px; overflow: hidden; transform: translateY(0); transition: transform .22s ease,box-shadow .22s ease;}
html body #screen .r43-spotlights .r43-glass div>span {color: var(--r51-ink); opacity: .85;}
.r43-spotlights .r43-glass:before {content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(0deg,transparent,var(--spot),transparent);}
.r43-spotlights .r43-glass-voucher {--spot: #b47716;}
.r43-spotlights .r43-glass-place {--spot: #009b95;}
.r43-spotlights .r43-glass strong {font-variant-numeric: tabular-nums;}
.r51-spot-cta {display: inline-block !important; width: max-content; max-width: 100%; padding: 5px 10px; margin-top: 10px; border-radius: 999px; background: color-mix(in srgb,var(--spot) 12%,transparent); color: var(--r51-ink); font-weight: 800 !important;}
.r52-featured {border: 2px solid #c78732 !important; box-shadow: 0 9px 30px -16px #d29530aa;}
.r52-featured-label {display: block; padding: 11px 12px; background: linear-gradient(100deg,#713920,#ad5b1b); color: #fff4d5; font: 800 10px/1.5 var(--ds-font-sans); letter-spacing: .035em;}
.r52-stamp {display: block; margin: 10px 0; color: var(--r40-muted); font: 500 11px/1.6 var(--ds-font-sans);}
html body :is(#screen,#modal) .r26-card .ds-brand-mark[data-brand-mark=tiki] {display: inline-flex; align-items: center; justify-content: center; background: #0a68ff; color: #fff; min-width: 44px; min-height: 25px; padding: 3px 7px; border: 0; border-radius: 6px; font: 900 12px/1 var(--ds-font-sans); letter-spacing: .05em; box-shadow: 0 3px 8px #0a68ff26;}
html body :is(#screen,#modal) .r26-card .r37-match {display: block; background: linear-gradient(120deg,#fff1c8,#fff9e9); color: #654214; border: 1px solid #d4ac5e; border-left: 4px solid #c39333; border-radius: 12px; padding: 12px; margin: 12px 0; font-weight: 650; line-height: 1.55; box-shadow: inset 0 1px 0 #fff;}
html[data-theme=dark] body :is(#screen,#modal) .r26-card .r37-match {background: linear-gradient(120deg,#48351d,#30291f); color: #ffe2a1; border-color: #947035;}
.r53-mood {--mood-a: #125c65; --mood-b: #19888b; --mood-c: #e6b66c; position: relative; isolation: isolate; overflow: hidden; height: 112px; min-height: 112px; box-sizing: border-box; margin: -20px -20px 18px; padding: 16px 18px; color: #fff; background: radial-gradient(ellipse at 85% 0%,var(--mood-c) 0%,transparent 64%),radial-gradient(ellipse at 0% 100%,var(--mood-b),transparent 70%),var(--mood-a); border-radius: 16px 16px 0 0;}
.r53-mood:after {content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#071c355e,#071c3508); pointer-events: none;}
.r53-sea {--mood-a: #075c78; --mood-b: #139a99; --mood-c: #6ab9b3;}
.r53-amber {--mood-a: #653329; --mood-b: #ad5225; --mood-c: #d39d64;}
.r53-cafe {--mood-a: #50352c; --mood-b: #855632; --mood-c: #cca672;}
.r53-cinema {--mood-a: #2d244e; --mood-b: #563861; --mood-c: #a26d84;}
.r53-party {--mood-a: #34204f; --mood-b: #704f94; --mood-c: #bd7658;}
.r53-art {--mood-a: #31594d; --mood-b: #5d8071; --mood-c: #bca37b;}
.r53-orbit {position: absolute; right: 8px; bottom: -40px; z-index: -1; font: 400 145px/1 Georgia,serif; opacity: .2; transform: rotate(-18deg); color: #fff;}
.r53-mood-top {display: flex; gap: 8px; align-items: center; justify-content: space-between; position: relative;}
.r53-mood-top>span:not(.ds-brand-mark) {font: 800 10px/1.3 var(--ds-font-sans); letter-spacing: .06em; max-width: 65%; overflow-wrap: anywhere;}
.r53-mood-top>b {border: 1px solid #fff6; border-radius: 999px; padding: 5px 8px; font: 650 10px/1.3 var(--ds-font-sans); background: #08202b4d; max-width: 48%; overflow-wrap: anywhere;}
.r53-mood>p {font: 650 12px/1.5 var(--ds-font-sans) !important; color: #fff !important; margin: 11px 0 4px !important; display: block !important; overflow: visible !important; -webkit-line-clamp: unset !important;}
.r53-mood>small {font: 650 8px/1.4 var(--ds-font-sans); letter-spacing: .07em; color: #fff;}
.r53-mood .ds-brand-mark {background: #fff; min-height: 28px; border-radius: 7px; padding: 3px 6px;}
.r53-mood .ds-brand-mark img {width: 44px; height: 22px; object-fit: contain;}
html body :is(#screen,#modal) .r49-place-facts>span:nth-child(2) {background: linear-gradient(125deg,#f8ecd8,#fff8eb); border: 1px solid #e2c995; border-left: 3px solid #b47d35; padding: 12px;}
.r49-place-facts>span:nth-child(2)>b {font-size: 14px; font-variant-numeric: tabular-nums;}
html[data-theme=dark] body :is(#screen,#modal) .r49-place-facts>span:nth-child(2) {background: linear-gradient(125deg,#3d3225,#2c2b25); border-color: #80704b; color: #f6e5bd;}
.r31-actions>a[href*="google.com/maps"] {background: var(--experience-bg,#e7f2ed); border-color: var(--experience-accent,#4b8270); color: var(--r40-ink);}
.r54-console {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; margin: 24px 0; padding: 28px; border: 1px solid #baae8f66; border-radius: 24px; background: radial-gradient(ellipse at 0 0,#f5ddb260,transparent 65%),linear-gradient(140deg,#f3efe5cc,#e9f2edc9); box-shadow: inset 0 1px 0 #fff8,0 14px 40px -30px #1b3c3d66; backdrop-filter: blur(20px) saturate(150%);}
.r54-console>div {min-width: 0;}
.r54-console label {display: block; font-size: 12px; font-weight: 700;}
.r54-console .smart-finder {margin: 0; padding: 20px; border: 1px solid #b8b29f66; background: #fff9; border-radius: 18px;}
.r54-console .smart-finder h2 {margin-top: 0;}
.r54-console input,.r54-console select {width: 100%; max-width: none; border-radius: 12px;}
.r54-console [data-smart-estimates] {grid-template-columns: 1fr;}
.r54-console .smart-actions {gap: 7px;}
.smart-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
.r54-estimate {display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; padding: 12px; border: 1px solid #bc9d6766; border-left: 3px solid #bb903b; border-radius: 12px; background: var(--r40-surface);}
.r54-estimate b {font: 750 12px/1.4 var(--ds-font-sans); overflow-wrap: anywhere;}
.r54-estimate small {display: block; font: 500 10px/1.5 var(--ds-font-sans);}
.r54-estimate p {font-size: 11px; line-height: 1.5; margin: 5px 0;}
.r54-estimate details {grid-column: 1/-1; font-size: 11px;}
.r54-estimate summary {min-height: 48px; align-content: center; cursor: pointer;}
.r54-console .smart-finder>[data-smart-estimates] {gap: 9px;}
.r54-estimate .btn {align-self: center;}
html body #screen .smart-ticket,html body #screen .smart-finder [data-smart-estimates] .smart-ticket {grid-template-columns: 112px minmax(0,1fr);}
html body #screen .smart-ticket .smart-stub {padding: 18px 10px;}
.smart-ticket .smart-stub small {color: #fff !important; text-align: center; line-height: 1.6;}
.smart-ticket .smart-stub b {font-size: 28px; font-variant-numeric: tabular-nums; letter-spacing: -.04em;}
.r54-console .smart-finder .smart-stub b {font-size: 23px;}
html[data-theme=dark] .r54-console {background: radial-gradient(ellipse at 0 0,#c4904829,transparent 70%),linear-gradient(130deg,#203831ed,#1d302ded); border-color: #6d7b5a66;}
html[data-theme=dark] .r54-console .smart-finder {background: #10231d8a; border-color: #6c806666;}
.r55-battle {position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin: 24px 0;}
.r55-product {min-width: 0; position: relative; padding: 18px; background: var(--r40-surface,#fff); border: 1px solid var(--r40-line,#d9dfd7); border-radius: 20px; box-shadow: 0 12px 30px -24px #123b35;}
.r55-product.is-winner {border: 2px solid #318673; background: linear-gradient(140deg,#e8f5ec,var(--r40-surface)); box-shadow: 0 12px 30px -20px #21876888;}
.r55-option {display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; font-size: 10px; min-height: 34px;}
.r55-option>span {color: #17604c; font-size: 9px; font-weight: 750; max-width: 55%; text-align: right;}
.r55-product>img {display: block; width: 100%; height: 190px; object-fit: contain; background: #fff; border-radius: 12px; margin: 10px 0 18px;}
.r55-product>h3 {font: 650 15px/1.5 var(--ds-font-sans); overflow-wrap: anywhere;}
.r55-prices {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-variant-numeric: tabular-nums;}
.r55-prices>strong {font-size: 24px; color: #bf293c;}
.r55-prices>del {color: var(--r40-muted); font-size: 12px;}
.r55-prices>b {background: #fbe3dd; color: #a62c35; border-radius: 6px; padding: 4px; font-size: 11px;}
.r55-net {font: 500 11px/1.6 var(--ds-font-sans); border-top: 1px solid var(--r40-line); padding-top: 12px;}
.r55-net>strong {display: block; font-size: 21px; color: var(--r40-ink);}
.r55-vs {position: absolute; z-index: 1; left: 50%; top: 128px; transform: translateX(-50%); display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 4px solid var(--r40-page); background: #244f48; color: #fff; font: 800 11px var(--ds-font-sans);}
html[data-theme=dark] .r55-product.is-winner {background: linear-gradient(140deg,#24483d,var(--r40-surface)); border-color: #6ebda2;}
html[data-theme=dark] .r55-option>span {color: #a1e6cb;}
html[data-theme=dark] .r55-prices>strong {color: #ffafa5;}
.r55-widget-preview {padding: 14px; border-radius: 16px; background: color-mix(in srgb,var(--experience-accent) 9%,var(--r40-surface)); border: 1px solid color-mix(in srgb,var(--experience-accent) 22%,transparent); margin: 14px 0; position: relative; overflow: hidden;}
.r55-widget-preview>strong {display: block; font: 750 17px/1.4 var(--ds-font-sans); font-variant-numeric: tabular-nums; max-width: 92%; color: var(--r40-ink);}
.r55-widget-preview>small {display: block; font: 500 10px/1.6 var(--ds-font-sans); color: var(--r40-ink);}
.r55-widget-preview>span {display: flex; align-items: flex-end; gap: 3px; height: 18px; margin-top: 8px;}
.r55-widget-preview i {display: block; width: 20%; height: 5px; border-radius: 4px; background: var(--experience-accent); opacity: .35;}
.r55-widget-preview i:nth-child(2) {height: 10px;}
.r55-widget-preview i:nth-child(3) {height: 14px;}
.r55-widget-preview i:nth-child(4) {height: 18px;}
.r31-tool[data-experience] {border: 1px solid color-mix(in srgb,var(--experience-accent) 25%,transparent) !important; box-shadow: inset 0 1px 0 #fff5,0 12px 30px -24px var(--experience-accent);}
.r31-tool[data-experience] h3 {margin-top: 12px;}
.jr-note-label {display: block; font-weight: 650; margin: 18px 0 8px;}
.jr-note {display: block; width: 100%; min-height: 100px; border: 1px solid var(--r51-line); border-radius: 12px; padding: 12px; font: inherit; line-height: 1.6; background: var(--r40-page); color: var(--r40-ink); resize: vertical; box-sizing: border-box;}
@media (hover:hover) {.r43-spotlights .r43-glass:hover,.r31-tool[data-experience]:hover {transform: translateY(-6px); box-shadow: 0 20px 36px -20px color-mix(in srgb,var(--spot,var(--experience-accent)) 65%,#183a36);}}
@media (max-width:900px) {.r54-console {grid-template-columns: minmax(0,1fr);}.r53-mood {padding: 14px; height: 112px; min-height: 112px;}}
@media (max-width:640px) {html body #screen .r47-hero .r47-copy {order: 1; margin: -105px 14px 0; position: relative; z-index: 3; background: var(--r51-glass);}.r47-controls {order: 2; margin-top: 14px;}.r47-hero .r43-spotlights {order: 3; gap: 12px;}.r43-spotlights .r43-glass {min-height: 112px;}.r53-mood {margin: -14px -14px 16px;}.r54-console {padding: 16px; gap: 18px; border-radius: 20px;}.r54-console .smart-finder {padding: 14px;}.smart-grid {grid-template-columns: 1fr;}html body #screen .smart-ticket,html body #screen .smart-finder [data-smart-estimates] .smart-ticket {grid-template-columns: 96px minmax(0,1fr);}.smart-ticket .smart-stub b {font-size: 25px;}.r55-battle {gap: 12px;}.r55-product {padding: 10px; border-radius: 16px;}.r55-product>img {height: 135px; margin: 8px 0;}.r55-product>h3 {font-size: 12px;}.r55-prices>strong {font-size: 18px;}.r55-prices>del {font-size: 10px;}.r55-prices>b {font-size: 9px;}.r55-net>strong {font-size: 18px;}.r55-option {flex-direction: column; min-height: 54px; font-size: 9px;}.r55-option>span {max-width: 100%; text-align: left;}.r55-vs {width: 32px; height: 32px; font-size: 9px; top: 128px;}.r55-widget-preview>strong {font-size: 15px;}}
@media (prefers-reduced-motion:reduce) {.r43-spotlights .r43-glass,.r31-tool[data-experience] {transition: none !important; transform: none !important;}}
@media (forced-colors:active) {.r53-mood,.r54-console,.r55-product,.r55-widget-preview {border: 1px solid CanvasText;}.r53-mood {color: CanvasText; background: Canvas;}.r53-mood>p,.r53-mood>small {color: CanvasText !important;}}
.r58-toolbar {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 14px 0; font-size: 13px;}
.r47-hero>.r58-toolbar {position: absolute; z-index: 3; top: 90px; right: 24px; left: auto; max-width: 360px; margin: 0; padding: 8px 12px; border-radius: 14px; background: #172a22cc; color: #fff; backdrop-filter: blur(12px);}
.r47-hero>.r58-toolbar .btn {background: #172a22cc; color: #fff; border: 1px solid #fff8;}
.r56-new,.r57-fresh {display: inline-flex; align-self: flex-start; padding: 5px 10px; margin: 8px; border-radius: 999px; font-size: 12px; font-weight: 750; background: #d8f5e4; color: #164e36;}
.r57-fresh {margin: 4px 0 8px;}
@media (max-width:640px) {.r47-hero>.r58-toolbar {position: relative; top: auto; right: auto; left: auto; order: 3; max-width: none; margin: 14px 14px 0; background: var(--r40-surface); color: var(--r40-ink);}.r47-hero .r43-spotlights {order: 4;}}
.r56-variant {font-size: 12px; color: var(--ink-muted); margin: 0 0 8px;}
.r26-card>.r56-new {position: relative; z-index: 2; max-width: calc(100% - 16px);}
@layer ds-contract {html body #screen .r47-hero .r58-toolbar .btn {color: #fff !important; background: #17392f !important; border-color: #b7d3c6 !important;}}

/* Glass shelf retains legible inherited text when no longer inside Hero. */
html body #screen .r43-spotlights .r43-glass,html body #screen .r43-spotlights .r43-glass>div>:is(b,span,small){color:var(--r51-ink)}
