/*! AST Core – switchers, stars and review form. Colours come from the theme through CSS variables. */

.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}

/* ---------- switchers ---------- */
.ast-sw{position:relative;display:inline-block;font:inherit;line-height:1.2;--sw-ink:var(--ast-ink,#0A2F2E);--sw-line:var(--ast-line,rgba(10,47,46,.12));--sw-hover:var(--ast-hover,rgba(15,92,88,.08));--sw-accent:var(--ast-teal,#0F5C58)}
.ast-sw__btn{display:inline-flex;align-items:center;gap:.5em;min-height:40px;padding-block:0;padding-inline:.8em .65em;border:1px solid var(--ast-sw-border,rgba(255,255,255,.3));border-radius:999px;background:var(--ast-sw-bg,transparent);color:var(--ast-sw-fg,inherit);font:inherit;font-size:.9375rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background-color .15s,border-color .15s}
.ast-sw__btn:hover{background:var(--ast-sw-bg-hover,rgba(255,255,255,.12))}
.ast-sw__btn:focus-visible,.ast-sw__opt:focus-visible{outline:3px solid var(--ast-focus,#FFB703);outline-offset:2px}
.ast-sw__btn .ast-ico{transition:transform .18s}
.ast-sw.is-open .ast-sw__btn .ast-ico--chevron{transform:rotate(180deg)}
.ast-sw__sym{font-weight:700;min-width:1ch;text-align:center}

.ast-flag{display:inline-block;inline-size:24px;block-size:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(10,47,46,.18);flex:none;vertical-align:middle}

.ast-sw__panel{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:1200;min-inline-size:248px;max-inline-size:min(92vw,320px);padding:8px;border-radius:16px;background:#fff;color:var(--sw-ink);box-shadow:0 22px 48px -14px rgba(10,47,46,.38),0 0 0 1px rgba(10,47,46,.07);visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility 0s .16s}
.ast-sw.is-open .ast-sw__panel{visibility:visible;opacity:1;transform:none;transition:opacity .16s,transform .16s,visibility 0s}
html:not(.ast-js) .ast-sw[data-ast-sw]:focus-within .ast-sw__panel{visibility:visible;opacity:1;transform:none}
.ast-sw__list{list-style:none;margin:0;padding:0}
.ast-sw__list li{margin:0;padding:0}
.ast-sw__opt{display:flex;align-items:center;gap:12px;inline-size:100%;min-height:48px;padding-block:6px;padding-inline:12px;border:0;border-radius:12px;background:transparent;color:var(--sw-ink);font:inherit;font-size:1rem;font-weight:500;text-align:start;text-decoration:none;cursor:pointer}
.ast-sw__opt:hover{background:var(--sw-hover)}
.ast-sw__opt.is-active{font-weight:700;background:var(--sw-hover)}
.ast-sw__opt .ast-ico--check{margin-inline-start:auto;color:var(--sw-accent)}
.ast-sw__name{flex:1 1 auto;min-inline-size:0}
.ast-sw__short{display:none;font-weight:700;font-size:.8125rem;letter-spacing:.04em}
.ast-sw--cur .ast-sw__sym{inline-size:1.7em;font-size:1.0625rem;color:var(--sw-accent)}
.ast-sw--cur .ast-sw__ccode{inline-size:2.6em;font-weight:700}
.ast-sw--cur .ast-sw__panel{min-inline-size:176px}
/* currency menu shows just "€ EUR": the currency name is hidden visually but still read out by screen readers */
.ast-sw--cur .ast-sw__panel .ast-sw__name{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap;flex:none}

/* inline variants (footer, mobile menu) */
.ast-sw--inline,.ast-sw--list{display:block}
.ast-sw--inline .ast-sw__list,.ast-sw--list .ast-sw__list{display:flex;flex-wrap:wrap;gap:8px}
.ast-sw--inline .ast-sw__opt,.ast-sw--list .ast-sw__opt{inline-size:auto;min-height:40px;padding-inline:12px;gap:8px;border:1px solid var(--ast-sw-inline-border,rgba(255,255,255,.22));color:var(--ast-sw-inline-fg,inherit);font-size:.9375rem}
.ast-sw--inline .ast-sw__opt:hover,.ast-sw--list .ast-sw__opt:hover{background:var(--ast-sw-inline-hover,rgba(255,255,255,.1))}
.ast-sw--inline .ast-sw__opt.is-active,.ast-sw--list .ast-sw__opt.is-active{background:var(--ast-sw-inline-active,rgba(255,255,255,.16));border-color:var(--ast-sw-inline-active-border,rgba(255,255,255,.5))}
.ast-sw--inline .ast-sw__name{display:none}
.ast-sw--inline .ast-sw__short{display:inline}
.ast-sw--inline .ast-ico--check{display:none}
.ast-sw--lang.ast-sw--inline .ast-sw__opt{padding-inline:10px}
.ast-sw--cur.ast-sw--inline .ast-sw__sym{color:inherit;inline-size:auto}
.ast-sw--cur.ast-sw--inline .ast-sw__ccode{inline-size:auto}
.ast-sw--list .ast-sw__name{display:inline}
.ast-sw--list .ast-sw__short{display:none}

/* ---------- phones: the menu opens right under its own button (no dimmed screen, no bottom sheet) ---------- */
@media (max-width:720px){
	.ast-sw__panel{inline-size:min(224px,calc(100vw - 16px));min-inline-size:0;max-inline-size:none;max-block-size:calc(100vh - 110px);max-block-size:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:6px;border-radius:14px;inset-block-start:calc(100% + 14px)}
	.ast-sw--cur .ast-sw__panel{inline-size:min(184px,calc(100vw - 16px));min-inline-size:0}
	.ast-sw__opt{min-height:50px;font-size:1.0625rem}
}

@media (prefers-reduced-motion:reduce){
	.ast-sw__panel,.ast-sw__btn .ast-ico{transition:none}
}

/* ---------- stars ---------- */
.ast-stars{--s:16px;display:inline-block;inline-size:calc(var(--s)*5);block-size:var(--s);vertical-align:-.15em;background:linear-gradient(90deg,var(--ast-star,#FFB703) calc(var(--ast-rating,0)/5*100%),var(--ast-star-off,#CFDAD9) 0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5L7 14.1 1.8 9.2l7.1-.9z'/%3E%3C/svg%3E") 0 0/var(--s) var(--s) repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5L7 14.1 1.8 9.2l7.1-.9z'/%3E%3C/svg%3E") 0 0/var(--s) var(--s) repeat-x}
.ast-stars--lg{--s:22px}

/* ---------- review form ---------- */
.ast-review-form{display:grid;gap:14px;max-inline-size:640px}
.ast-review-form .ast-field{margin:0;display:grid;gap:6px}
.ast-review-form label{font-weight:600;font-size:.9375rem}
.ast-review-form input[type=text],.ast-review-form input[type=email],.ast-review-form textarea{inline-size:100%;padding:12px 14px;border:1.5px solid var(--ast-line-strong,rgba(10,47,46,.28));border-radius:12px;background:#fff;color:inherit;font:inherit}
.ast-review-form input:focus,.ast-review-form textarea:focus{outline:3px solid var(--ast-focus,#FFB703);outline-offset:1px;border-color:var(--ast-teal,#0F5C58)}
.ast-review-form fieldset{border:0;margin:0;padding:0}
.ast-review-form legend{font-weight:600;font-size:.9375rem;margin-block-end:6px;padding:0}
.ast-rate__stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.ast-rate__stars input{position:absolute;opacity:0;pointer-events:none}
.ast-rate__stars label{inline-size:34px;block-size:34px;cursor:pointer;background:var(--ast-star-off,#CFDAD9);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5L7 14.1 1.8 9.2l7.1-.9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.5 7.1.9-5.2 4.9 1.3 7.1L12 17.7l-6.3 3.5L7 14.1 1.8 9.2l7.1-.9z'/%3E%3C/svg%3E") center/contain no-repeat}
.ast-rate__stars input:checked~label,.ast-rate__stars label:hover,.ast-rate__stars label:hover~label{background:var(--ast-star,#FFB703)}
.ast-rate__stars input:focus-visible+label{outline:3px solid var(--ast-focus,#FFB703);outline-offset:2px}
.ast-review-form .ast-note{margin:0;font-size:.8125rem;opacity:.75}
.ast-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 1.5em;border:0;border-radius:999px;background:var(--ast-amber,#FFB703);color:var(--ast-ink,#0A2F2E);font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.ast-btn:hover{filter:brightness(1.05)}
.ast-btn:focus-visible{outline:3px solid var(--ast-teal,#0F5C58);outline-offset:3px}
