:root {--r40-page: #FAF8F5; --r40-surface: #FFFFFF; --r40-shadow: 0 12px 28px -6px rgba(15,23,42,.08),0 2px 6px rgba(15,23,42,.025); --r40-buy-start: #E11D48; --r40-buy-end: #DC2626; --r40-buy-ink: #FFFFFF; --r40-gold-bg: #FFFBEB; --r40-gold-line: #F59E0B; --r40-gold-ink: #B45309; --r23-paper: #FFFFFF; --r23-soft: #FAF8F5; --r31-shadow: var(--r40-shadow); --deal-button: #DC2626; --deal-button-ink: #FFFFFF;}
html[data-theme=dark] {--r40-page: #101A18; --r40-surface: #192622; --r40-shadow: 0 12px 28px -6px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.16); --r23-paper: #192622; --r23-soft: #14211C; --deal-button: #DC2626; --deal-button-ink: #FFFFFF; --r40-gold-bg: #322611; --r40-gold-line: #C48A26; --r40-gold-ink: #FDE68A;}
html body {background: var(--r40-page);}
html body :is(.r23-block,.r26-card,.r31-panel,.r31-place,.r31-tool,.smart-ticket) {background: var(--r40-surface); box-shadow: var(--r40-shadow);}
html body dialog#modal {width: min(1080px,94vw) !important; max-width: 94vw !important; box-sizing: border-box; padding: 24px !important; max-height: 90dvh; border-radius: 24px !important; box-shadow: 0 32px 100px #0005;}
html body dialog#modal #modal-body {min-width: 0; width: 100%; box-sizing: border-box;}
html body dialog#modal .r37-daily-grid,html body dialog#modal .r23-shop-grid,html body dialog#modal .r31-grid {display: grid; grid-template-columns: repeat(auto-fit,minmax(235px,1fr)) !important; gap: 16px;}
html body :is(#screen,#modal) :is(.btn,button,a[role=button]) {max-width: 100%; min-width: 0; box-sizing: border-box;}
html body :is(#screen,#modal) .r31-panel .btn,html body :is(#screen,#modal) .r31-place .btn,html body :is(#screen,#modal) .r31-tool .btn,html body :is(#screen,#modal) .r26-card .btn {white-space: normal !important; overflow-wrap: anywhere; word-break: normal; height: auto; min-height: 48px; line-height: 1.45; text-align: center; padding: 11px 14px;}
@layer ds-contract {html body :is(#screen,#modal) .btn.primary,html body :is(#screen,#modal) .r29-cta,html body #screen .r26-card .r23-card-copy>a.btn.primary,html body #modal .r31-panel .r26-card a.btn.primary {}}
html body :is(#screen,#modal) .r26-card .r23-book-media {height: 210px !important; min-height: 210px !important; background: #FFFFFF; border: 1px solid #ECEAE5; border-radius: 16px 16px 0 0; box-sizing: border-box; overflow: hidden; display: flex; align-items: center; justify-content: center;}
html body :is(#screen,#modal) .r26-card .r23-book-media img {height: 100%; width: 100%; padding: 12px !important; object-fit: contain; box-sizing: border-box; transition: transform .22s ease; mix-blend-mode: normal;}
html body :is(#screen,#modal) .r26-card:hover .r23-book-media img {transform: scale(1.03);}
html body :is(#screen,#modal) .r37-match {display: block; background: var(--r40-gold-bg); border: 1px dashed var(--r40-gold-line); border-radius: 10px; padding: 12px; margin-top: 8px; color: var(--r40-gold-ink); font: 700 12px/1.6 var(--ds-font-sans); overflow-wrap: anywhere; text-decoration: none; position: relative;}
html body .r37-match:focus-visible {outline: 3px solid var(--r40-gold-line); outline-offset: 3px;}
.r31-place[data-experience],.r31-tool[data-experience] {--experience-accent: #0D9488; --experience-bg: #F0FDFA; position: relative; overflow: hidden; border-top: 4px solid var(--experience-accent) !important;}
.r31-place[data-experience=food],.r31-tool[data-experience=lunch] {--experience-accent: #EA580C; --experience-bg: #FFF7ED;}
.r31-place[data-experience=chain],.r31-tool[data-experience=books] {--experience-accent: #B45309; --experience-bg: #FEF3C7;}
.r31-place[data-experience=cinema],.r31-tool[data-experience=compare] {--experience-accent: #0D9488; --experience-bg: #F0FDFA;}
.r31-place[data-experience=event],.r31-tool[data-experience=daily] {--experience-accent: #4F46E5; --experience-bg: #EEF2FF;}
.r31-tool[data-experience=split] {--experience-accent: #2563EB; --experience-bg: #EFF6FF;}
.r31-tool[data-experience=saved] {--experience-accent: #BE185D; --experience-bg: #FDF2F8;}
html[data-theme=dark] :is(.r31-place,.r31-tool)[data-experience] {--experience-bg: #24332E;}
html body :is(.r31-place,.r31-tool)[data-experience] .r31-badges>span {background: var(--experience-bg); border: 1px solid color-mix(in srgb,var(--experience-accent) 35%,transparent); color: var(--r23-ink); border-radius: 999px; padding: 6px 10px;}
.r31-tool[data-experience] .r31-icon {display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--experience-bg); font-size: 26px;}
.r31-place[data-experience] .r31-actions {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px;}
.r31-place[data-experience] .r31-actions .btn {width: 100%; margin: 0;}
.r31-place[data-experience] .r31-address {color: var(--r23-ink);}
html[data-r18-route=catalog] body:has([data-r37-catalog]) :is(.public-catalog-filters,.public-catalog-quick-filters,.public-catalog-toolbar,[data-catalog-controls]) {display: none !important;}
@media (max-width:600px) {html body dialog#modal {padding: 14px !important; width: 94vw !important; max-width: 94vw !important; border-radius: 20px !important;}html body dialog#modal .r37-daily-grid,html body dialog#modal .r23-shop-grid,html body dialog#modal .r31-grid {grid-template-columns: minmax(0,1fr) !important;}html body dialog#modal .r31-panel {padding: 14px;}.r31-place[data-experience] .r31-actions {grid-template-columns: minmax(0,1fr);}html body :is(#screen,#modal) .r26-card .r23-book-media {height: 210px !important; min-height: 210px !important;}}
@media (prefers-reduced-motion:reduce) {html body .r26-card .r23-book-media img {transition: none !important; transform: none !important;}}
@layer ds-contract {html body :is(#screen,#modal) :is(.r31-place,.r31-tool,.r31-panel,.r26-card) :is(.btn,button) {white-space: normal !important; overflow-wrap: anywhere !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; line-height: 1.45 !important; height: auto !important; min-height: 48px !important; text-align: center !important;}}
html body dialog#modal {padding: 20px !important;}
@media (max-width:600px) {html body dialog#modal {padding: 14px !important;}}
html body dialog#modal #modal-body.r31-host>.r31-panel,html body dialog#modal #modal-body.r31-host>[data-r31-root]>.r31-panel {padding: 14px;}
@layer ds-contract {html[data-r18-route=catalog] body:has([data-r37-catalog]) .public-filter:has([data-catalog-quick]) {display: none !important;}}
@layer ds-contract {html body:has([data-r37-catalog]) .public-filter:has([data-catalog-quick]) {display: none !important;}}
@layer ds-contract {html body #screen .smart-ticket .smart-actions>button.btn.primary,html body #modal .smart-ticket .smart-actions>button.btn.primary,html body :is(#screen,#modal) .r31-tool>a.btn.primary,html body :is(#screen,#modal) .r31-panel button.btn.primary {}}
