/* Legibilidade: tamanhos de leitura e toque, sem alterar a paleta do tema. */
body { font-size:18px; line-height:1.65; }
button,input,select,textarea { font-family:inherit; }
button,a,select { -webkit-tap-highlight-color:transparent; }
.lead { font-size:18px; line-height:1.75; }
.section-top>p,.guide-inner>div:first-child>p:last-child,.steps p,
.size-header p:not(.eyebrow),.diamond-lead,
.detail-copy>p:not(.eyebrow),.dialog-intro,.empty { font-size:16px; line-height:1.75; }

/* Rótulos e informações que antes apareciam entre 8 e 13 px. */
.eyebrow,.diamond-intro .eyebrow { font-size:14px; line-height:1.5; letter-spacing:.11em; }
.hero-note { font-size:16px; line-height:1.6; flex-wrap:wrap; }
.hero-note .line { flex:none; }
.hero-label { flex-wrap:wrap; gap:10px 18px; }
.hero-label span { max-width:100%; font-size:14px; line-height:1.5; letter-spacing:.08em; }
.hero-label strong { font-size:20px; line-height:1.4; }
.ticker { max-width:100%; overflow:hidden; font-size:14px; line-height:1.5; letter-spacing:.08em; }
.result-count { font-size:14px; line-height:1.6; font-weight:600; white-space:normal; overflow-wrap:anywhere; }
.product-meta p { font-size:14px; line-height:1.55; letter-spacing:.07em; }
.product-meta h3,.size-meta h3 { font-size:26px; line-height:1.3; overflow-wrap:break-word; }
.product-meta small { font-size:16px; line-height:1.6; }
.product-meta .product-finish-count { max-width:100%; font-size:14px; line-height:1.5; font-weight:600; padding:7px 12px; text-wrap:pretty; }
.product-image span { max-width:calc(100% - 24px); font-size:14px; line-height:1.45; }
.steps>div>span { font-size:14px; line-height:1.6; }
.steps h3 { font-size:26px; line-height:1.3; }
.footer-inner p { font-size:16px; line-height:1.7; }
.footer-inner>span { font-size:14px; line-height:1.6; }

/* Controles com texto de 16 px e área mínima de toque de 48 px. */
.header nav { font-size:16px; line-height:1.5; }
.header nav a { display:inline-flex; align-items:center; min-height:48px; }
.header-cta { min-height:48px; font-size:16px; line-height:1.3; padding:12px 16px; }
.header .count { width:24px; height:24px; min-width:24px; font-size:14px; line-height:1; }
.button,.diamond-cta { min-height:50px; font-size:16px; line-height:1.45; letter-spacing:0; white-space:normal; }
.hero-size-link,.gallery-open,.product-dialog .gallery-open,.size-original { min-height:48px; font-size:16px; line-height:1.5; }
.product-size-guide { min-height:48px; font-size:16px; line-height:1.6; }
.filter,.size-filters button { min-height:48px; padding:11px 17px; font-size:16px; line-height:1.45; font-weight:500; }
.plus { width:48px; height:48px; min-width:48px; min-height:48px; font-size:27px; }
dialog .close { width:48px; height:48px; min-width:48px; min-height:48px; font-size:29px; }

/* Troca de modelo, tecido e cor. */
.shop-type-filters button { min-height:50px; font-size:16px; line-height:1.4; padding:12px 18px; }
.shop-product-header label { font-size:14px; line-height:1.5; letter-spacing:.02em; }
.shop-product-header select { min-height:50px; min-width:0; font-size:16px; line-height:1.5; }
.shop-selected-finish { font-size:16px; line-height:1.6; font-weight:600; }
.shop-selection-panel .variant-header { align-items:flex-start; flex-wrap:wrap; }
.shop-selection-panel .variant-header h3 { font-size:18px; line-height:1.4; }
.shop-selection-panel .variant-header p { font-size:14px; line-height:1.6; }
.variant-header p,.measurement-reference p { font-size:16px; line-height:1.7; }
.variant-group p,.shop-selection-panel .variant-group p { font-size:14px; line-height:1.5; font-weight:700; }
.gallery-controls button,.variant-carousel button,.variant-options button,.measurement-link,
.shop-selection-panel .variant-options button,.shop-selection-panel .variant-carousel button {
  min-width:48px; min-height:48px; padding:11px 14px; font-size:16px; line-height:1.4;
}
.variant-options,.shop-selection-panel .variant-options { gap:8px; }
.shop-color-dot { width:20px; height:20px; }
.gallery-counter,.variant-counter,.shop-selection-panel .variant-counter { font-size:14px; line-height:1.5; }
.detail-image-caption,.product-dialog .detail-image-caption { font-size:14px; line-height:1.6; }
.thumbs .technical-thumb { font-size:14px; line-height:1.3; }
.measurement-reference h3 { font-size:26px; line-height:1.3; }
.diamond-product-features { font-size:16px; line-height:1.75; }
.diamond-product-features h3 { font-size:24px; line-height:1.35; }
.diamond-product-features li { margin-block:8px; }

