/*
 * Mirrors the Next.js banner (src/components/layout/CookieConsent.tsx), whose
 * Tailwind v4 classes resolve to the values below. Each rule carries the
 * classes it stands in for, so the two sides can be diffed by eye, and every
 * colour is the hex of its Tailwind token. The dfd-native theme styles bare
 * h2 / p / a / button heavily, so every property it touches is reset here.
 */

/* The theme sets display on bare divs, which beats the UA rule for [hidden] —
   hence !important: .dc-simple, .dc-detail, .dc-close and .dc-group-desc are
   all shown and hidden by that attribute alone. */
.dc-root[hidden],.dc-root [hidden]{display:none!important}
.dc-root *,.dc-root *:before,.dc-root *:after{box-sizing:border-box}

/* fixed inset-0 bg-black/50 backdrop-blur-sm, animated to opacity .7 */
.dc-root .dc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999998;
	background:rgba(0,0,0,.5);opacity:.7;
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	animation:dc-fade .35s ease-out}

/* left-3 right-3 md:left-6 md:right-auto md:bottom-6 md:max-w-xl
   max-h-[80vh] overflow-y-auto rounded-2xl bg-white p-6 shadow-2xl ring-1 ring-black/5.
   bottom-[136px] on phones clears the floating buttons, as on the Next.js
   side: this theme stacks .body-buy-ticket (bottom 132px) over
   .body-hotline (86px), and the full-width card would otherwise bury both. */
.dc-root .dc-card{position:fixed;z-index:999999;left:12px;right:12px;bottom:136px;max-height:80vh;overflow-y:auto;
	background:#fff;border-radius:16px;padding:24px;
	box-shadow:0 0 0 1px rgba(0,0,0,.05),0 25px 50px -12px rgba(0,0,0,.25);
	font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:24px;font-weight:400;
	letter-spacing:normal;color:#000;text-align:left;
	-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
	animation:dc-rise .35s ease-out}
@media (min-width:768px){.dc-root .dc-card{right:auto;left:24px;bottom:24px;max-width:36rem}}

