/* Shared storefront components, independent of page modules. */
body .footer { background:#181818; border-top:1px solid #ffffff20; }
body .footer__container { padding-block:54px; }
body .footer__col-title { font-size:17px; }
body .footer__link { font-size:13px; }
.wb-scroll-top { width:44px; height:44px; border-radius:50%; transform:none; background:rgba(255,255,255,.92); color:#202020; border-color:rgba(32,32,32,.18); box-shadow:0 4px 18px rgba(0,0,0,.12); backdrop-filter:blur(12px); }
.wb-scroll-top svg { transform:none; }
.wb-scroll-top:hover,.wb-scroll-top:focus-visible { background:#C41E2E; border-color:#C41E2E; color:#fff; }
@media(max-width:767px) { .wb-scroll-top-wrap { right:12px; bottom:calc(92px + var(--wb-keyboard-offset,0px)); } }

.wb-request-modal__dialog { width:min(640px,100vw); padding:40px 32px; background:#fff; color:#181818; }
.wb-request-modal__dialog .wb-auth-panel__title { font-family:var(--wb-font-display); font-size:30px; font-weight:650; line-height:1.15; letter-spacing:-.025em; text-transform:none; }
.wb-request-modal__dialog .wb-auth-btn { background:#C41E2E; border-color:#C41E2E; border-radius:12px; transition:background .2s,transform .2s; }
.wb-request-modal__dialog .wb-auth-btn:hover { background:#a91826; transform:translateY(-1px); }
.wb-request-modal__dialog .wb-auth-btn:disabled { opacity:.6; transform:none; cursor:wait; }
.wb-request-modal__dialog .wb-auth-field__input { border-radius:10px; }
.wb-request-modal__dialog [hidden] { display:none!important; }
.wb-request-extra { display:grid; grid-template-columns:1fr 1fr; gap:16px; border:0; margin:0; padding:0; min-width:0; }
.wb-request-extra legend { margin-bottom:14px; font-size:15px; font-weight:600; }
.wb-request-status { margin:0; font-size:14px; line-height:1.5; }
.wb-request-status.is-error { color:#ac1727; }
.wb-request-status:empty { display:none; }
@media(max-width:600px) { .wb-request-modal__dialog { padding:32px 20px; } .wb-request-modal__dialog .wb-auth-panel__title { font-size:26px; } }
@media(prefers-reduced-motion:reduce) { .wb-request-modal,.wb-request-modal * { animation:none!important; transition:none!important; } }

.wb-request-extra .wb-auth-field { margin:0; }
@media(max-width:480px) { .wb-request-extra { grid-template-columns:1fr; } }

/* Desktop calculation next to the existing scroll-to-top control. */
.pt-quiz-launch { display:none; }
.pt-quiz[hidden],.pt-quiz [hidden] { display:none!important; }
@media(min-width:992px) {
  .wb-scroll-top-wrap { display:flex; align-items:center; gap:10px; }
  .pt-quiz-launch { display:flex; align-items:center; gap:16px; min-height:44px; padding:10px 18px; border:1px solid #C41E2E; border-radius:24px; background:#C41E2E; color:#fff; font:600 14px/1.4 Inter,sans-serif; cursor:pointer; box-shadow:0 4px 18px #0002; }
  .pt-quiz-launch:hover { background:#a31825; }
  body.is-locked .wb-scroll-top-wrap,body.wb-drawer-open .wb-scroll-top-wrap,body.wb-modal-lock .wb-scroll-top-wrap { visibility:hidden; }
  body:has(.wb-cookie-notice.is-visible) .wb-scroll-top-wrap { bottom:110px; }
}
.pt-quiz { position:fixed; inset:0; z-index:1300; display:grid; place-items:center; padding:24px; }
.pt-quiz__backdrop { position:absolute; inset:0; background:#0009; }
.pt-quiz__dialog { position:relative; width:min(560px,100%); max-height:calc(100dvh - 48px); overflow:auto; border-radius:20px; background:#fff; color:#181818; padding:36px; box-shadow:0 24px 80px #0004; }
.pt-quiz__close { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #dedede; border-radius:10px; background:#fff; color:#60666b; cursor:pointer; transition:background .18s,color .18s,border-color .18s; }
.pt-quiz__close svg { display:block; pointer-events:none; }
.pt-quiz__close:hover { background:#fff2f3; border-color:#C41E2E; color:#A31825; }
.pt-quiz__close:active { background:#fbe4e7; }
.pt-quiz__eyebrow { padding-right:42px; }
.pt-quiz__eyebrow { margin:0 0 14px; color:#a31825; font-size:13px; }
.pt-quiz h2 { margin:0 0 24px; font:650 30px/1.15 Inter,sans-serif; letter-spacing:-.025em; }
.pt-quiz fieldset { margin:0; padding:0; border:0; min-width:0; }
.pt-quiz__choice { display:flex; gap:12px; align-items:center; padding:16px; margin:10px 0; border:1px solid #ddd; border-radius:12px; cursor:pointer; }
.pt-quiz__choice:has(input:checked) { border-color:#C41E2E; background:#fff7f8; }
.pt-quiz input[type=radio] { accent-color:#C41E2E; width:18px; height:18px; flex-shrink:0; }
.pt-quiz__choice strong,.pt-quiz__choice small { display:block; }
.pt-quiz__choice strong { font-size:16px; }
.pt-quiz__choice small { margin-top:5px; color:#666; font-size:13px; line-height:1.5; }
.pt-quiz__label { display:block; margin-bottom:10px; font-size:15px; }
.pt-quiz__area { box-sizing:border-box; width:100%; border:1px solid #bbb; border-radius:10px; padding:14px; font:600 24px Inter,sans-serif; }
.pt-quiz__hint { font-size:13px; color:#666; line-height:1.6; margin:14px 0; }
.pt-quiz__consult { color:#a31825; text-decoration:underline; font-size:14px; }
.pt-quiz__nav { display:flex; gap:12px; justify-content:space-between; margin-top:20px; }
.pt-quiz__next,.pt-quiz__submit { border:0; border-radius:10px; background:#C41E2E; color:#fff; padding:14px 22px; font:600 15px Inter,sans-serif; cursor:pointer; }
.pt-quiz__next { margin-left:auto; }
.pt-quiz__submit { width:100%; }
.pt-quiz__back { border:1px solid #ddd; border-radius:10px; background:#fff; padding:12px 18px; cursor:pointer; }
.pt-quiz__power { font:650 54px/1.1 Inter,sans-serif; margin:0 0 18px; letter-spacing:-.03em; }
.pt-quiz__power span { font-size:24px; }
.pt-quiz__error { color:#a31825; font-size:14px; margin:12px 0; }
.pt-quiz__error:empty { display:none; }
.pt-quiz__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.pt-quiz :focus-visible,.pt-quiz-launch:focus-visible { outline:3px solid #C41E2E; outline-offset:3px; }
@media(max-width:600px) { .pt-quiz { padding:12px; } .pt-quiz__dialog { padding:32px 20px; max-height:calc(100dvh - 24px); } }
