.dx-tours{padding:6.25rem 0 6.75rem;background:#f9f6f2}
.dx-tours .dx-section-head{margin-bottom:2.25rem}
.dx-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.125rem}
.dx-tour-card{background:#fffdfa;border:1px solid #e3d4c5;border-radius:0.9375rem;overflow:hidden;box-shadow:0 0.9375rem 2.1875rem #3b25140b;display:flex;flex-direction:column}
.dx-tour-image{height:13.9375rem;position:relative;overflow:hidden;background:#b99c7a}
.dx-tour-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}
.dx-tour-card:hover img{transform:scale(1.035)}
.dx-tour-image span{position:absolute;left:1.125rem;top:1.0625rem;background:#fbf4e9;color:#753f2e;padding:0.5rem 0.6875rem;border-radius:50%;font-size:1rem;font-weight:700}
.dx-tour-content{padding:1.5rem 1.625rem 1.5625rem;display:flex;flex-direction:column;flex:1}
.dx-tour-label{font-size:1rem;letter-spacing:.15em;font-weight:800;color:#9b4e37;margin:0 0 0.8125rem}
.dx-tour-content h3{text-wrap:balance;font-size:clamp(1.5625rem,2.2vw,2rem);line-height:1.18;margin:0 0 0.8125rem;color:#30221d}
.dx-tour-intro{text-wrap:pretty;font-size:1rem;line-height:1.7;color:#755f51;margin:0 0 1.3125rem;min-height:3.875rem}
.dx-tour-stops{border-top:1px solid #e8dbce;padding-top:1.0625rem;margin-top:auto}
.dx-tour-stops small{font-size:1rem;font-weight:800;letter-spacing:.1em;color:#96694d}
.dx-tour-stops ol{list-style:none;counter-reset:tour;margin:0.875rem 0 1.3125rem;padding:0;display:grid;gap:0.5625rem}
.dx-tour-stops li{counter-increment:tour;display:flex;align-items:baseline;gap:0.75rem;font-size:1rem;font-weight:600;color:#392a22}
.dx-tour-stops li::before{content:counter(tour,decimal-leading-zero);font-size:1rem;font-weight:800;color:#b18358}
.dx-tour-content>button{width:100%;display:flex;align-items:center;justify-content:space-between;background:#5a3026;color:#fff7ee;border:0;border-radius:0.4375rem;padding:0.8125rem 0.9375rem;font:700 1rem 'Be Vietnam Pro',sans-serif;cursor:pointer;transition:background .2s}
.dx-tour-content>button:hover{background:#874633}
.dx-tour-content>button .material-symbols-outlined{font-size:1.125rem}
.dx-tour-dialog{position:fixed;inset:0 0 0 auto;width:min(33.75rem,100vw);max-width:none;max-height:none;height:100dvh;margin:0;padding:0;border:0;background:#fcf8f2;color:#392720;box-shadow:-1.25rem 0 4.375rem #1b100d50}
.dx-tour-dialog::backdrop{background:#1a100bb8}
.dx-tour-dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:1.3125rem 1.8125rem;border-bottom:1px solid #e5d6c4;color:#8d4834;font-size:1rem;letter-spacing:.15em;font-weight:800}
.dx-tour-dialog-bar button{border:0;background:#f0e4d6;color:#603e30;width:2.125rem;height:2.125rem;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.dx-tour-dialog-scroll{height:calc(100dvh - 4.75rem);overflow:auto;padding:2.125rem 2.375rem 3rem}
.dx-tour-dialog-scroll h2{font-size:clamp(2.1875rem,4vw,3.0625rem);line-height:1.12;margin:0 0 0.8125rem;color:#37251f}
.dx-tour-dialog-intro{color:#725747;font-size:1.125rem;line-height:1.75;margin:0 0 2.125rem}
.dx-tour-dialog-stops{border-top:1px solid #d8c8b5}
.dx-tour-dialog-stops article{padding:1.5625rem 0;border-bottom:1px solid #d8c8b5}
.dx-tour-dialog-stops article>span{color:#a35b3f;font-size:1rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dx-tour-dialog-stops h3{font-size:1.5625rem;margin:0.6875rem 0 0.5625rem}
.dx-tour-dialog-stops p,.dx-tour-dialog-note{font-size:1rem;line-height:1.7;color:#745c4b;margin:0 0 0.8125rem}
.dx-tour-dialog-stops a{display:inline-flex;align-items:center;gap:0.625rem;font-size:1rem;font-weight:700;color:#7d3e2b;border-bottom:1px solid #aa8266;padding-bottom:0.25rem}
.dx-tour-dialog-stops a .material-symbols-outlined{font-size:1.0625rem}
.dx-tour-dialog-note{background:#efe5d9;margin-top:1.75rem;padding:1rem 1.125rem;border-radius:0.5rem}
.dx-calendar-section{background:#4b2b23;padding:5.75rem 0 6.375rem}
.dx-calendar-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(21.875rem,.85fr);gap:1.25rem;align-items:stretch}
.dx-calendar-board{background:#f8f2e9;border-radius:0.875rem;padding:1.6875rem 1.75rem 1.375rem;color:#442b20;box-shadow:0 1rem 2.1875rem #160c0b2b}
.dx-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1.625rem}
.dx-calendar-toolbar small{display:block;color:#a16b4b;font-size:1rem;font-weight:800;letter-spacing:.15em;margin-bottom:0.375rem}
.dx-calendar-toolbar h3{font-size:clamp(1.5rem,2.4vw,2.125rem);line-height:1.1;margin:0}
.dx-calendar-nav{display:flex;gap:0.4375rem}
.dx-calendar-nav button{width:2.1875rem;height:2.1875rem;display:grid;place-items:center;border:1px solid #d6bd9f;border-radius:50%;background:#fffaf3;color:#623a27;cursor:pointer}
.dx-calendar-nav button:hover{background:#e9d6bb}
.dx-calendar-nav .material-symbols-outlined{font-size:1.1875rem}
.dx-calendar-weekdays,.dx-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.375rem;text-align:center}
.dx-calendar-weekdays{margin-bottom:0.375rem}
.dx-calendar-weekdays span{font-size:1rem;font-weight:800;color:#9b785c;padding:0.6875rem 0}
.dx-calendar-days>*{min-width:0;height:4rem;display:flex;align-items:center;justify-content:center;position:relative;border-radius:0.4375rem}
.dx-calendar-day{font-size:1.125rem;color:#563d31;background:#fffaf3;border:1px solid #eee2d5}
.dx-calendar-blank{background:transparent}
.dx-calendar-has-event{border:1px solid #b37952;background:#edd6b7;color:#552c20;cursor:pointer;font:800 1.0625rem 'Be Vietnam Pro',sans-serif}
.dx-calendar-has-event:hover,.dx-calendar-has-event[aria-pressed=true]{background:#84442f;color:#fff7e8}
.dx-calendar-has-event i{position:absolute;bottom:0.5625rem;width:0.3125rem;height:0.3125rem;border-radius:50%;background:currentColor}
.dx-calendar-legend{display:flex;justify-content:space-between;gap:0.625rem;border-top:1px solid #e4d6c6;margin-top:1.25rem;padding-top:1.0625rem;color:#8a6f5c;font-size:1rem}
.dx-calendar-legend span:first-child{display:flex;align-items:center;gap:0.5rem}
.dx-calendar-legend i{display:block;width:0.5rem;height:0.5rem;background:#a55238;border-radius:50%}
.dx-calendar-agenda{border:1px solid #a98166;border-radius:0.875rem;padding:1.5rem 1.625rem;color:#fff9f1;display:flex;flex-direction:column;min-height:100%}
.dx-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding-bottom:1.1875rem;border-bottom:1px solid #a88166}
.dx-agenda-head span{font-size:1rem;letter-spacing:.14em;color:#e8bb85;font-weight:800}
.dx-agenda-head strong{font-size:1rem;color:#ead8c6;font-weight:600;white-space:nowrap}
.dx-agenda-event{display:grid;grid-template-columns:max-content minmax(0,1fr) 1.125rem;gap:0.8125rem;align-items:center;padding:1.4375rem 0;border-bottom:1px solid #98715a;color:#fff7ee}
.dx-agenda-event:hover,.dx-agenda-event.is-selected{background:#ffffff0c}
.dx-agenda-date strong{display:block;font-family:'Noto Serif',Georgia,serif;font-size:1.9375rem;line-height:1;color:#f1ca98}
.dx-agenda-date small{font-size:1rem;color:#ecc99c;font-weight:800;white-space:nowrap}
.dx-agenda-copy{display:grid;gap:0.25rem}
.dx-agenda-copy small{font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#dfb98e;font-weight:700}
.dx-agenda-copy strong{font-family:'Noto Serif',Georgia,serif;font-size:1.125rem;line-height:1.3}
.dx-agenda-copy>span{font-size:1rem;color:#d8bda8}
.dx-agenda-event>.material-symbols-outlined{font-size:1.0625rem;color:#edc18d}
.dx-agenda-empty{padding:2.25rem 0;display:grid;gap:0.5625rem;color:#ead4c0}
.dx-agenda-empty>.material-symbols-outlined{font-size:1.875rem;color:#ecc48e}
.dx-agenda-empty strong{font-family:'Noto Serif',Georgia,serif;font-size:1.1875rem;color:#fff7ec}
.dx-agenda-empty p{font-size:1rem;line-height:1.6;margin:0}
.dx-lunar-event{margin-top:auto;display:grid;grid-template-columns:max-content minmax(0,1fr) 1.125rem;align-items:center;gap:0.75rem;padding:1.25rem 0 0;color:#fff8ed}
.dx-lunar-date strong{display:block;font-family:'Noto Serif',Georgia,serif;font-size:1.9375rem;line-height:1;color:#efc591}
.dx-lunar-date span{display:block;font-size:1rem;line-height:1.3;font-weight:800;color:#e9c394}
.dx-lunar-event small{font-size:1rem;letter-spacing:.07em;color:#eac08f;font-weight:800}
.dx-lunar-event h3{font-size:1.1875rem;line-height:1.3;margin:0.3125rem 0}
.dx-lunar-event p{font-size:1rem;line-height:1.5;color:#dbc0ac;margin:0}
.dx-lunar-event>.material-symbols-outlined{font-size:1.0625rem;color:#eec696}
@media(max-width:1000px){.dx-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dx-calendar-layout{grid-template-columns:1fr}.dx-calendar-agenda{min-height:0}.dx-lunar-event{margin-top:0.75rem}}
@media(max-width:1000px){.dx-tours{padding:4.5rem 0 5rem}.dx-tour-grid{grid-template-columns:1fr}.dx-tour-image{height:13.4375rem}.dx-tour-intro{min-height:0}.dx-tour-dialog-scroll{padding:1.75rem 1.5rem 2.8125rem}.dx-calendar-section{padding:4.5rem 0 4.875rem}.dx-calendar-board{padding:1.1875rem 0.9375rem}.dx-calendar-days>*{height:3.0625rem}.dx-calendar-weekdays,.dx-calendar-days{gap:3px}.dx-calendar-agenda{padding:1.3125rem 1.1875rem}.dx-calendar-legend{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.dx-tour-image img,.dx-tour-content>button{transition:none}}

/* Date columns must fit their labels at the larger reading size. */
.dx-agenda-event,.dx-lunar-event{align-items:start;column-gap:1.125rem}
.dx-agenda-date,.dx-lunar-date{min-width:6.5rem;display:grid;gap:.4rem}
.dx-lunar-date span{white-space:nowrap;line-height:1.5}
.dx-agenda-copy,.dx-lunar-event>div:nth-child(2){min-width:0}
.dx-agenda-copy small,.dx-lunar-event small{letter-spacing:.04em;line-height:1.6}
.dx-tour-label,.dx-tour-stops small{letter-spacing:.06em}
.dx-calendar-nav{flex-shrink:0}
.dx-calendar-nav button{min-width:2.75rem;min-height:2.75rem}
@media(max-width:1200px){.dx-calendar-layout{grid-template-columns:minmax(0,1fr)}.dx-lunar-event{margin-top:1.25rem}}
@media(max-width:540px){
 .dx-agenda-event,.dx-lunar-event{grid-template-columns:minmax(0,1fr) 1.25rem;row-gap:.875rem}
 .dx-agenda-date,.dx-lunar-date{grid-column:1/-1;display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}
 .dx-lunar-date span br{display:none}
 .dx-lunar-date span{white-space:normal}
 .dx-calendar-toolbar{align-items:start;flex-wrap:wrap;gap:1rem}
 .dx-calendar-toolbar h3{line-height:1.3}
}

@media(min-width:1001px){.dx-tour-content h3{line-height:1.3;min-height:2.6em}}
