/* Home de campanha: extensão da identidade institucional (não substitui os estilos-base).
   Paleta, tipografia, containers, navegação e cards herdados de public/partials/styles.blade.php. */
.cmp .campaign-badge { display:inline-block; margin:13px 0 0; padding:8px 12px; border:1px solid rgba(242,107,33,.45); background:rgba(242,107,33,.14); border-radius:999px; font-size:11px; font-weight:900; color:#ffbd99; letter-spacing:.065em; max-width:100%; }
.cmp .hero-image-right { position:relative; isolation:isolate; overflow:hidden; background:#1b1b1b; }
.cmp .hero-image-right .campaign-visual { position:absolute; inset:0 0 0 auto; width:64%; height:100%; margin:0; z-index:0; background:#30251d; }
.cmp .campaign-visual picture, .cmp .campaign-visual img { display:block; width:100%; height:100%; }
.cmp .campaign-visual img { object-fit:cover; object-position:center 36%; }
.cmp .hero-image-right::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, #1b1b1b 0%, #1b1b1b 38%, rgba(27,27,27,.96) 47%, rgba(27,27,27,.72) 58%, rgba(27,27,27,.28) 73%, transparent 90%); }
.cmp .hero-image-right .hero-grid { position:relative; z-index:2; display:flex; align-items:center; min-height:600px; padding:52px 48px; }
.cmp .hero-image-right .campaign-hero-copy { width:56%; max-width:610px; min-width:0; }
.cmp .hero-image-right h1 { font-size:clamp(38px,4.4vw,60px); }
.cmp .hero-copy { color:#e2e2e2; max-width:570px; font-size:16px; }
.cmp .offer-line { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:26px; }
.cmp .offer-stat { min-width:0; padding:16px; border-radius:16px; background:rgba(20,20,20,.44); border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(2px); }
.cmp .offer-stat strong { display:block; color:var(--orange); font-size:clamp(26px,3vw,40px); font-weight:950; line-height:1; letter-spacing:-.05em; }
.cmp .offer-stat span { display:block; color:#e0e0e0; margin-top:7px; font-size:12px; }
.cmp .offer-terms { margin:16px 0 0; color:#cacaca; font-size:12px; line-height:1.55; }
.cmp .section-head .text-link { color:var(--orange); }
.cmp .course-disclaimer { margin-top:22px; font-size:12px; color:#bbb; }
.cmp .campaign-opportunity { display:flex; align-items:center; gap:25px; }
.cmp .campaign-opportunity > div:first-child { flex:1; }
.cmp .campaign-opportunity-image { display:block; width:160px; aspect-ratio:4/3; object-fit:cover; border-radius:16px; flex-shrink:0; }
.cmp .campaign-opportunity h2 { margin-top:0; }
.cmp .campaign-service { padding-top:4px; }
.cmp .campaign-service h2 { margin:10px 0; font-size:clamp(28px,4vw,44px); letter-spacing:-.045em; line-height:1.05; }
.cmp .campaign-service p { max-width:800px; color:var(--muted); margin:0 0 20px; }
.cmp .campaign-conversion { display:block; border-radius:30px; padding:35px 42px; }
.cmp .campaign-conversion .section-head h2 { color:#fff; }
.cmp .campaign-conversion .section-head p { color:#ffe5d2; }
.cmp .campaign-form { background:#fff; color:var(--ink); padding:28px; border-radius:20px; }
.cmp .campaign-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cmp .campaign-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.cmp .campaign-field.full { grid-column:1 / -1; }
.cmp .campaign-field label { font-size:13px; font-weight:800; }
.cmp .campaign-field .field { width:100%; min-height:46px; max-width:100%; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); }
.cmp .campaign-field .field:focus { outline:2px solid var(--orange); outline-offset:2px; }
.cmp .campaign-consent { display:flex; align-items:start; gap:9px; margin:17px 0; font-size:12px; color:var(--muted); }
.cmp .campaign-consent input { margin-top:3px; flex:0 0 auto; }
.cmp .campaign-consent a { color:var(--orange-dark); text-decoration:underline; }
.cmp .campaign-submit { display:flex; flex-wrap:wrap; gap:10px; }
.cmp .campaign-errors { color:var(--danger); margin-top:12px; font-weight:700; }
.cmp .preview-warning { color:#fff; padding:12px 0; font-weight:700; }
@media (max-width:980px) {
 .cmp .hero-image-right .campaign-visual { width:75%; }
 .cmp .hero-image-right .hero-grid { padding:44px 38px; min-height:580px; }
 .cmp .hero-image-right .campaign-hero-copy { width:70%; }
 .cmp .hero-image-right::after { background:linear-gradient(90deg,#1b1b1b 0%,rgba(27,27,27,.99) 36%,rgba(27,27,27,.75) 58%,rgba(27,27,27,.08) 98%); }
}
@media (max-width:640px) {
 .cmp .hero-image-right .campaign-visual { width:100%; top:auto; bottom:0; height:315px; }
 .cmp .hero-image-right .hero-grid { min-height:0; display:block; padding:31px 22px 258px; }
 .cmp .hero-image-right .campaign-hero-copy { width:100%; max-width:none; }
 .cmp .hero-image-right h1 { font-size:clamp(37px,9vw,49px); }
 .cmp .hero-image-right::after { background:linear-gradient(180deg,#1b1b1b 0%,#1b1b1b 60%,rgba(27,27,27,.97) 70%,rgba(27,27,27,.39) 85%,rgba(27,27,27,.02) 100%); }
 .cmp .offer-line { gap:8px; }
 .cmp .offer-stat { padding:12px 10px; }
 .cmp .offer-stat strong { font-size:clamp(24px,7vw,31px); }
 .cmp .offer-stat span { font-size:11px; }
 .cmp .campaign-opportunity { display:block; }
 .cmp .campaign-opportunity .btn { margin-top:18px; }
 .cmp .campaign-opportunity-image { width:100%; max-height:210px; margin-bottom:16px; }
 .cmp .campaign-conversion { padding:28px 16px; }
 .cmp .campaign-form { padding:18px 15px; }
 .cmp .campaign-form-grid { grid-template-columns:1fr; gap:13px; }
 .cmp .campaign-field.full { grid-column:1; }
 .cmp .campaign-submit .btn { width:100%; }
}

/* Ajuste mobile do Hero Black Friday — somente apresentação; preserva conteúdo do Filament e desktop. */
@media (max-width:640px) {
  .cmp .hero-image-right .hero-grid { padding:24px 20px 190px; }
  .cmp .hero-image-right h1 { font-size:clamp(31px,8.2vw,37px); line-height:1.02; margin:13px 0; }
  .cmp .hero-image-right .campaign-badge { margin-top:8px; padding:7px 10px; font-size:10px; }
  .cmp .hero-image-right .eyebrow { font-size:10px; gap:6px; }
  .cmp .hero-image-right .hero-copy { font-size:14px; line-height:1.48; margin:0; }
  .cmp .hero-image-right .actions { margin-top:18px; gap:8px; }
  .cmp .hero-image-right .actions .btn { min-height:43px; padding:0 12px; font-size:12px; }
  .cmp .hero-image-right .offer-line { margin-top:17px; gap:8px; }
  .cmp .hero-image-right .offer-stat { padding:11px 10px; border-radius:14px; }
  .cmp .hero-image-right .offer-stat strong { font-size:clamp(23px,6.6vw,29px); }
  .cmp .hero-image-right .offer-stat span { font-size:10px; margin-top:5px; line-height:1.4; }
  .cmp .hero-image-right .offer-terms { margin-top:11px; font-size:11px; line-height:1.45; }
  .cmp .hero-image-right .campaign-visual { height:270px; }
  .cmp .hero-image-right .campaign-visual img { object-position:center 40%; }
  .cmp .hero-image-right::after { background:linear-gradient(180deg,#1b1b1b 0%,#1b1b1b 54%,rgba(27,27,27,.94) 65%,rgba(27,27,27,.48) 83%,rgba(27,27,27,.03) 100%); }
}

/* Hero mobile: degradê restrito à transição superior da foto, sem filtro sobre o rosto. */
@media (max-width:640px) {
  .cmp .hero-image-right::after { background:none; }
  .cmp .hero-image-right .campaign-visual::after {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:104px;
    pointer-events:none;
    background:linear-gradient(180deg,#1b1b1b 0%,rgba(27,27,27,.92) 17%,rgba(27,27,27,.56) 46%,rgba(27,27,27,.16) 78%,transparent 100%);
  }
}

/* Ajuste mobile: foto 30px abaixo do texto, sem sobreposicao; degrade acompanha a foto. */
@media (max-width:640px) {
  .cmp .hero-image-right .hero-grid { padding-bottom:280px; }
  .cmp .hero-image-right .campaign-visual { height:250px; }
}
