/* ===== Xyr V14: Language & FAQ ===== */
.lang-controls-wrapper{flex-wrap:wrap;align-items:center}
.xy-language-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1 1 380px;max-width:530px;min-width:0}
.lang-action-btns{flex:0 0 auto}
.xy-language-note{flex:0 0 100%}
.xy-language-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.xy-language-choice{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:13px 15px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-color);cursor:pointer;transition:border-color .25s,background-color .25s,box-shadow .25s,transform .25s}
.xy-language-choice:hover{transform:translateY(-2px);border-color:var(--primary)}
.xy-language-choice:has(input:checked){border-color:var(--primary);background:var(--xy-soft,rgba(170,203,230,.08));box-shadow:0 0 0 1px var(--primary),0 12px 32px rgba(0,0,0,.09)}
.xy-language-choice:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:2px}
.xy-language-choice input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.xy-language-choice-flag{font-size:1.7rem;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.18));flex-shrink:0}
.xy-language-choice-name{font-size:.93rem;font-weight:720;color:var(--text-main);white-space:nowrap}
.xy-language-choice-name small{display:block;font-size:.67rem;letter-spacing:.12em;color:var(--text-sub);margin-top:2px}
.xy-language-check{margin-left:auto;color:var(--primary);font-size:.75rem;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s}
.xy-language-choice:has(input:checked) .xy-language-check{opacity:1;transform:scale(1)}
.xy-language-note{flex-basis:100%;margin:2px 0 0;color:var(--primary);font-size:.79rem;min-height:1.1em}
#xy-language-apply:disabled{cursor:wait;opacity:.75}
@keyframes xy-old-lang{from{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(5px)}}
@keyframes xy-new-lang{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
::view-transition-old(root){animation:190ms ease-in both xy-old-lang}
::view-transition-new(root){animation:350ms cubic-bezier(.2,.7,.2,1) both xy-new-lang}
body > header,body > main,body > .page-section,body > footer{transition:opacity .2s ease,filter .2s ease}
body.xy-language-leaving > header,body.xy-language-leaving > main,body.xy-language-leaving > .page-section,body.xy-language-leaving > footer{opacity:.24;filter:blur(2px)}

/* FAQ page: premium cards in all 3 saved themes */
.xy-faq-page{max-width:1250px;margin:0 auto;padding:143px 5% 100px;min-height:75vh}
.xy-faq-intro{max-width:760px;margin:0 auto 42px;text-align:center}
.xy-faq-pill{display:inline-flex;align-items:center;gap:9px;font-size:.68rem;letter-spacing:.17em;font-weight:850;color:var(--primary);border:1px solid var(--border-color);background:var(--card-bg);border-radius:100px;padding:9px 15px;margin-bottom:24px}
.xy-faq-pill i{font-size:.84rem}
.xy-faq-intro h1{font-size:clamp(2.45rem,5.4vw,4.7rem);letter-spacing:-.065em;line-height:1.07;font-weight:900;margin-bottom:22px;color:var(--text-main)}
.xy-faq-intro h1 em{font-style:normal;color:var(--primary)}
.xy-faq-intro>p{font-size:clamp(.96rem,1.4vw,1.12rem);line-height:1.75;color:var(--text-sub);max-width:650px;margin:auto}
.xy-faq-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;max-width:900px;margin:0 auto 30px}
.xy-faq-search-wrap{position:relative;display:flex;align-items:center}
.xy-faq-search-wrap>i{position:absolute;left:20px;color:var(--primary);pointer-events:none}
.xy-faq-search{width:100%;min-width:0;height:58px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:17px;color:var(--text-main);font-size:1rem;padding:16px 18px 16px 52px;outline:0;transition:box-shadow .25s,border-color .25s}
.xy-faq-search::placeholder{color:var(--text-sub)}
.xy-faq-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--xy-soft,rgba(174,211,238,.13))}
.xy-faq-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.xy-faq-filter{padding:9px 15px;border:1px solid var(--border-color);border-radius:100px;background:var(--card-bg);color:var(--text-sub);cursor:pointer;font-size:.81rem;font-weight:720;transition:background-color .22s,color .22s,border-color .22s,transform .22s}
.xy-faq-filter:hover{transform:translateY(-2px);color:var(--text-main);border-color:var(--primary)}
.xy-faq-filter[aria-pressed="true"]{background:var(--primary);color:#0b1622;border-color:var(--primary)}
html[data-xyr-theme="monochrome"] .xy-faq-filter[aria-pressed="true"]{color:#0b0b0b}
.xy-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;max-width:1100px;margin:0 auto}
.xy-faq-item{min-width:0;overflow:hidden;border:1px solid var(--border-color);border-radius:18px;background:var(--card-bg);transition:border-color .24s,box-shadow .24s,transform .24s}
.xy-faq-item[hidden]{display:none!important}
.xy-faq-item:hover{border-color:var(--primary);box-shadow:0 14px 35px rgba(0,0,0,.13)}
.xy-faq-item[open]{border-color:var(--primary);box-shadow:0 15px 45px rgba(0,0,0,.14)}
.xy-faq-item summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;min-height:94px;padding:22px 23px;user-select:none;font-weight:760;font-size:.99rem;line-height:1.45;color:var(--text-main)}
.xy-faq-item summary::-webkit-details-marker{display:none}
.xy-faq-item summary::before{content:'?';display:grid;place-items:center;font-weight:900;color:var(--primary);background:var(--xy-soft,rgba(170,205,238,.09));border:1px solid var(--border-color);border-radius:12px;min-width:32px;height:32px}
.xy-faq-item summary .xy-faq-chevron{margin-left:auto;flex-shrink:0;color:var(--primary);transition:transform .25s}
.xy-faq-item[open] summary .xy-faq-chevron{transform:rotate(180deg)}
.xy-faq-answer{padding:0 24px 23px 68px;color:var(--text-sub);font-size:.91rem;line-height:1.75;animation:xy-faq-appear .28s ease both}
@keyframes xy-faq-appear{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.xy-faq-item:focus-within{outline-offset:2px}
.xy-faq-no-results{max-width:700px;margin:18px auto;color:var(--text-sub);text-align:center;padding:26px;border:1px dashed var(--border-color);border-radius:16px}
.xy-faq-cta{margin:60px auto 0;max-width:920px;padding:31px;background:linear-gradient(125deg,var(--card-bg),var(--bg-color));border:1px solid var(--border-color);border-radius:22px;display:flex;gap:24px;justify-content:space-between;align-items:center}
.xy-faq-cta h2{font-size:1.3rem;font-weight:820;margin-bottom:6px;color:var(--text-main)}
.xy-faq-cta p{font-size:.91rem;color:var(--text-sub)}
.xy-faq-cta .btn{white-space:nowrap}
/* FAQ mini-section on homepage */
.xy-faq-teaser{padding:65px 5% 96px;max-width:1260px;margin:auto}
.xy-faq-teaser-head{text-align:center;margin:0 auto 31px;max-width:680px}
.xy-faq-teaser-head>span{font-weight:850;color:var(--primary);font-size:.72rem;letter-spacing:.12em}
.xy-faq-teaser-head h2{font-size:clamp(1.8rem,3.3vw,2.8rem);letter-spacing:-.055em;margin:10px 0 13px;line-height:1.18}
.xy-faq-teaser-head p{color:var(--text-sub);font-size:.95rem}
.xy-faq-teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.xy-faq-teaser-card{padding:24px 23px;border:1px solid var(--border-color);background:var(--card-bg);border-radius:19px;min-width:0}
.xy-faq-teaser-card i{color:var(--primary);font-size:1.15rem;margin-bottom:16px}
.xy-faq-teaser-card h3{font-size:1rem;margin-bottom:9px}
.xy-faq-teaser-card p{color:var(--text-sub);font-size:.85rem;line-height:1.65}
.xy-faq-teaser-link{margin-top:26px;text-align:center}
@media(max-width:930px){.xy-faq-grid{grid-template-columns:1fr}.xy-faq-cta{flex-direction:column;text-align:center}.xy-faq-teaser-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.xy-language-selector{max-width:none;width:100%;flex:0 0 auto}}
@media(max-width:720px){.xy-language-selector{max-width:none;width:100%;flex:0 0 auto}.lang-controls-wrapper{align-items:stretch}.lang-action-btns{justify-content:flex-end}.xy-faq-page{padding:113px 5% 65px}.xy-faq-intro{margin-bottom:30px}.xy-faq-item summary{min-height:77px;padding:17px 16px;font-size:.92rem}.xy-faq-answer{padding:0 17px 19px 61px}.xy-faq-filter{padding:9px 11px;font-size:.76rem}.xy-faq-cta{margin-top:34px;padding:24px 17px}.xy-faq-teaser{padding:40px 5% 65px}.xy-faq-teaser-grid{grid-template-columns:1fr}}
@media(max-width:420px){.xy-language-selector{gap:8px}.xy-language-choice{padding:11px 9px;gap:8px}.xy-language-choice-flag{font-size:1.4rem}.xy-language-choice-name{font-size:.83rem}.xy-language-check{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important}.xy-language-choice,.xy-faq-item,.xy-faq-filter,.xy-faq-answer,body > header,body > main,body > .page-section,body > footer{animation:none!important;transition:none!important}}


/* Align both settings action buttons: same pill silhouette and dimensions. */
.xy-theme-action-buttons .btn-modern-cancel,
.xy-theme-action-buttons .btn-modern-apply,
.lang-action-btns .btn-modern-cancel,
.lang-action-btns .btn-modern-apply {
  box-sizing:border-box;
  min-height:42px;
  padding:10px 22px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:600;
  line-height:1.2;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  white-space:nowrap;
}
