/* TLC accessibility fixes (WPD-0002) */
.tlc-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.tlc-skip-links{position:relative;z-index:100000}
.tlc-skip-link{position:absolute;left:8px;top:-200px;background:#000;color:#fff!important;padding:12px 18px;font-size:16px;line-height:1.2;text-decoration:underline;z-index:100000;border:2px solid #fff;outline:3px solid #000}
.tlc-skip-link:focus,.tlc-skip-link:focus-visible{top:8px}
#main-content,#navbar_top,#site-footer,#our-menus,[id="main-content"]{scroll-margin-top:120px}
#main-content:focus,#site-footer:focus,#navbar_top:focus,#our-menus:focus{outline:none}
#main-content:focus-visible,#site-footer:focus-visible,#navbar_top:focus-visible,#our-menus:focus-visible{outline:3px solid #008279;outline-offset:-3px}
main#main-content{display:block}

/* Headings converted from styled divs keep their old look */
h1.heading,h2.heading,h3.heading{margin:0;padding:0;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
.content h2.heading,.content h3.heading{margin-bottom:inherit}
.banner-text h1.heading{font-size:inherit}
h1.tlc-room-title{font-size:30px;line-height:31px;letter-spacing:0;color:var(--pdr-brand-colour);text-align:left!important;font-weight:bold;margin:0;padding-bottom:15px}
@media (max-width:767px){h1.tlc-room-title{text-align:center!important}}
h1.tlc-page-title{font-size:30px;line-height:36px;font-weight:bold;margin:0;padding-bottom:15px}
.privacyContent .tlc-h{font-size:16px;line-height:24px;font-weight:700;margin:24px 0 8px;padding:0;text-transform:none;letter-spacing:normal;font-family:inherit;color:inherit}
.privacyContent .tlc-h3{font-size:16px;text-decoration:underline}
.privacyContent h2.page-title{margin:0 0 12px}
h1.tlc-policy-title{margin:0}

/* Visually hidden custom checkboxes stay reachable for screen readers and keyboard */
.terms-box .chk label{position:relative}
.terms-box .chk label input[type=checkbox]{display:block!important;position:absolute!important;opacity:0!important;width:24px!important;height:24px!important;margin:0!important;left:0;top:0;z-index:2;cursor:pointer}
.terms-box .chk label input[type=checkbox]:focus-visible + span{outline:3px solid #000;outline-offset:2px}

/* Colour contrast: brand teal darkened slightly behind white text (3.98:1 -> 4.70:1) */
.newsletter_button-h a.btn:not(:hover),header .btn-booktable:not(:hover),.btn-primary-custom:not(:hover),#contact-submit:not(:hover),.book-btn:not(:hover),.special-note,#openmenu:not(:hover),.roomwise.btn:not(:hover){background-color:#008279!important;border-color:#008279!important}
/* Teal text on white/light grey (3.81-3.98:1 -> 4.8-5.0:1) */
#pagenav a:not(:hover){color:#007d74!important}
body{--pdr-brand-colour:#007d74!important;--pdr-brand-alt-colour:#007d74!important}
.roomwise.btn:not(:hover) span{color:#fff!important}

/* Target size 24x24 (WCAG 2.5.8) for footer social icons */
footer a[href*="instagram.com"],footer a[href*="facebook.com"]{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}

/* Video pause/play control */
.tlc-a11y-video-wrap{position:relative}
.tlc-a11y-video-toggle{position:absolute;right:12px;bottom:12px;z-index:5;min-width:44px;min-height:44px;padding:8px 12px;border:2px solid #fff;border-radius:4px;background:rgba(0,0,0,.75);color:#fff;font-size:14px;line-height:1;cursor:pointer}
.tlc-a11y-video-toggle:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #000}

/* External booking notice dialog */
.tlc-ext-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px}
.tlc-ext-dialog{background:#fff;color:#111;max-width:480px;width:100%;padding:28px 24px;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.4);font-size:16px;line-height:1.5}
.tlc-ext-dialog h2{font-size:22px;line-height:1.3;margin:0 0 12px;padding:0;color:#111}
.tlc-ext-dialog p{margin:0 0 20px;color:#111}
.tlc-ext-actions{display:flex;gap:12px;flex-wrap:wrap}
.tlc-ext-actions button{min-height:44px;padding:10px 20px;font-size:16px;border-radius:4px;cursor:pointer;border:2px solid #008279}
.tlc-ext-continue{background:#008279;color:#fff}
.tlc-ext-cancel{background:#fff;color:#005f58}
.tlc-ext-actions button:focus-visible{outline:3px solid #000;outline-offset:2px}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important}}