/* The theme sets Roboto 14/28 on every div, so inherit stops at .dc-simple. */
.dc-root .dc-card div{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:24px;color:#000}

@keyframes dc-fade{from{opacity:0}to{opacity:.7}}
@keyframes dc-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* text-lg font-bold text-slate-900 */
.dc-root .dc-card .dc-title{margin:0;padding:0;font-family:inherit;font-size:18px;line-height:28px;font-weight:700;
	font-style:normal;letter-spacing:normal;text-transform:none;color:#0f172b}
/* mt-2 text-black leading-relaxed */
.dc-root .dc-card .dc-text{margin:8px 0 0;padding:0;font-family:inherit;font-size:16px;line-height:1.625;font-weight:400;
	font-style:normal;letter-spacing:normal;text-transform:none;color:#000}
/* text-blue-700 underline underline-offset-2 */
.dc-root .dc-card .dc-policy,.dc-root .dc-card .dc-policy:hover,.dc-root .dc-card .dc-policy:focus{
	font:inherit;letter-spacing:normal;color:#1447e6;text-decoration:underline;text-underline-offset:2px}

/* Simple view: mt-5 flex flex-wrap items-center justify-end gap-3.
   flex-wrap because the Customise control makes three items, which do not fit
   side by side on a narrow phone. The detail row drops items-center, so
   .dc-actions-end puts that back to normal. */
.dc-root .dc-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin:20px 0 0;padding:0}

/* rounded-lg border border-slate-300 px-6 py-2.5 font-semibold text-slate-900,
   transition-colors hover:bg-slate-50 */
.dc-root .dc-card .dc-btn{display:inline-block;width:auto;height:auto;min-width:0;margin:0;padding:10px 24px;
	border:1px solid #cad5e2;border-radius:8px;background:transparent;color:#0f172b;
	font-family:inherit;font-size:16px;line-height:24px;font-weight:600;font-style:normal;
	letter-spacing:normal;text-transform:none;text-align:center;text-shadow:none;box-shadow:none;cursor:pointer;
	transition:background-color .15s cubic-bezier(.4,0,.2,1)}
.dc-root .dc-card .dc-btn:hover,.dc-root .dc-card .dc-btn:focus{background:#f8fafc;color:#0f172b;border-color:#cad5e2}
/* rounded-lg bg-slate-900 text-white, hover:bg-slate-800 */
.dc-root .dc-card .dc-btn-primary,.dc-root .dc-card .dc-btn-primary:focus{border-width:0;background:#0f172b;color:#fff}
.dc-root .dc-card .dc-btn-primary:hover,.dc-root .dc-card .dc-btn-primary:focus:hover{background:#1d293d;color:#fff}
.dc-root .dc-card .dc-btn:focus-visible{outline:-webkit-focus-ring-color auto 1px}

/* mr-auto text-sm font-semibold text-slate-700 underline underline-offset-4,
   transition-colors hover:text-slate-900. A text-style control, so it needs
   the same theme resets as .dc-btn; margin-right:auto pushes it away from the
   two buttons sitting at flex-end. */
.dc-root .dc-card .dc-customize{display:inline-block;width:auto;height:auto;min-width:0;
	margin:0 auto 0 0;padding:0;border:0;border-radius:0;background:none;color:#314158;
	font-family:inherit;font-size:14px;line-height:20px;font-weight:600;font-style:normal;
	letter-spacing:normal;text-transform:none;text-align:left;text-shadow:none;box-shadow:none;cursor:pointer;
	text-decoration:underline;text-underline-offset:4px;transition:color .15s cubic-bezier(.4,0,.2,1)}
.dc-root .dc-card .dc-customize:hover,.dc-root .dc-card .dc-customize:focus{
	background:none;color:#0f172b;text-decoration:underline}

/* Detail panel: reachable from the Customise button or a #cookie-settings link. */

/* flex items-start justify-between gap-4 */
.dc-root .dc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
/* -m-1 p-1 text-slate-400 transition-colors hover:text-slate-900, icon h-5 w-5 */
.dc-root .dc-card .dc-close,.dc-root .dc-card .dc-close:focus{display:block;flex:0 0 auto;width:auto;height:auto;min-width:0;margin:-4px;padding:4px;border:0;border-radius:0;
	background:none;color:#90a1b9;line-height:0;box-shadow:none;cursor:pointer;transition:color .15s cubic-bezier(.4,0,.2,1)}
.dc-root .dc-card .dc-close:hover{background:none;color:#0f172b}
/* mt-2 text-sm leading-relaxed text-slate-600 */
.dc-root .dc-card .dc-intro{margin:8px 0 0;padding:0;font-family:inherit;font-size:14px;line-height:1.625;font-weight:400;
	letter-spacing:normal;color:#45556c}
/* The groups sit in an mt-4 wrapper; each one is border-t border-slate-200 py-3. */
.dc-root .dc-card .dc-groups{margin-top:16px}
.dc-root .dc-card .dc-group{border-top:1px solid #e2e8f0;padding:12px 0}
/* flex items-center gap-3 */
.dc-root .dc-group-head{display:flex;align-items:center;gap:12px}
/* flex flex-1 items-center gap-2 text-left font-semibold text-slate-900 */
.dc-root .dc-card .dc-group-name,.dc-root .dc-card .dc-group-name:hover,.dc-root .dc-card .dc-group-name:focus{display:flex;flex:1 1 0;align-items:center;gap:8px;width:auto;height:auto;min-width:0;margin:0;padding:0;border:0;border-radius:0;
	background:none;color:#0f172b;font-family:inherit;font-size:16px;line-height:24px;font-weight:600;font-style:normal;
	letter-spacing:normal;text-transform:none;text-align:left;text-shadow:none;box-shadow:none;cursor:pointer}
/* h-4 w-4 shrink-0 transition-transform, -rotate-90 while the group is collapsed. */
.dc-root .dc-group-name svg{flex:0 0 auto;color:#90a1b9;transform:rotate(-90deg);
	transition:transform .15s cubic-bezier(.4,0,.2,1)}
.dc-root .dc-group-name[aria-expanded="true"] svg{transform:none}
/* text-xs font-medium text-slate-500 */
.dc-root .dc-card .dc-always{font-size:12px;line-height:16px;font-weight:500;color:#62748e}
/* mt-2 pl-6 text-sm leading-relaxed text-slate-600 */
.dc-root .dc-card .dc-group-desc{margin:8px 0 0;padding:0 0 0 24px;font-family:inherit;font-size:14px;line-height:1.625;
	font-weight:400;letter-spacing:normal;color:#45556c}
/* h-6 w-11 rounded-full bg-slate-300, bg-emerald-500 when on;
   knob h-5 w-5 rounded-full bg-white shadow at left-0.5 / left-[22px]. */
.dc-root .dc-card .dc-switch,.dc-root .dc-card .dc-switch:hover,.dc-root .dc-card .dc-switch:focus{display:block;position:relative;flex:0 0 auto;width:44px;height:24px;min-width:0;margin:0;padding:0;border:0;border-radius:9999px;
	background:#cad5e2;line-height:normal;box-shadow:none;cursor:pointer;transition:background-color .15s}
.dc-root .dc-card .dc-switch.is-on,.dc-root .dc-card .dc-switch.is-on:hover,.dc-root .dc-card .dc-switch.is-on:focus{background:#00bc7d}
.dc-root .dc-card .dc-switch.is-locked{cursor:not-allowed;opacity:.6}
.dc-root .dc-card .dc-switch:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:9999px;
	background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);transition:left .15s}
.dc-root .dc-card .dc-switch.is-on:before{left:22px}
/* mt-5 flex flex-wrap justify-end gap-3 border-t border-slate-200 pt-4 —
   no items-center on this row, unlike the simple view. */
.dc-root .dc-actions-end{align-items:normal;margin-top:20px;border-top:1px solid #e2e8f0;padding-top:16px}

/* Way back to the settings, and the stand-in for an embed still blocked. */
.dc-settings-link{display:inline-block;margin-left:12px;color:inherit;text-decoration:underline}
.dc-embed-note{display:block;margin:8px 0;font-size:14px;text-decoration:underline}
