/* MobileAllu Brand 2.0 — original vector identity, no product-image edits. */
:root{
  --navy:#103347;--ink:#102c3c;--slate:#59707f;
  --lime:#b3f7df;--lime-dark:#8fecd1;--paper:#f6faf9;
  --brand-deep:#0b4150;--brand-teal:#008f87;--brand-mint:#30d0b2;
  --shadow:0 22px 55px rgba(14,49,62,.08);
}
body{background:#f7fbfa;color:#102b3a}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid rgba(24,186,162,.4);outline-offset:3px
}
.announcement{
  background:linear-gradient(90deg,#0b3349,#0a645f);
  color:#e9fff9;font-size:11px;letter-spacing:.012em
}
.announcement-muted{color:#c1ebe0}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #e3eeeb;
  box-shadow:0 10px 27px rgba(22,61,66,.04);backdrop-filter:blur(14px)
}
.logo{gap:10px}
.logo>img:not(.footer-wordmark){border-radius:13px;box-shadow:0 4px 15px rgba(7,92,95,.12)}
.brand-name{color:#143745;font-size:25px;font-weight:850;letter-spacing:-.058em}
.brand-name span{color:#008f86}
.nav-row .desktop-nav a:hover,.nav-row .desktop-nav a:focus-visible{color:#037f76}
.cart-count{background:#088e80}
.retail-intro{border:1px solid #d1e7df;border-radius:26px;background:#edf8f3;
 box-shadow:0 26px 68px rgba(23,73,70,.1);overflow:hidden;isolation:isolate}
.retail-intro-main{
  background:radial-gradient(circle at 9% 12%,rgba(177,250,216,.34),transparent 48%),
    linear-gradient(127deg,#e8f9f1 0%,#f3fbf7 55%,#eff8f5 100%);
  padding:clamp(32px,4.2vw,65px);
}
.retail-kicker{align-self:flex-start;display:inline-flex;align-items:center;
  color:#17665f;font-size:10px;font-weight:800;letter-spacing:.115em;
  background:#d8f4e9;border:1px solid #bde8d8;border-radius:99px;padding:9px 14px}
.retail-intro-main h1{color:#102e3d;font-size:clamp(34px,4.05vw,61px);
  line-height:1.065;letter-spacing:-.062em;font-weight:850;max-width:680px;margin:22px 0 8px}
.retail-intro-main h1 span{color:#038a7e}
.retail-intro-main p{color:#4d6970;font-size:15px;line-height:1.72;max-width:500px}
.retail-intro-actions .button-dark,.button-dark{
  background:linear-gradient(115deg,#0b4b55,#047a71);color:#fff;
  box-shadow:0 10px 20px rgba(1,110,101,.15);border:1px solid rgba(255,255,255,.1)
}
.retail-intro-actions .button-dark:hover,.button-dark:hover{
  background:linear-gradient(115deg,#083c4c,#046a63);
  box-shadow:0 13px 25px rgba(1,110,101,.23)
}
.retail-intro .text-link,.text-link{color:#086e69}
.hero-facts{border-top-color:#cfe6dc;color:#4f6c64}
.hero-facts span:before{background:#18b89e}
.hero-showcase.retail-intro-aside{background:linear-gradient(155deg,#fff,#f8fcfa);
  border-left:1px solid #d7ebe3}
.hero-showcase-top strong{color:#153848}
.hero-showcase-bottom{color:#0e756f;border-top-color:#dcebe5}
.shop-benefits{color:#46696a}
.shop-benefits b{background:#dbf5e9;color:#17685e}
.retail-main-catalog .section-head .eyebrow,.accent-eyebrow{color:#0c8678}
.product-card{border:1px solid #e0eae9;border-radius:17px;
  box-shadow:0 5px 19px rgba(19,66,67,.045)}
.product-card:hover{border-color:#a8dccc;box-shadow:0 19px 38px rgba(13,87,76,.095)}
.product-card .product-name{color:#113442}
.product-card .product-card-body{gap:2px}
.button-lime{background:#b4f4dd;color:#103b39;border:1px solid #9cebcf}
.button-lime:hover{background:#96e8ce}
.section-head h2{color:#113345}
.footer{background:#102c3c;color:#f0faf9}
.footer a:hover{color:#8fe6d0}
.footer .logo-footer>img.footer-wordmark{
  display:block;width:min(260px,75vw)!important;height:auto!important;
  max-width:100%;border:0;box-shadow:none;border-radius:0
}
.footer-pill{background:rgba(120,241,203,.1);color:#c1f0e2;border:1px solid rgba(141,231,202,.16)}
.checkout-page.checkout-compact{padding-top:24px}
.checkout-compact .checkout-page-title h1{color:#113442}
.checkout-compact .checkout-payment-provider{border-color:#cae7dc!important;
  background:#e9f8f1!important;color:#16755b!important}
.checkout-compact .mobileallu-native-payment{background:linear-gradient(135deg,#f8fcfb,#edfaf4);
  border:1px solid #d0e6df;border-radius:19px;box-shadow:0 13px 35px rgba(13,77,72,.055)}
.checkout-compact .mobileallu-native-icon{background:linear-gradient(135deg,#0e4b59,#09857b)}
.checkout-compact .mobileallu-native-payment .checkout-pay-button{
  box-shadow:0 7px 18px rgba(7,87,72,.075)
}
.checkout-compact .mobileallu-native-fields input{border-color:#cedfda;background:#fff}
.checkout-compact .mobileallu-native-fields input:focus{border-color:#2ca892}
.checkout-compact .mobileallu-native-payment-result{border-color:#a6dac6}
@media(max-width:760px){
  .site-header{backdrop-filter:none}
  .retail-intro{border-radius:20px}
  .retail-intro-main{padding:29px 23px}
  .retail-intro-main h1{font-size:clamp(32px,8.5vw,44px);line-height:1.07;margin:20px 0 0}
  .retail-intro-main p{font-size:13px;line-height:1.7;margin:17px 0 9px}
  .retail-kicker{font-size:9px;max-width:100%;white-space:normal}
  .hero-showcase.retail-intro-aside{border-left:0;border-top:1px solid #d7ebe3}
  .retail-intro-actions .button{width:100%;justify-content:center}
  .hero-facts{font-size:10px}
  .logo>img:not(.footer-wordmark){max-width:38px;max-height:38px}
  .brand-name{font-size:23px}
  .checkout-compact .mobileallu-native-payment{padding:16px;border-radius:15px}
}
@media(max-width:375px){
  .retail-intro-main{padding:25px 18px}
  .retail-intro-main h1{font-size:31px}
  .brand-name{font-size:20px}
}


/* Refinamento visual: espaçamento, leitura e interação no catálogo. */
:root{--store-focus:#145f50}
.button{min-height:46px;line-height:1.3;text-align:center;gap:10px}
.button:focus-visible,.text-link:focus-visible,.favorite-button:focus-visible{outline:3px solid var(--store-focus);outline-offset:4px}
.product-card{border:1px solid #e3e9e5;border-radius:20px;box-shadow:0 5px 20px #173e2d08}
.product-card-body{padding:20px;display:flex;flex-direction:column;gap:5px}
.product-name{line-height:1.3;min-height:2.6em}
.product-actions{display:grid;gap:10px;margin-top:16px}
.product-extra-detail,.product-availability{line-height:1.6}
.product-base-price{line-height:1.7}
.section-head p{max-width:64ch;line-height:1.7}
.checkout-term-options{gap:12px}
.checkout-term{min-height:102px;padding:16px 12px;border-radius:14px}
.checkout-term small{display:block;margin:8px 0;line-height:1.4}
.mobileallu-native-fields label{line-height:1.5}
.mobileallu-native-fields input,.mobileallu-native-fields select{min-height:46px}
.checkout-order-summary{border-radius:20px;line-height:1.6}
@media(max-width:640px){
 .product-card-body{padding:16px}
 .product-actions .button{width:100%;padding:12px 10px;font-size:13px}
 .section-head{gap:16px;align-items:flex-start}
 .checkout-term-options{gap:8px}
 .checkout-term{padding:13px 8px;font-size:13px}
 .checkout-term small{font-size:11px}
 .checkout-form-card{padding:20px 16px}
 .checkout-page-title h1{font-size:28px;line-height:1.15}
}
@media(prefers-reduced-motion:reduce){.product-card,.button{transition:none}}


/* Conteúdo institucional e compromissos: classes isoladas, sem seletores de pagamento. */
.trust-section{margin-block:28px 40px}
.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:26px}
.trust-card{display:flex;align-items:flex-start;gap:13px;padding:22px;background:#f4faf7;border:1px solid #d2e6dd;border-radius:18px;color:#173f38}
.trust-card strong{display:block;font-size:12px;letter-spacing:.04em;line-height:1.5}
.trust-card p{margin:9px 0;font-size:14px;line-height:1.65}
.trust-card small{display:block;font-size:12px;line-height:1.6;color:#45665e}
.trust-card a{color:#14624f;text-underline-offset:3px}
.trust-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#d9f0e4;color:#125642;font-size:23px}
.trust-grid-compact .trust-card{padding:18px}
.income-guide{margin-block:36px;padding:30px;border:1px solid #d8e5df;background:#fff;border-radius:20px;color:#183c35}
.income-guide h2{font-size:clamp(23px,3vw,32px);line-height:1.2;margin:12px 0}
.income-guide p{font-size:15px;line-height:1.75}
.income-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:22px}
.income-categories article{padding:20px;background:#f5f8f6;border-radius:14px}
.income-categories h3{font-size:16px;line-height:1.4;margin:0 0 10px}
.income-categories p{margin:0;font-size:14px}
.document-channel-note{border-left:3px solid #21775e;padding:12px 16px;background:#f1f7f3}
.commercial-awareness{margin-block:22px;padding:20px;background:#f0f7f3;border:1px solid #d5e6dc;border-radius:14px;color:#204b3e}
.commercial-awareness p{font-size:14px;line-height:1.75;margin:10px 0}
.commercial-awareness a{font-size:13px;color:#135c48;text-underline-offset:3px}
.product-commercial-copy{margin-top:24px;padding-top:22px;border-top:1px solid #dde7e1}
.product-commercial-copy h2{font-size:18px;line-height:1.4}
.product-commercial-copy p{font-size:14px;line-height:1.7}
.product-commercial-copy small{font-size:12px;color:#53695f;line-height:1.7;display:block}
.daily-reference{padding:12px 14px;background:#f1f7f3;border-radius:10px}
.detail-trust{margin-top:34px}
.content-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:34px}
.content-steps article{padding:26px;background:#f4f8f5;border:1px solid #dce8df;border-radius:18px}
.content-steps article>span{display:inline-block;color:#176751;font-size:13px;font-weight:800;letter-spacing:.1em}
.content-steps h2{font-size:21px;line-height:1.3;margin:14px 0}
.content-steps p{font-size:15px;line-height:1.75}
.content-steps small{display:block;line-height:1.6;color:#586c61}
.content-table-wrap{overflow-x:auto;margin-block:28px}
.content-summary-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7}
.content-summary-table caption{text-align:left;font-size:19px;font-weight:700;margin-bottom:12px}
.content-summary-table th,.content-summary-table td{padding:18px;text-align:left;border:1px solid #dce6df;vertical-align:top}
.content-summary-table th{background:#edf6f0;color:#1b5742}
.customer-stories{margin-block:52px}
.customer-stories h2{font-size:clamp(26px,4vw,36px)}
.customer-stories p{line-height:1.7;max-width:66ch}
.stories-placeholder{margin-top:20px;padding:24px;border:1px dashed #a9c7b7;border-radius:16px;background:#f7faf8;color:#4a6557;line-height:1.7}
.footer-trust{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid #ffffff29}
.footer-trust-item{display:flex;flex:1 1 200px;align-items:flex-start;gap:10px;color:#e3f4e8}
.footer-trust-item>span{font-size:21px;color:#afe2c4}
.footer-trust-item strong{font-size:12px;display:block;letter-spacing:.04em}
.footer-trust-item small{font-size:12px;line-height:1.6;display:block;margin-top:7px;color:#c0d6c8}
@media(max-width:960px){.trust-grid,.income-categories,.content-steps{grid-template-columns:1fr}.trust-card{padding:20px}.content-steps article{padding:22px}}
@media(max-width:560px){.income-guide{padding:22px 18px}.trust-grid{gap:12px;margin-block:20px}.commercial-awareness{padding:18px}.content-summary-table th,.content-summary-table td{padding:12px;min-width:140px}.footer-trust{gap:22px}.footer-trust-item{flex-basis:100%}}

/* Reforço visual solicitado: somente o rótulo variável do intermediador. */
#ironpayNativeReceiver{display:none}
.payment-processor-copy{font-size:13px;line-height:1.65;color:#38594d;margin:16px 0;padding:12px 16px;background:#f4f8f6;border-radius:12px}
.payment-confidence{margin:20px 0 24px;padding:18px;border:1px solid #d5e5dc;background:#f8fbf9;border-radius:16px;color:#193f33}
.payment-confidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.payment-confidence-card{display:flex;gap:10px;align-items:flex-start;padding:13px;background:#fff;border:1px solid #e0e9e3;border-radius:12px}
.payment-confidence-card>span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:8px;background:#e0f2e7;color:#135d43;font-size:18px}
.payment-confidence-card strong{font-size:10px;letter-spacing:.035em;line-height:1.5;display:block}
.payment-confidence-card p{font-size:12px;line-height:1.65;margin:7px 0 0}
.payment-confidence-entry{background:#e9f5ee;border-color:#badbc9}
.payment-confidence-awareness{font-size:12px;line-height:1.65;margin:14px 0 0}
.payment-confidence a{color:#175e48;text-underline-offset:3px}
@media(max-width:540px){.payment-confidence{padding:12px}.payment-confidence-grid{grid-template-columns:1fr;gap:9px}.payment-confidence-card{padding:12px}.payment-processor-copy{padding:12px;font-size:12px}}

/* Keep product choices inside narrow screens; each row scrolls independently. */
.detail-grid > *{min-width:0}
@media(max-width:760px){
  .detail-info .detail-panel{min-width:0;max-width:100%}
  .detail-panel .plan-buttons,.detail-panel .color-options{
    display:flex;flex-wrap:nowrap;max-width:100%;min-width:0;gap:8px;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;
    padding:3px 3px 10px;scroll-padding-inline:3px;
    scrollbar-width:thin;scrollbar-color:#008f87 #e2efeb;
  }
  .detail-panel .plan-buttons .plan-option{
    flex:1 0 82px;min-width:82px;min-height:76px;padding:8px 4px;
    scroll-snap-align:start;white-space:normal;
  }
  .detail-panel .plan-option strong{font-size:19px}
  .detail-panel .plan-option em{font-size:8px;line-height:1.35}
  .detail-panel .color-options .color-option{
    flex:0 0 auto;min-height:44px;white-space:nowrap;scroll-snap-align:start;
  }
  .detail-panel .plan-buttons::-webkit-scrollbar,.detail-panel .color-options::-webkit-scrollbar{height:6px}
  .detail-panel .plan-buttons::-webkit-scrollbar-thumb,.detail-panel .color-options::-webkit-scrollbar-thumb{background:#008f87;border-radius:8px}
  .detail-panel .plan-buttons::-webkit-scrollbar-track,.detail-panel .color-options::-webkit-scrollbar-track{background:#e2efeb;border-radius:8px}
}

/* Product gallery must fill its frame, including phones below 400px wide. */
.detail-art.gallery-main-frame > .phone-art.large-art{
  width:100%;height:100%;border-bottom:0;
}
.detail-art.gallery-main-frame .phone-art > .real-photo{
  object-fit:contain;object-position:center;padding:16px 20px 40px;
}
@media(max-width:760px){
  .detail-art.gallery-main-frame .phone-art > .real-photo{padding:12px 14px 36px}
}

/* Readable home typography; keep the established palette and primary CTA. */
.site-header .brand-name{font-weight:750;letter-spacing:-.035em}
.site-header .logo>img{box-shadow:none}
.retail-intro-main h1{
  font-weight:700;letter-spacing:-.035em;line-height:1.16;text-wrap:balance;
}
.retail-intro-main p{color:#385660;font-size:16px;line-height:1.75}
@media(max-width:760px){
  .retail-intro-main{padding:28px 22px}
  .retail-intro-main h1{font-size:clamp(30px,8vw,42px);line-height:1.16;margin:20px 0 0}
  .retail-intro-main p{font-size:15px;line-height:1.75;margin:18px 0 12px}
  .retail-intro-main .retail-kicker{font-size:10px;letter-spacing:.07em;padding:8px 11px}
  .retail-intro-main .hero-facts{font-size:12px;line-height:1.6;flex-wrap:wrap;gap:10px}
}

/* Compact opening and a clearer contract reading/print area. */
@media(max-width:760px){
  .retail-intro-main h1{font-size:clamp(28px,7.6vw,38px);line-height:1.18}
  .contract-page>h1{font-size:clamp(28px,7.6vw,36px);line-height:1.2;letter-spacing:-.03em}
  .contract-page .contract-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-block:18px}
  .contract-page .contract-toolbar span{font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:#526773}
  .contract-page .contract-toolbar .button{width:100%;min-height:46px;white-space:normal}
  .contract-page .contract-sheet{padding:22px 18px}
  .contract-page .contract-sheet p{font-size:14px;line-height:1.85;overflow-wrap:anywhere}
  .contract-page .contract-sheet h2{text-align:left;font-size:20px;line-height:1.35;margin:28px 0 12px}
}
.contract-page>.legal-alert{border:1px solid #c9e3e5;border-left:4px solid #087f86;background:#eef8f8;color:#274f5c;padding:18px;border-radius:12px}
.contract-page>.legal-alert>strong{display:block;font-size:15px;color:#164751;margin-bottom:8px}
.contract-page>.legal-alert>p{font-size:14px;line-height:1.75;color:#365b66;margin:0 0 10px}
.contract-page>.legal-alert>small{display:block;font-size:12px;line-height:1.65;color:#496874}

/* Fotos curadas: somente os sete aparelhos atualizados; sem interferir no checkout. */
.product-card .phone-art.catalog-photo-art[data-curated-photo="true"] > .real-photo {
  padding: 4px;
  object-fit: contain;
  background: #fff;
}
.detail-page .gallery-main-frame .phone-art[data-curated-photo="true"] > .real-photo {
  padding: 8px 14px;
  object-fit: contain;
}
.detail-page:has(.phone-art[data-curated-photo="true"]) .gallery-main-frame {
  border-color: #dce7ec;
  border-radius: 20px;
  overflow: hidden;
}
.detail-page:has(.phone-art[data-curated-photo="true"]) .mobile-gallery-thumbs {
  max-width: 100%; min-width: 0;
  gap: 10px; padding: 14px 2px 8px;
  scrollbar-color: #237d91 #edf4f6;
  overscroll-behavior-x: contain;
}
.detail-page:has(.phone-art[data-curated-photo="true"]) .mobile-gallery-thumb {
  flex: 0 0 76px; height: 76px; padding: 3px;
  border-radius: 12px; border-color: #dce7ec;
}
.detail-page:has(.phone-art[data-curated-photo="true"]) .mobile-gallery-thumb.is-active {
  border: 2px solid #16788a; background: #fff;
  box-shadow: 0 0 0 2px #16788a12;
}
.curated-device-specs {margin: 20px 0 24px; padding: 18px; border: 1px solid #dce7ec; border-radius: 16px; background: #f7fafb; color: #183b4b;}
.curated-device-specs h2 {margin: 0 0 12px; font-size: 16px;}
.curated-device-specs dl {margin: 0;}
.curated-device-specs dl > div {display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 14px; padding: 9px 0; border-top: 1px solid #e3ecef; font-size: 12px; line-height: 1.55;}
.curated-device-specs dt {font-weight: 700;}
.curated-device-specs dd {margin: 0;}
@media(max-width:600px) {
  .product-card .phone-art.catalog-photo-art[data-curated-photo="true"] > .real-photo {padding: 2px;}
  .detail-page .gallery-main-frame .phone-art[data-curated-photo="true"] > .real-photo {padding: 6px 8px;}
  .detail-page:has(.phone-art[data-curated-photo="true"]) .mobile-gallery-thumb {flex-basis: 64px; height: 64px;}
  .curated-device-specs {padding: 15px;}
  .curated-device-specs dl > div {grid-template-columns: 98px minmax(0,1fr); gap: 10px;}
}

/* Capas transparentes: retirar também as camadas ilustrativas abaixo da foto. */
.phone-art.gallery-photo[data-transparent-cover="true"],
.product-card .phone-art.catalog-photo-art[data-transparent-cover="true"],
.detail-page .gallery-main-frame .phone-art[data-transparent-cover="true"],
.phone-art.gallery-photo[data-transparent-cover="true"] > .real-photo {
  background: transparent !important;
}
.phone-art[data-transparent-cover="true"] > .illustration-photo,
.phone-art[data-transparent-cover="true"] > .model-illustration,
.phone-art[data-transparent-cover="true"] > .mock-phone {visibility: hidden !important;}
.phone-art[data-transparent-cover="true"]::before,
.phone-art[data-transparent-cover="true"]::after {display: none !important;}
.detail-page .gallery-main-frame:has([data-transparent-cover="true"]) {background: transparent !important;}
.product-card .phone-art.catalog-photo-art[data-transparent-cover="true"] > .real-photo {padding: 8px 12px;}
/* A máscara de apresentação exclui apenas resíduos na margem transparente. */
.phone-art[data-transparent-cover="true"][data-cover-model="iphone-13"] > .real-photo {clip-path: inset(6% 10% 7% 10%);}
.phone-art[data-transparent-cover="true"][data-cover-model="galaxy-a37"] > .real-photo {clip-path: inset(6% 12.5% 7% 12.5%);}
.phone-art[data-transparent-cover="true"][data-cover-model="iphone-17"] > .real-photo {clip-path: inset(4% 10% 5% 10%);}
.category-section .brand-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
@media(max-width:600px) {
  .product-card .phone-art.catalog-photo-art[data-transparent-cover="true"] > .real-photo {padding: 6px 4px;}
  .category-section .brand-grid {grid-template-columns: minmax(0,1fr);}
}
