/* Ilustração estática do catálogo, sem controles interativos. */
#hero .raffin-catalog-visual { width:100%;max-width:490px;min-width:0;justify-self:center;align-self:center;padding:0;margin:auto; }
#hero .raffin-catalog-mockup { display:block;width:100%;height:auto; }
@media(min-width:768px) { #hero.onfone-premium { padding-top:130px; } #hero .onfone-premium__layout { align-items:center;gap:36px; } #hero .onfone-premium__copy h2 { font-size:clamp(36px,3.7vw,56px);letter-spacing:-.035em; } }
/* Mantém a apresentação e a consulta legíveis nas telas menores. */
@media(max-width:767px) {
  #hero .onfone-premium__layout { width:90%;gap:22px; }
  #hero .onfone-premium__copy { order:0;padding:8px 0 0; }
  #hero .onfone-premium__copy > :not(.onfone-premium__actions) { display:block; }
  #hero .onfone-premium__copy .onfone-premium__benefits { display:grid; }
  #hero .onfone-premium__copy h2 { max-width:none;font-size:clamp(32px,6.6vw,42px);line-height:1.09;letter-spacing:-.035em; }
  #hero .onfone-premium__actions { padding:0;flex-direction:row;flex-wrap:wrap;justify-content:flex-start; }
  #hero .onfone-premium__catalog { order:0; }
  #hero .raffin-catalog-visual { order:1; }
}

@media(max-width:767px){ #hero .raffin-catalog-visual { max-width:440px;padding:0; } }

/* Ajustes de comunicação e destaques Raffin. */
#hero.onfone-premium .onfone-premium__copy h2 span.raffin-price-highlight {
  color:#d90000;background:none;-webkit-text-fill-color:#d90000;animation:none;display:inline;
}
#hero .onfone-premium__description strong { font-weight:750; }
#hero.onfone-premium .onfone-premium__purchase {
  background:#d90000;color:#fff;box-shadow:0 8px 20px #0000000d;gap:12px;
}
#hero.onfone-premium .onfone-premium__purchase:hover { background:#b40000;color:#fff; }
#hero .onfone-premium__purchase .raffin-whatsapp-icon { width:22px;height:22px;flex-shrink:0;stroke:none; }

