/* Modelo simples: estilos limitados ao próprio contêiner. */
body:has(.amei-combo) { padding-bottom: 0; }
.amei-combo { min-height: 100vh; color: #f4f3ee; background: #121212; font-family: var(--fn); padding: 48px 22px 24px; }
.combo-shell { width: min(100%, 520px); margin: 0 auto; }
.combo-intro { text-align: center; }
.amei-combo .combo-logo { width: 208px; height: 208px; object-fit: contain; margin: 0 auto 28px; }
.amei-combo .combo-logo-wide { width: 100%; height: auto; max-height: 250px; border-radius: 14px; }
.combo-brand { font-size: 26px; font-weight: 750; margin-bottom: 30px; }
.combo-eyebrow { color: var(--gold); font-size: 10px; font-weight: 650; letter-spacing: .16em; line-height: 1.6; margin-bottom: 16px; }
.amei-combo h1 { font-family: var(--fn); font-weight: 800; font-size: clamp(30px, 7.7vw, 44px); line-height: 1.12; letter-spacing: -.035em; margin: 0 auto 18px; }
.amei-combo h1 em { font-style: normal; color: var(--gold); }
.combo-description { color: #b9b9b4; font-size: 15px; line-height: 1.7; max-width: 440px; margin: 0 auto 27px; }
.combo-button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 17px 20px; border-radius: 10px; background: var(--gold); border: 1px solid var(--gold); color: #080808; text-decoration: none; font-size: 13px; font-weight: 800; line-height: 1.5; text-align: center; transition: transform .15s; }
.combo-button:hover { transform: translateY(-2px); }
.combo-button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.combo-reassurance { color: #aaa9a1; font-size: 11px; margin-top: 12px; line-height: 1.6; }
.combo-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 36px 0 28px; border-top: 1px solid #ffffff1a; padding-top: 28px; }
.combo-benefit { border: 1px solid #ffffff16; border-radius: 12px; background: #ffffff04; padding: 18px 14px; display: flex; flex-direction: column; gap: 14px; }
.combo-number { color: var(--gold); font-size: 11px; letter-spacing: .08em; font-weight: 650; }
.amei-combo .combo-benefit h2 { font-family: var(--fn); font-size: 14px; line-height: 1.4; margin-bottom: 5px; }
.combo-benefit p { color: #aaa9a1; font-size: 12px; line-height: 1.55; }
.combo-close { text-align: center; margin-bottom: 30px; }
.combo-close > p { color: #c6c5bd; font-size: 13px; margin-bottom: 14px; line-height: 1.6; }
.combo-button-outline { background: transparent; color: var(--gold); }
.amei-combo .combo-footer { border-top: 1px solid #ffffff16; padding: 22px 0 0; text-align: center; background: none; }
.combo-footer > p:first-child { color: #c3c1b9; font-size: 12px; margin-bottom: 10px; font-weight: 600; }
.combo-footer > p { color: #92928d; font-size: 10px; line-height: 1.7; }
.combo-footer nav,.combo-legal-text { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-top: 14px; font-size: 10px; color: #aaa9a1; }
.combo-footer a { color: inherit; }
@media(max-width:360px) { .amei-combo { padding: 30px 18px 20px; } .amei-combo .combo-logo { width: 176px; height: 176px; } .amei-combo .combo-logo-wide { width:100%;height:auto; } .combo-benefit { padding:14px 11px; } }

/* Identidade simples: fundo fixo e apenas a cor de destaque variável. */
.amei-combo .combo-logo { border-radius: 50%; display: block; border: 2px solid var(--gold); }
.amei-combo .combo-brand { margin: 0 0 18px; font-size: 19px; font-weight: 750; }
.combo-placeholder { width: 160px; height: 160px; border: 1px solid var(--gold); border-radius: 50%; margin: 0 auto 24px; display: grid; place-items: center; font-size: 64px; color: var(--gold); }
.amei-combo .combo-number { font-size: 25px; line-height: 1; }
/* Botão primário: fundo sólido na cor escolhida, texto escuro para contraste. */
/* Botão outline: fundo transparente, borda e texto na cor escolhida. */
.amei-combo .combo-button-outline:hover { background: color-mix(in srgb, var(--gold) 10%, transparent); }
@media (prefers-reduced-motion: reduce) { .amei-combo .combo-button { transition: none; transform: none; } }

/* Casa: preservar a arte completa, sem máscara ou anel sobre a marca. */
.amei-combo.combo-casa .combo-logo {
  width: min(100%, 340px); height: auto; max-height: none;
  object-fit: contain; border: 0; border-radius: 0;
}

.amei-combo .combo-footer-logo {
  display: block; width: 80px; height: 80px; margin: 0 auto 14px;
  border-radius: 50%; border: 1px solid var(--gold); object-fit: contain;
  background: #121212;
}
.combo-footer > p { margin-bottom: 10px; }

.amei-combo .combo-brand, .amei-combo .combo-footer > p:first-of-type { text-transform: uppercase; }

.amei-combo.combo-casa .combo-benefit {
  background: linear-gradient(145deg, #242016 0%, #171717 65%);
  border-color: #ffd40035; padding: 18px; gap: 10px;
}
.amei-combo .combo-card-art { display:block; width:100%; max-width:132px; height:120px; object-fit:contain; margin:0 auto 4px; }
@media(max-width:360px) { .amei-combo .combo-card-art { height:94px; } .amei-combo.combo-casa .combo-benefit { padding:12px; } }

/* Noivas: retrato, brilho estático e cartões próprios. */
.amei-combo.combo-noivas .combo-logo {
 object-fit: cover; object-position: center 27%;
 box-shadow: 0 0 25px color-mix(in srgb, var(--gold) 24%, transparent);
}
.amei-combo.combo-noivas .combo-benefit {
 background: linear-gradient(145deg, color-mix(in srgb, var(--gold) 9%, #181318), #171717 70%);
 border-color: color-mix(in srgb, var(--gold) 30%, transparent);
 padding:18px; gap:10px;
}
.amei-combo.combo-noivas .combo-button:not(.combo-button-outline) {
 box-shadow: 0 4px 26px color-mix(in srgb, var(--gold) 23%, transparent);
}
.amei-combo.combo-noivas h1 em { text-shadow:0 0 24px color-mix(in srgb, var(--gold) 15%, transparent); }
@media(max-width:360px) { .amei-combo.combo-noivas .combo-benefit { padding:12px; } }

/* Estrelinhas decorativas exclusivas de Noivas. */
.combo-noivas .combo-intro { position:relative; isolation:isolate; }
.combo-noivas .combo-sparkles { position:absolute; top:0; left:0; width:100%; height:242px; pointer-events:none; z-index:-1; }
.combo-noivas .combo-sparkles span { position:absolute; color:#F7DDE0; font-size:25px; text-shadow:0 0 7px #fff,0 0 18px var(--gold),0 0 30px var(--gold); animation:amei-bridal-twinkle 3s ease-in-out infinite; }
.combo-noivas .combo-sparkles span:nth-child(1){left:16%;top:22px;}
.combo-noivas .combo-sparkles span:nth-child(2){left:9%;top:124px;font-size:19px;animation-delay:-1s;}
.combo-noivas .combo-sparkles span:nth-child(3){left:25%;top:192px;font-size:16px;animation-delay:-2s;}
.combo-noivas .combo-sparkles span:nth-child(4){right:16%;top:39px;animation-delay:-1.7s;}
.combo-noivas .combo-sparkles span:nth-child(5){right:8%;top:141px;font-size:18px;animation-delay:-.6s;}
.combo-noivas .combo-sparkles span:nth-child(6){right:25%;top:207px;font-size:15px;animation-delay:-2.5s;}
.amei-combo.combo-noivas .combo-benefit { position:relative; }
.combo-noivas .combo-benefit::after { content:'✧'; position:absolute; top:12px; right:14px; font-size:20px; color:#E9BDC5; text-shadow:0 0 12px var(--gold); animation:amei-bridal-twinkle 3.6s ease-in-out infinite; pointer-events:none; }
.combo-noivas .combo-benefit:nth-child(even)::after { animation-delay:-1.8s; }
@keyframes amei-bridal-twinkle { 0%,100% { opacity:.4; transform:scale(.85); } 50% { opacity:1; transform:scale(1.12); } }
@media(prefers-reduced-motion:reduce) { .combo-noivas .combo-sparkles span,.combo-noivas .combo-benefit::after { animation:none; opacity:.8; } }
