/* Flash 1.1 — dimensões e navegação da referência Safira; identidade própria. */
body { font-size:16px; --flash-admin-offset:0px; }
body.admin-bar { --flash-admin-offset:32px; }
html { scrollbar-gutter:stable; }
.flash-header { border:0; top:var(--flash-admin-offset); transition:transform .6s cubic-bezier(.22,1,.36,1); }
.admin-bar .flash-header { top:var(--flash-admin-offset); }
.flash-header-inner { min-height:100px; width:min(1800px,calc(100% - 96px)); gap:32px; }
.flash-brand { flex:none; font-size:21px; gap:8px; }
.flash-brand-mark { width:46px; height:46px; }
.flash-brand-mark svg { width:38px; height:42px; stroke-width:1.6; }
.flash-header nav { position:static; display:flex; flex:1; justify-content:center; margin:0; padding:0; background:transparent; border:0; }
.flash-nav-list { display:flex; align-items:center; gap:32px; list-style:none; padding:0; margin:0; }
.flash-header nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 0; font-size:16px; font-weight:700; letter-spacing:-.005em; white-space:nowrap; }
.flash-header-tools { display:flex; align-items:center; flex-shrink:0; gap:8px; }
.flash-header-actions { display:flex; align-items:center; gap:8px; }
.flash-icon-button { width:44px; height:44px; min-width:44px; padding:0; }
.flash-search { position:static; display:flex; align-items:center; width:230px; max-width:none; height:44px; border:1px solid #383838; border-radius:6px; background:#161616; padding:0 6px; box-shadow:none; }
.flash-search input { min-width:0; padding:8px 0; font-size:15px; outline-offset:1px; }
.flash-search button { display:grid; place-items:center; flex:none; width:32px; height:40px; padding:0; }
.flash-search input:focus-visible { outline:none; }
.flash-search:has(:focus-visible) { outline:2px solid var(--link); outline-offset:3px; }
#flash-search-close, #flash-search-button, .flash-mobile-menu-heading, .flash-menu-backdrop { display:none; }

/* Corpo maior em todas as telas, com legendas secundárias proporcionais. */
.flash-section-heading p, .hp-section-header p, .hp-step-card p, .hp-trust-card p,
.hp-info-box ul, .hp-delivery-box>p, .flash-home-content p, .legal-wrap p, .legal-wrap li,
.page-content p, .page-content li, .woocommerce div.product .woocommerce-product-details__short-description { font-size:16px; line-height:1.75; }
.flash-section-heading h1 { font-size:clamp(30px,3vw,40px); }
.flash-eyebrow { font-size:11px; }
.flash-card-copy h3 { font-size:23px; }
.flash-card-copy p { font-size:15px; line-height:1.75; }
.flash-card-duration, .flash-catalog-caption, .flash-delivery-note, .hp-channel span, .hp-trust-footer { font-size:14px; }
.hp-step-card h3, .hp-trust-card h3 { font-size:19px; line-height:1.4; }
.hp-step-number { width:34px; height:34px; font-size:14px; line-height:32px; }
.hp-channel { font-size:16px; }
.flash-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt { font-size:15px!important; min-height:46px; }
.flash-text-link, .woocommerce label, .woocommerce-result-count, .woocommerce-ordering,
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size:15px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td,
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error,
.sp-icon-badges .badge, .sp-trust-item, .sp-urgency span { font-size:15px; }
.sp-icon-badges span, .sp-trust-item span, .woocommerce .woocommerce-breadcrumb, .woocommerce .product_meta { font-size:14px; }
.flash-cookies p, .flash-cookies button, .legal-updated, .legal-table { font-size:14px; }

/* Dúvidas em duas colunas: introdução curta e perguntas com expansão nativa. */
.hp-faq-section>.container { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.hp-faq-section .hp-section-header { margin:0; max-width:360px; }
.hp-faq-section .hp-section-header h2 { font-size:28px; line-height:1.25; }
.hp-faq-list { max-width:none; min-width:0; }
.flash-faq { padding:17px 0; }
.flash-faq summary { font-size:16px; line-height:1.5; font-weight:550; gap:22px; }
.flash-faq summary::after { font-size:22px; flex:none; font-weight:400; }
.flash-faq p { font-size:15px; line-height:1.7; margin:14px 30px 0 0; }

/* Atendimento numa faixa compacta; os textos e os destinos continuam os da loja. */
.flash-home-content>.hp-cta-section { padding:36px 0 48px; border:0; }
.hp-cta-box { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:36px; align-items:center; padding:28px 32px; background:#1c2028; border:1px solid #354155; border-radius:12px; }
.hp-cta-box h2 { font-size:25px; margin:0 0 10px; line-height:1.3; }
.hp-cta-box>p { font-size:16px; margin:0; max-width:620px; }
.hp-cta-buttons { display:flex; flex-direction:column-reverse; align-items:stretch; gap:10px; grid-column:2; grid-row:1/4; }
.hp-cta-buttons .hp-btn { margin:0; min-height:44px; font-size:15px; padding:11px 22px; text-align:center; }
.hp-cta-buttons .hp-btn-outline { background:#fff; color:#102342; border-color:#fff; font-weight:650; }
.hp-cta-buttons .hp-btn-primary { background:transparent; border:0; color:#b7cfff; padding:4px 10px; min-height:32px; text-decoration:underline; text-underline-offset:3px; }
.hp-cta-buttons br, .hp-cta-box>p:empty { display:none; }
.hp-cta-notice { grid-column:1; margin-top:14px; font-size:14px; color:#b7b7bd; }

/* Logo à esquerda, links em linha e idioma; sem símbolo duplicado à direita. */
.flash-footer { padding:40px 0 24px; background:#080808; color:#fff; }
.flash-footer-layout { display:grid; grid-template-columns:124px minmax(0,1fr) auto; gap:24px 32px; align-items:start; }
.flash-footer-logo { display:flex; flex-direction:column; align-items:center; justify-content:center; width:124px; height:110px; gap:8px; font-size:15px; font-weight:600; letter-spacing:-.6px; }
.flash-footer-logo svg { width:56px; height:64px; color:var(--blue); }
.flash-footer-information { min-width:0; }
.flash-footer .flash-footer-links { display:flex; flex-wrap:wrap; gap:14px 24px; list-style:none; padding:0; margin:0; }
.flash-footer-links li { margin:0; }
.flash-footer-links a { display:inline-block; min-height:24px; font-size:14px; font-weight:400; line-height:1.5; color:#c8c8ce; text-decoration:underline; text-underline-offset:2px; }
.flash-footer-contact { display:flex; flex-wrap:wrap; gap:8px 22px; margin:20px 0 0; font-size:14px; color:#a6a6ae; }
.flash-footer-contact a { text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
.flash-footer-copyright { max-width:720px; margin:16px 0 0; color:#a6a6ae; font-size:12px; line-height:1.55; letter-spacing:.025em; }
.flash-footer-language { display:flex; align-items:center; gap:10px; padding-top:1px; white-space:nowrap; font-size:14px; line-height:1.5; color:#c8c8ce; }
.flash-footer-language svg { flex:none; }
.flash-footer a:hover { color:#fff; }

@media (min-width:981px) and (max-width:1440px) {
  .flash-header-inner { width:calc(100% - 48px); gap:20px; }
  .flash-nav-list { gap:18px; }
  .flash-header nav a { font-size:14px; }
  .flash-search { width:160px; }
}
@media (min-width:981px) and (max-width:1100px) {
  .flash-brand { font-size:18px; gap:4px; }
  .flash-nav-list { gap:12px; }
  .flash-header nav a { font-size:13px; }
  .flash-search { width:140px; }
}
@media (max-width:1100px) {
  .flash-footer-layout { grid-template-columns:104px minmax(0,1fr); gap:24px; }
  .flash-footer-logo { width:104px; height:96px; font-size:13px; }
  .flash-footer-language { grid-column:2; grid-row:2; }
}
@media (max-width:980px) {
  .flash-header { background:rgba(30,27,35,.83); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
  .flash-header.is-hidden:not(.is-menu-open):not(.is-search-open) { transform:translateY(calc(-100% - var(--flash-admin-offset))); }
  .flash-header-inner { display:grid; grid-template-columns:44px 38px minmax(0,1fr); min-height:72px; width:calc(100% - 48px); padding:10px 0; gap:8px; }
  .flash-menu-button { display:grid; grid-column:1; grid-row:1; }
  .flash-brand { grid-column:2; grid-row:1; width:38px; height:38px; }
  .flash-brand-mark { width:38px; height:38px; }
  .flash-brand-mark svg { width:30px; height:38px; }
  .flash-brand-name { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .flash-header-tools { display:contents; }
  .flash-header-actions { grid-column:3; grid-row:1; justify-self:end; gap:4px; }
  .flash-header-actions .flash-icon-button { width:40px; min-width:40px; height:44px; }
  .flash-header-actions svg { width:20px; height:20px; }
  #flash-search-button { display:grid; }
  .flash-header nav { display:block; position:absolute; top:100%; left:0; right:auto; width:min(340px,88vw); height:calc(100dvh - 72px - var(--flash-admin-offset)); padding:20px 24px; background:#19181d; border-right:1px solid #353239; z-index:3; overflow:auto; visibility:hidden; opacity:0; transform:translateX(-100%); pointer-events:none; transition:transform .22s ease,opacity .22s ease,visibility .22s; }
  .flash-header nav.is-open { display:block; visibility:visible; opacity:1; transform:translateX(0); pointer-events:auto; }
  .flash-nav-list { flex-direction:column; align-items:stretch; gap:3px; }
  .flash-header nav a { font-size:15px; width:100%; }
  .flash-mobile-menu-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; font-size:17px; font-weight:700; }
  .flash-menu-backdrop:not([hidden]) { display:block; position:absolute; top:100%; left:0; width:100%; height:100dvh; background:#0008; z-index:2; }
  body.flash-menu-open { overflow:hidden; }
  .flash-search { display:none; position:absolute; top:50%; transform:translateY(-50%); left:0; right:0; width:auto; z-index:4; background:#161616; border-radius:6px; }
  .flash-header.is-search-open .flash-search { display:flex; }
  .flash-header.is-search-open .flash-menu-button, .flash-header.is-search-open .flash-brand, .flash-header.is-search-open .flash-header-actions { visibility:hidden; pointer-events:none; }
  #flash-search-close { display:grid; }
  .hp-faq-section>.container { gap:32px; grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr); }
}
@media (max-width:782px) { body.admin-bar { --flash-admin-offset:46px; } }
@media (max-width:760px) {
  .flash-section-heading h1 { font-size:30px; }
  .flash-card-copy h3 { font-size:20px; }
  .flash-card-copy p { font-size:14px; }
  .flash-card-copy .flash-eyebrow { font-size:10px; letter-spacing:.6px; }
  .flash-card-duration { font-size:13px; }
  .flash-card-copy .flash-button { font-size:14px!important; padding:11px 14px!important; }
  .flash-catalog-caption { font-size:13px; }
  .hp-step-card p, .hp-trust-card p, .hp-info-box ul, .legal-wrap p, .legal-wrap li { font-size:16px; }
  .hp-step-card h3, .hp-trust-card h3 { font-size:18px; }
  .hp-channel { font-size:15px; }
  .hp-channel span { font-size:13px; }
  .hp-faq-section>.container { grid-template-columns:1fr; gap:24px; }
  .hp-faq-section .hp-section-header { max-width:100%; }
  .hp-faq-section .hp-section-header h2 { font-size:26px; }
  .flash-faq summary { font-size:16px; }
  .flash-faq p { font-size:15px; }
  .hp-cta-box { grid-template-columns:1fr; padding:24px; gap:0; }
  .hp-cta-box h2 { font-size:24px; }
  .hp-cta-buttons { grid-column:1; grid-row:auto; margin-top:22px; }
  .hp-cta-notice { grid-row:3; }
  .flash-cookies p { font-size:13px; }
}
@media (max-width:700px) {
  .flash-header-inner { width:calc(100% - 36px); }
  .flash-footer { padding:40px 0 32px; }
  .flash-footer-layout { width:calc(100% - 36px); position:relative; grid-template-columns:minmax(0,1fr); row-gap:28px; text-align:center; }
  .flash-footer-logo { grid-column:1; grid-row:1; justify-self:center; width:110px; height:94px; font-size:14px; }
  .flash-footer-logo svg { width:48px; height:56px; }
  .flash-footer-language { grid-column:1; grid-row:2; justify-self:center; }
  .flash-footer-information { grid-column:1; grid-row:3; }
  .flash-footer .flash-footer-links { flex-direction:column; align-items:center; gap:8px; }
  .flash-footer-links a { min-height:26px; }
  .flash-footer-contact { justify-content:center; margin-top:24px; }
  .flash-footer-copyright { margin:20px auto 0; font-size:12px; line-height:1.6; }
}
@media (max-width:600px) { body.admin-bar { --flash-admin-offset:0px; } }
@media (max-width:380px) {
  .flash-header-inner { width:calc(100% - 28px); }
  .flash-product-card { grid-template-columns:36% minmax(0,1fr); }
  .flash-card-copy { padding:18px 12px; }
  .flash-card-copy h3 { font-size:19px; }
  .hp-steps-grid, .hp-trust-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .flash-header, .flash-header nav { transition:none; }
}
.flash-business-identity { margin:16px 0; font-size:14px; line-height:1.65; color:var(--muted); overflow-wrap:anywhere; }
