/*
 * Cookie consent banner (inc/consent.php, assets/js/consent.js). A card at the bottom of the
 * screen, above the booking bars. "Reject all" and "Accept all" have the same weight, as the
 * EU and UK regulators expect. House colours, written out per rule as in the rest of the theme.
 */
.tgt-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; display: flex; justify-content: center; pointer-events: none; }
.tgt-consent[hidden] { display: none; }
.tgt-consent__box { width: min(560px, 100%); padding: 22px 24px 20px; border: 1px solid rgba(200, 164, 74, .45); border-radius: 18px; background: #0e1620; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); color: rgba(255, 255, 255, .86); pointer-events: auto; }
.tgt-consent__title { margin: 0 0 6px; font-family: Georgia, 'Times New Roman', serif; font-size: 20px; color: #fff; }
.tgt-consent__text { margin: 0; font-family: 'Trebuchet MS', 'Segoe UI', sans-serif; font-size: 14.5px; line-height: 1.6; }
.tgt-consent__text a { color: #e0c475; text-decoration: underline; text-underline-offset: 3px; }
.tgt-consent__prefs { display: grid; gap: 10px; margin: 16px 0 0; }
.tgt-consent__prefs[hidden] { display: none; }
.tgt-consent__opt { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; font-family: 'Trebuchet MS', 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.5; cursor: pointer; }
.tgt-consent__opt input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #c8a44a; }
.tgt-consent__opt strong { display: block; color: #fff; }
.tgt-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.tgt-consent__btn { flex: 1 1 auto; min-height: 44px; padding: 10px 18px; border: 1.5px solid rgba(255, 255, 255, .55); border-radius: 999px; background: transparent; font-family: 'Trebuchet MS', 'Segoe UI', sans-serif; font-size: 14.5px; font-weight: 700; color: #fff; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.tgt-consent__btn:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.tgt-consent__btn[hidden] { display: none; }
.tgt-consent__btn--main { border-color: #c8a44a; background: #c8a44a; color: #0e1620; }
.tgt-consent__btn--main:hover { border-color: #e0c475; background: #e0c475; color: #0e1620; }
.tgt-consent__btn--quiet { flex: 0 1 auto; border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }
.tgt-consent__btn:focus-visible, .tgt-consent__opt input:focus-visible { outline: 3px solid #e0c475; outline-offset: 2px; }
/* The footer's "Cookie settings" link and the legal pages' button look like links. */
.tgt-f-legal button, .tgt-legal__inline-btn { padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; }
.tgt-legal__inline-btn { text-decoration: underline; text-underline-offset: 3px; }
.tgt-f-legal button:hover { color: #e0c475; }
@media (max-width: 560px) {
	.tgt-consent { left: 10px; right: 10px; bottom: 10px; }
	.tgt-consent__box { padding: 18px 18px 16px; }
	.tgt-consent__actions .tgt-consent__btn { flex: 1 1 40%; }
}
@media (prefers-reduced-motion: reduce) {
	.tgt-consent__btn { transition: none; }
}