/* Biblioteca de medidas e orçamento. */
.size-tag { max-width:100%; font-size:14px; line-height:1.5; letter-spacing:.04em; }
.size-meta p,.size-meta p.size-height { font-size:16px; line-height:1.65; }
.size-meta p.size-dimensions { font-size:20px; line-height:1.5; }
.size-image span { max-width:calc(100% - 24px); font-size:14px; line-height:1.45; }
.size-open,.size-meta .button { min-height:48px; font-size:16px; line-height:1.5; padding:11px 14px; }
.size-footnote,.size-notes,.size-modal p { font-size:16px; line-height:1.75; }
/* O tema anterior fixou estes dois tamanhos com !important. */
.size-modal .size-zoom-hint { font-size:15px!important; line-height:1.6; }
.size-modal .size-modal-dimensions { font-size:24px!important; line-height:1.5; }
.size-specs dt { font-size:14px; line-height:1.5; }
.size-specs dd { font-size:18px; line-height:1.6; overflow-wrap:break-word; }
.quote-item strong { font-size:17px; line-height:1.5; }
.quote-item small { font-size:16px; line-height:1.6; }
.remove { min-width:48px; min-height:48px; font-size:16px; line-height:1.5; }
.quote-actions p { font-size:14px; line-height:1.6; }

/* Diamond mantém a hierarquia de títulos; os detalhes ganham leitura real. */
.diamond-caption,.diamond-number { font-size:14px; line-height:1.6; }
.diamond-details h3 { font-size:25px; line-height:1.3; }
.diamond-details p { font-size:16px; line-height:1.75; }
.diamond-number { letter-spacing:.06em; }

@media(min-width:801px) and (max-width:1100px) {
  .header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:8px 22px; padding-block:12px; }
  .header>.brand { grid-column:1; grid-row:1; }
  .header .brand-logo { width:72px; height:72px; }
  .header-cta { grid-column:3; grid-row:1; }
  .header nav { grid-column:1/-1; grid-row:2; display:flex; flex-wrap:wrap; justify-content:center; gap:4px 26px; }
  .header nav a { padding-block:8px; }
}

@media(max-width:800px) {
  .header { grid-template-columns:auto minmax(48px,1fr) auto; column-gap:10px; }
  .header .brand { grid-column:1; }
  .nav-toggle { grid-column:2; justify-self:end; width:48px; height:48px; min-width:48px; min-height:48px; }
  .header-cta { grid-column:3; min-height:48px; padding:11px 12px; font-size:16px; }
  .header nav a { display:flex; min-height:50px; padding:12px 14px; font-size:16px; }
  .hero-label span { flex-basis:100%; }
  .hero-label strong { font-size:20px; }
  .shop-type-filters { gap:8px; margin-bottom:-8px; }
  .shop-type-filters button { min-height:54px; padding:10px 8px; font-size:16px; overflow-wrap:break-word; }
  .shop-product-header { padding:58px 18px 16px; }
  .shop-product-header label { font-size:14px; }
  .shop-product-header select { font-size:16px; min-height:50px; }
  .shop-selected-finish { font-size:16px; }
  .shop-selection-panel { margin-inline:12px; padding:14px; }
  .shop-selection-panel .variant-options button { padding:10px 12px; font-size:16px; }
  .shop-selection-panel .variant-carousel { gap:8px; }
  .shop-selection-panel .variant-carousel button { padding:10px 12px; font-size:16px; min-height:48px; }
  .shop-selection-panel .variant-counter { font-size:14px; }
  .gallery-controls { flex-wrap:nowrap; gap:8px; padding:12px; }
  .gallery-controls button { min-height:48px; padding:10px 12px; font-size:16px; }
  .gallery-counter { flex:none; font-size:14px; }
  .size-toolbar .result-count { font-size:14px; }
  .diamond-lead,.diamond-details p { font-size:16px; }
  .diamond-cta { min-height:50px; font-size:16px; }
  .diamond-caption { font-size:14px; }
}

@media(max-width:480px) {
  .header { padding-inline:18px; column-gap:8px; }
  .header .brand-logo { width:64px; height:64px; }
  .header .count { width:24px; height:24px; margin-left:6px; }
  .header-cta { padding-inline:10px; }
  .hero-note { align-items:flex-start; }
  .hero-note .line { display:none; }
  .product-meta { padding-inline:18px; }
  .product-meta h3,.size-meta h3 { font-size:26px; }
  .size-tag { letter-spacing:.02em; }
  .variant-carousel,.shop-selection-panel .variant-carousel { flex-wrap:wrap; }
  .variant-carousel button,.shop-selection-panel .variant-carousel button { flex:1 1 96px; }
  .variant-carousel .variant-counter,.shop-selection-panel .variant-carousel .variant-counter { flex:0 0 42px; }
  .measurement-link { width:100%; overflow-wrap:break-word; }
  .quote-item { align-items:flex-start; flex-wrap:wrap; }
  .quote-item div { flex:1 1 130px; }
  .quote-item .remove { margin-left:auto; }
  .diamond-details h3 { font-size:25px; }
  .diamond-number { top:21px; }
}

@media(max-width:350px) {
  .header { padding-inline:16px; }
  .header .brand-logo { width:60px; height:60px; }
  .header-cta { padding-inline:8px; }
  .hero-label { padding-inline:14px; }
  .shop-type-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-type-filters button:first-child { grid-column:1/-1; }
  .shop-selection-panel { padding-inline:12px; }
  .variant-carousel,.shop-selection-panel .variant-carousel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .variant-carousel .variant-counter,.shop-selection-panel .variant-carousel .variant-counter { grid-column:1/-1; grid-row:1; }
  .gallery-controls { gap:6px; padding-inline:8px; }
  .gallery-controls button { padding-inline:9px; }
}
