[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
#configurator, #generated-plans { scroll-margin-top: 96px; }
body.menu-open { overflow: hidden; }
a[data-inert] { cursor: default; }
#back-top { position: fixed; right: 20px; bottom: 200px; z-index: 90; width: 44px; height: 44px; border: 1px solid var(--cherry-line); border-radius: 50%; background: #fff; color: var(--cherry-subtle); box-shadow: 0 2px 8px #0000000b; font-size: 24px; }
#faq [role=region] { animation:none; }
#faq button[aria-expanded=true] svg { transform:rotate(180deg); }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
/* Source scales spacing from a 375px mobile design, while header/footer remain fixed. */
@media (max-width:767px) { #tpx { --tpx:0.26666666666666666vw!important; } }



/* Country and plan overlays use the original shared component layout. */
body.purchase-modal-open {overflow:hidden}
.purchase-details-overlay {position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.4)}
#purchase-plan-dialog {z-index:70}
#purchase-country-dialog {z-index:100}
#purchase-country-dialog [data-purchase-country][aria-pressed=true] {background:var(--cherry-soft);color:var(--cherry-link)}
#purchase-country-dialog [data-purchase-country][hidden] {display:none!important}
#configurator button[aria-disabled=true] {cursor:default}

/* Language and currency are static header labels. */
#sdk-header .header-locale-label, .mobile-menu .header-locale-label { cursor:default; }
#sdk-header .header-locale-label:hover { color:var(--cherry-strong); }
.mobile-menu .header-locale-label:active { background:transparent; }

/* Static payment marks replace the footer app-download actions. */
.footer-payment-methods { display:flex; flex-wrap:wrap; align-items:center; gap:10px; max-width:100%; }
.footer-payment-mark { display:flex; align-items:center; justify-content:center; flex:0 0 58px; width:58px; height:40px; }
.footer-payment-mark img { display:block; flex-shrink:0; object-fit:contain; }

/* Social profile URLs are configured in app/Config/SocialLinks.php. */
.footer-socials { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:12px; max-width:100%; }
#footer .footer-social-link { display:inline-flex; flex:0 0 40px; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--cherry-text); text-decoration:none; cursor:pointer; transition:color .15s ease,background-color .15s ease; }
#footer .footer-social-link svg { display:block; width:16px; height:16px; flex-shrink:0; fill:currentColor; }
#footer .footer-social-link:hover { color:var(--cherry-primary); background:var(--cherry-rose-soft); }
#footer .footer-social-link:active { color:var(--cherry-primary-active); }
#footer .footer-social-link:focus-visible { outline:2px solid var(--cherry-primary); outline-offset:2px; }