/* Faixa Raffin com fotografia de assistência técnica. */
.raffin-quality { scroll-margin-top:110px;display:grid;grid-template-columns:.95fr 1.2fr;width:min(94%,1440px);margin:50px auto 36px;overflow:hidden;border-radius:24px;background:#080808;color:#fff; }
.raffin-quality__photo { position:relative;min-height:350px; }
.raffin-quality__photo img { position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%; }
.raffin-quality__photo::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#080808);pointer-events:none; }
.raffin-quality__content { align-self:center;padding:40px 36px 40px 12px; }
.raffin-quality__content h2 { max-width:25ch;margin:0;font-size:clamp(25px,2.55vw,38px);font-weight:800;line-height:1.12;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance; }
.raffin-quality__content h2 span { color:#ff3030; }
.raffin-quality__content > p { margin:18px 0 26px;max-width:62ch;font-size:15px;line-height:1.65;color:#dedede; }
.raffin-quality__benefits { display:flex;gap:18px;margin:0;padding:0;list-style:none; }
.raffin-quality__benefits li { display:flex;align-items:center;gap:9px;flex:1;min-width:0;font-size:12px;line-height:1.4;color:#fff; }
.raffin-quality__icon { display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#d90000;color:#fff; }
.raffin-quality__icon svg { width:21px;height:21px; }
@media(max-width:767px) { .raffin-quality { width:90%;grid-template-columns:1fr;margin-top:36px;border-radius:20px; } .raffin-quality__photo { min-height:260px;max-height:320px;aspect-ratio:1.4; } .raffin-quality__photo::after { background:linear-gradient(180deg,transparent 60%,#080808); } .raffin-quality__content { padding:16px 24px 30px; } .raffin-quality__content h2 { max-width:none;font-size:29px; } .raffin-quality__benefits { flex-wrap:wrap;gap:16px; } .raffin-quality__benefits li { flex:1 1 135px; } }
@media(max-width:380px) { .raffin-quality__content { padding-inline:20px; } .raffin-quality__content h2 { font-size:26px; } }

/* Entregas Raffin: São Paulo e todo o Brasil. */
.raffin-delivery { grid-column:1 / -1;display:grid;grid-template-columns:1.05fr .8fr 1.15fr;align-items:center;gap:18px;width:100%;padding:28px;background:#fff;border-radius:24px;scroll-margin-top:110px; }
.raffin-delivery__label { margin:0 0 10px;color:#526375;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
.raffin-delivery__copy h2 { margin:0;color:#131313;font-size:clamp(26px,2.5vw,36px);font-weight:800;line-height:1.12;letter-spacing:-.03em;text-wrap:balance; }
.raffin-delivery__copy h2 span { color:#d90000; }
.raffin-delivery__description { margin:14px 0 20px;color:#526375;font-size:14px;line-height:1.6; }
.raffin-delivery__cta { display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:13px 18px;border-radius:12px;background:#d90000;color:#fff;font-size:13px;line-height:1.35;font-weight:750;text-decoration:none;transition:background .18s; }
.raffin-delivery__cta:hover { background:#b40000;color:#fff; }
.raffin-delivery__cta:focus-visible { outline:3px solid #102b46;outline-offset:4px; }
.raffin-delivery__cta svg { width:22px;height:22px;flex-shrink:0; }
.raffin-delivery__map { min-width:0; }
.raffin-delivery__map img { display:block;width:100%;height:auto;mix-blend-mode:multiply; }
.raffin-delivery__truck { overflow:hidden;border-radius:16px;min-width:0; }
.raffin-delivery__truck img { display:block;width:100%;height:auto; }
@media(max-width:1000px) and (min-width:768px) { .raffin-delivery { gap:10px;padding:24px;grid-template-columns:1.1fr .65fr 1fr; } .raffin-delivery__copy h2 { font-size:26px; } .raffin-delivery__description { font-size:13px; } .raffin-delivery__cta { font-size:12px;padding:12px;gap:8px; } }
@media(max-width:767px) { .raffin-delivery { grid-template-columns:1fr 1fr;gap:20px;padding:24px;border-radius:20px; } .raffin-delivery__copy { grid-column:1/-1; } .raffin-delivery__copy h2 { font-size:32px; } .raffin-delivery__description { max-width:55ch; } .raffin-delivery__truck { grid-column:1/-1; } .raffin-delivery__map { grid-column:1/-1;max-width:300px;margin:0 auto; } .raffin-delivery__cta { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .raffin-delivery__cta { transition:none; } }

@media(min-width:768px) { .raffin-bento-grid { grid-template-rows:repeat(2,220px) auto;grid-auto-rows:auto; } .raffin-bento-grid .raffin-bento-side { min-height:0; } }

/* Dois blocos ocupam a largura antes reservada à imagem lateral. */
@media(min-width:768px) { .raffin-bento-grid > .onfone-buying-steps { grid-column:span 8; } .raffin-bento-grid > a { grid-column:span 4; } }

/* Imagem única de mapa, caminhão e rotas. */
.raffin-delivery { grid-template-columns:1fr 1.25fr;gap:28px; }
.raffin-delivery__route { min-width:0; }
.raffin-delivery__route img { display:block;width:100%;max-height:320px;object-fit:contain;mix-blend-mode:multiply; }
@media(max-width:1000px) and (min-width:768px) { .raffin-delivery { grid-template-columns:1fr 1.25fr;gap:24px; } }
@media(max-width:767px) { .raffin-delivery { grid-template-columns:1fr;gap:20px; } .raffin-delivery__route { grid-column:1/-1; } .raffin-delivery__route img { max-height:350px; } }

/* Mantem texto e ilustracao na mesma composicao em monitores largos. */
@media (min-width: 1400px) {
  #hero .onfone-premium__layout {
    width: min(1240px, 90%);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  #hero .onfone-premium__copy h2 { font-size: 50px; }
  #hero .raffin-catalog-visual { max-width: 550px; }
}
