/* Hotel Vasanta scoped consent UI, v1.0.0. Visual geometry follows supplied reference. */
#lcds-cookie-module { font: 16px/1.5 Arial, sans-serif; color: #242424; }
#lcds-cookie-module [hidden] { display: none !important; }
#lcds-cookie-module h2 { font: 600 1.25rem/1.3 Arial,sans-serif; margin: 0 0 .7rem; color: #202020; }
#lcds-cookie-module p { font: inherit; margin: .5rem 0 .85rem; }
#lcds-cookie-module a { color: #3d4a51; text-decoration: underline; }
.lcds-cookie-banner { position: fixed; z-index: 10000; inset: auto 1rem 1rem; max-width: 1100px; margin: auto; padding: 1.3rem 1.5rem; background: #fff; border: 1px solid #c6c9c9; border-radius: 8px; box-shadow: 0 6px 30px #0003; max-height: 75vh; overflow: auto; }
#lcds-cookie-module .lcds-cookie-note { color: #505050; font-size: .9rem; }
.lcds-cookie-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
#lcds-cookie-module .lcds-cookie-actions button { flex: 1 1 160px; background: #fff; color: #252525; border: 1px solid #555; border-radius: 4px; padding: .75rem .9rem; min-height: 44px; font: 600 .95rem/1.3 Arial,sans-serif; cursor: pointer; text-align: center; }
#lcds-cookie-module .lcds-cookie-actions button:hover { background: #eee; }
#lcds-cookie-module button:focus-visible, #lcds-cookie-module input:focus-visible, button.lcds-cookie-settings:focus-visible { outline: 3px solid #34697f; outline-offset: 3px; }
.lcds-cookie-dialog { color: #242424; background: #fff; border: 1px solid #b5b5b5; border-radius: 8px; padding: 1.5rem; width: min(660px,calc(100vw - 2rem)); max-height: 85vh; overflow: auto; box-sizing: border-box; z-index: 10002; }
.lcds-cookie-dialog::backdrop { background: #0008; }
.lcds-cookie-category { border-top: 1px solid #ddd; padding: 1rem 0 .25rem; }
.lcds-cookie-category label { display: flex; align-items: center; gap: .65rem; cursor: pointer; }
#lcds-cookie-module input[type="checkbox"] { appearance: auto; width: 20px; height: 20px; margin: 0; accent-color: #374b55; flex-shrink: 0; }
#lcds-cookie-module .lcds-cookie-category p { font-size: .9rem; margin-left: 2rem; }
.lcds-cookie-always { color: #555; font-size: .8rem; margin-left: auto; }
#lcds-cookie-module .lcds-cookie-close { display: block; background: transparent; color: #444; font: inherit; text-decoration: underline; border: 0; margin: 1rem auto 0; padding: .5rem; cursor: pointer; }
button.lcds-cookie-settings { background: transparent; border: 0; color: inherit; text-decoration: underline; font: inherit; padding: 0; cursor: pointer; }
.lcds-cookie-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width: 600px) { .lcds-cookie-banner { inset: auto 1rem 1rem; padding: 1rem; } .lcds-cookie-dialog { padding: 1rem; } .lcds-cookie-actions { flex-direction: column; } #lcds-cookie-module .lcds-cookie-actions button { flex: auto; width: 100%; } }

/* Per-category inventory */
#lcds-cookie-module .lcds-cookie-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.55rem; height: 1.55rem; padding: 0 .25rem; border-radius: 1rem; background: #e9edef; color: #263942; font-size: .85rem; font-weight: 700; flex-shrink: 0; }
#lcds-cookie-module .lcds-cookie-details { margin: .5rem 0 1rem 2rem; font-size: .9rem; }
#lcds-cookie-module .lcds-cookie-details summary { cursor: pointer; text-decoration: underline; padding: .5rem 0; min-height: 32px; }
#lcds-cookie-module .lcds-cookie-details summary:focus-visible { outline: 3px solid #34697f; outline-offset: 2px; }
#lcds-cookie-module .lcds-cookie-item { background: #f6f7f7; padding: .8rem; border: 1px solid #ddd; border-radius: 4px; }
#lcds-cookie-module .lcds-cookie-item code { overflow-wrap: anywhere; font-size: .85rem; }
#lcds-cookie-module .lcds-cookie-item dl { margin: .7rem 0 0; }
#lcds-cookie-module .lcds-cookie-item dt { font-weight: 700; margin-top: .5rem; }
#lcds-cookie-module .lcds-cookie-item dd { margin: .1rem 0 .6rem; overflow-wrap: anywhere; }
#lcds-cookie-module .lcds-cookie-details p { margin-left: 0; }
@media(max-width: 420px) { .lcds-cookie-always { font-size: .7rem; } .lcds-cookie-category label { gap: .4rem; } #lcds-cookie-module .lcds-cookie-details { margin-left: 0; } }

/* Contain sizing despite host styles; preserve equal outlined choices. */
#lcds-cookie-module, #lcds-cookie-module * { box-sizing: border-box; }
#lcds-cookie-module { overflow-wrap: anywhere; }
#lcds-cookie-module .lcds-cookie-banner { width: auto; }
#lcds-cookie-module .lcds-cookie-dialog { margin: auto; }
#lcds-cookie-module .lcds-cookie-category label { flex-wrap: wrap; }
#lcds-cookie-module .lcds-cookie-category input:disabled { cursor: not-allowed; }
#lcds-cookie-module .lcds-cookie-item + .lcds-cookie-item { margin-top: .65rem; }
#lcds-cookie-module .lcds-cookie-note[role="status"] { font-weight: 600; }
#lcds-cookie-module a:focus-visible { outline: 3px solid #34697f; outline-offset: 3px; }
button.lcds-cookie-settings { min-height: 44px; padding: .5rem; }
.lcds-cookie-footer { padding: 1rem; text-align: center; font-family: Arial,sans-serif; }
@media (forced-colors: active) { #lcds-cookie-module .lcds-cookie-count { border: 1px solid CanvasText; } }
/* Isolate banner typography from the hotel theme's important heading rules. */
#lcds-cookie-module h2 {font-family:Arial,sans-serif!important;font-weight:600!important;letter-spacing:normal!important;text-transform:none!important;line-height:1.3!important;}
.lcds-cookie-policy {padding-top:60px;padding-bottom:60px;max-width:1000px;line-height:1.8;overflow-wrap:anywhere;}
.lcds-cookie-policy h1 {font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;}
.lcds-cookie-policy h2 {margin-top:2rem;}
.lcds-cookie-policy li {margin-bottom:1rem;}
.lcds-map-consent {height:100%;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;color:#293a31;text-align:center;background:#f7eee8;}
.lcds-map-consent button {padding:12px 20px;min-height:44px;border:1px solid #293a31;background:white;color:#293a31;font:600 16px Arial,sans-serif;cursor:pointer;}
.lcds-map-consent.lcds-map-loaded {padding:0;display:block;}
.footer .lcds-cookie-settings {display:block;color:inherit;text-align:left;padding-left:0;}

/* Compact banner: bottom-right on desktop, viewport-safe on mobile. */
#lcds-cookie-module .lcds-cookie-banner { inset: auto 1rem 1rem auto; width: min(400px, calc(100vw - 2rem)); max-width: 400px; margin: 0; }
#lcds-cookie-module .lcds-cookie-banner .lcds-cookie-actions { flex-direction: column; }
#lcds-cookie-module .lcds-cookie-banner .lcds-cookie-actions button { flex: auto; width: 100%; }

/* Equal dark treatment for accepting and rejecting; configuration unchanged. */
#lcds-cookie-module .lcds-cookie-banner .lcds-cookie-actions button[data-lcds-action="accept"],
#lcds-cookie-module .lcds-cookie-banner .lcds-cookie-actions button[data-lcds-action="reject"] { background: #252525; color: #ffffff; border-color: #252525; }
#lcds-cookie-module .lcds-cookie-banner .lcds-cookie-actions button[data-lcds-action="accept"]:hover,
#lcds-cookie-module .lcds-cookie-banner .lcds-cookie-actions button[data-lcds-action="reject"]:hover { background: #111111; color: #ffffff; border-color: #111111; }

.ft .lcds-cookie-settings{display:block;margin:1rem auto;color:inherit;font:14px Arial,sans-serif;letter-spacing:normal;text-transform:none;}
.lcds-map-placeholder{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;text-align:center;background:#e1e0df;color:#1a2226}.lcds-map-placeholder button{padding:12px 20px;background:white;border:1px solid #555;cursor:pointer;min-height:44px;}
