/* Royal Dream Tour Details, layered over the unmodified homepage + Service Detail + Route Detail design system. */
.tour-detail-page .sd-hero__word{font-size:clamp(84px,10vw,205px);white-space:nowrap}
.tour-detail-page .sd-hero__copy{min-width:0}
.tour-detail-page .sd-hero__copy h1{overflow-wrap:break-word}
.tour-detail-page .sd-btn--ghost{color:inherit}
.tour-detail-page .sd-submit,.tour-detail-page .sd-submit span{color:var(--rd-text)!important}
.td-rate-wrap{width:100%;overflow:auto;border:1px solid var(--rd-border);border-radius:19px;margin:24px 0;background:#fff}
.td-rate-table{border-collapse:collapse;width:100%;min-width:560px;text-align:left}
.td-rate-table caption{padding:14px 19px;font-size:11px;line-height:1.7;text-align:left;color:var(--rd-muted);caption-side:bottom}
.td-rate-table thead th{background:var(--rd-text);color:#fff;font-size:13px;font-weight:800;padding:17px 20px}
.td-rate-table td,.td-rate-table tbody th{font-size:13px;padding:18px 20px;border-top:1px solid var(--rd-border)}
.td-rate-table tbody th{color:var(--rd-text);font-weight:800}
.td-rate-table tbody tr:nth-child(even){background:var(--rd-secondary-bg)}
.td-rate-table td{font-weight:850;color:var(--rd-olive);white-space:nowrap}
.td-price-note{font-size:13px;line-height:1.85;color:var(--rd-muted);padding:18px 21px;border-left:4px solid var(--rd-olive);background:#fff;border-radius:10px;margin-bottom:24px}
.td-alert{padding:23px 25px;background:#fff;border:1px solid var(--rd-border);border-left:4px solid var(--rd-olive);border-radius:16px;color:var(--rd-text);margin:0 0 23px}
.td-alert strong{font-size:14px}.td-alert p{font-size:13px;color:var(--rd-muted);line-height:1.8;margin:9px 0}.td-alert small{color:var(--rd-olive);font-weight:800}
.td-filter{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:17px 20px;background:var(--rd-secondary-bg);border:1px solid var(--rd-border);border-radius:16px;margin:0 0 24px}
.td-filter label{font-size:13px;font-weight:800;color:var(--rd-text)}
.td-filter select{border:1px solid var(--rd-border);border-radius:10px;min-height:44px;padding:0 13px;background:#fff;color:var(--rd-text);font:inherit;font-size:12px}
.td-filter span{margin-left:auto;font-size:12px;color:var(--rd-muted)}
.td-attraction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.td-attraction{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rd-border);border-radius:24px;overflow:hidden;transition:transform .3s,box-shadow .3s;box-shadow:0 9px 24px rgba(24,33,35,.03)}
.td-attraction:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(24,33,35,.09)}
.td-attraction[hidden],.tour-detail-page [data-td-guide-language][hidden]{display:none!important}
.td-attraction__photo{height:210px;margin:0;position:relative;overflow:hidden;background:linear-gradient(125deg,#255762,#182123);color:var(--rd-accent)}
.td-attraction__photo img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.td-attraction:hover .td-attraction__photo img{transform:scale(1.035)}
.td-attraction__photo img.is-broken{display:none!important}
.td-attraction__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:22px;font-family:var(--rd-font-accent);text-align:center;padding:20px}
.td-attraction__placeholder small{font:800 10px var(--rd-font-body);letter-spacing:.1em;color:#fff}
.td-attraction__area{position:absolute;bottom:0;left:0;right:0;z-index:2;background:rgba(24,33,35,.87);color:#fff;font-size:10px;line-height:1.4;padding:9px 13px}
.td-attraction__body{padding:22px 22px 19px;display:flex;flex-direction:column;flex:1;gap:13px}
.td-attraction__zone{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--rd-olive);font-weight:800}
.td-attraction h3{margin:0;font-size:clamp(19px,1.75vw,25px);line-height:1.19;letter-spacing:-.04em;color:var(--rd-text)}
.td-attraction__description{font-size:12px;color:var(--rd-muted);line-height:1.75;margin:0}
.td-attraction__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.td-attraction__facts div{border-radius:12px;background:var(--rd-secondary-bg);padding:13px;min-width:0}
.td-attraction__facts div:first-child{grid-column:1/-1;background:#e6ebdf}
.td-attraction__facts span{display:block;font-size:9px;line-height:1.3;font-weight:850;letter-spacing:.07em;color:var(--rd-muted);margin-bottom:7px}
.td-attraction__facts strong{display:block;font-size:12px;line-height:1.55;color:var(--rd-text);font-weight:800}
.td-attraction__facts div:first-child strong{font-size:14px}
.td-attraction__note{padding-top:12px;border-top:1px solid var(--rd-border);font-size:11px;line-height:1.7;color:var(--rd-muted);margin:0}
.td-attraction__actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:auto}
.td-attraction__actions a,.td-attraction__actions button{border-radius:10px;min-height:42px;display:flex;align-items:center;justify-content:center;font-family:var(--rd-font-body);font-size:11px;line-height:1.4;font-weight:850;padding:11px;text-decoration:none;cursor:pointer}
.td-attraction__actions a{background:var(--rd-text);color:#fff}.td-attraction__actions a:hover{background:var(--rd-dark)}
.td-attraction__actions button{border:1px solid var(--rd-border);background:var(--rd-secondary-bg);color:var(--rd-olive)}
.td-attraction__actions button:hover{background:var(--rd-accent)}
.td-attraction__credit{font-size:9px;line-height:1.65;margin:0;color:var(--rd-muted)}.td-attraction__credit a{color:var(--rd-olive);text-underline-offset:3px}
.tour-detail-page .sd-form [aria-invalid=true]{border-color:#b93c3c!important;outline:2px solid #b93c3c33}
.tour-detail-page .rd-related h3 a:hover{text-decoration:underline}
.tour-detail-page .sd-form .sd-form-grid__wide{grid-column:1/-1}
.tour-detail-page .sd-form .sd-form-grid textarea{width:100%;min-height:86px}
/* Visibility remains safe if an animation script or observer fails, while preserving built-in hover/reveal styling. */
.tour-detail-page [data-sd-reveal]{opacity:1;transform:none}
@media(min-width:1100px){.tour-detail-page .site-nav__actions .quote-button{white-space:nowrap}}
@media(max-width:1050px){.td-attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.td-attraction-grid{grid-template-columns:1fr}.td-attraction__photo{height:238px}.td-attraction__body{padding:20px}.td-filter span{margin-left:0}.tour-detail-page .sd-hero__word{font-size:clamp(75px,18vw,140px)}}
@media(prefers-reduced-motion:reduce){.td-attraction,.td-attraction__photo img{transition:none!important}}
