
/* =========================================================
   AeternaVita final internal layout polish
   Load this as the LAST stylesheet on internal pages.
   Goals:
   - Keep homepage/index unchanged.
   - Make cart/about/product/resource pages less oversized.
   - Center the articles/research page block and article cards.
   ========================================================= */

html { font-size: 13.5px !important; }
body { background-size: 560px auto !important; }

/* Smaller, cleaner navigation on internal pages */
.nav {
  top: 20px !important;
  min-height: 50px !important;
  padding: 7px 18px !important;
  gap: 18px !important;
  max-width: min(1000px, 91vw) !important;
  border-radius: 999px !important;
}
.nav-icon { width: 36px !important; height: 36px !important; }
.nav a,
.nav-dropdown-trigger,
.cart-link,
.signin-link,
.account-link,
.admin-link {
  font-size: 10.5px !important;
  letter-spacing: 2.5px !important;
  line-height: 1 !important;
}
.nav-dropdown-menu a { font-size: 12px !important; letter-spacing: .7px !important; }

/* Universal internal page offset */
.cart-premium-shell,
.about-premium-shell,
.product-detail,
.account-shell,
.account-dashboard,
.checkout-page,
.recon-shell,
.dosages-shell,
.articles-shell,
.calculator-shell,
.single-calc-shell,
.visual-calc-shell,
.category-products-page,
.products {
  padding-top: 82px !important;
  padding-bottom: 42px !important;
}

/* Compact hero banners — cart/about should feel like page banners, not homepage heroes */
.cart-hero,
.about-hero-premium {
  width: min(1120px, 90vw) !important;
  min-height: 170px !important;
  margin: 0 auto 16px !important;
  padding: 22px 32px !important;
  border-radius: 24px !important;
}
.cart-hero-inner,
.about-hero-copy { max-width: 650px !important; }
.cart-kicker,
.about-location,
.about-kicker {
  font-size: 9.5px !important;
  letter-spacing: 2.5px !important;
  margin-bottom: 6px !important;
}
.cart-hero h1,
.about-hero-copy h1 {
  font-size: clamp(32px, 3.4vw, 48px) !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}
.cart-hero p,
.about-hero-copy p {
  max-width: 610px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin-bottom: 10px !important;
}

/* Cart: tighter, more transactional */
.checkout-layout {
  width: min(1120px, 90vw) !important;
  grid-template-columns: minmax(0, 1.38fr) minmax(285px, .62fr) !important;
  gap: 16px !important;
  margin-bottom: 36px !important;
}
.checkout-main { gap: 12px !important; }
.checkout-card,
.summary-card,
.notice-card,
.cart-panel,
.empty-cart-card {
  padding: 16px 18px !important;
  border-radius: 20px !important;
}
.checkout-card h2,
.summary-card h2,
.cart-panel-header h2,
.empty-cart-card h2 {
  font-size: clamp(24px, 2.45vw, 34px) !important;
  line-height: 1.05 !important;
  margin-bottom: 8px !important;
}
.notice-card h2 { font-size: 21px !important; margin-bottom: 6px !important; }
.checkout-intro,
.cart-panel-header p { font-size: 12.5px !important; line-height: 1.45 !important; margin-bottom: 10px !important; }
.checkout-field-grid { gap: 8px !important; }
.checkout-field input,
.checkout-field select,
.account-card input,
.account-card select,
.account-card textarea {
  min-height: 35px !important;
  padding: 8px 10px !important;
  border-radius: 11px !important;
  font-size: 12.5px !important;
}
.checkout-field label,
.account-card label { font-size: 9.5px !important; letter-spacing: 1.3px !important; }
.account-box,
.notice,
.research-notice { padding: 9px 11px !important; border-radius: 13px !important; font-size: 11.5px !important; line-height: 1.4 !important; }
.checkout-checkbox { margin: 6px 0 !important; font-size: 10.8px !important; line-height: 1.3 !important; }
.summary-row { padding: 7px 0 !important; font-size: 12.5px !important; }
.summary-total { font-size: 15px !important; }
.cart-fineprint,
.notice-card p { font-size: 10.8px !important; line-height: 1.45 !important; }
.summary-actions { gap: 6px !important; margin: 10px 0 !important; }
.button,
button.button,
a.button,
.ghost-button,
a.ghost-button,
button.ghost-button {
  min-height: 35px !important;
  padding: 8px 13px !important;
  font-size: 9.8px !important;
  letter-spacing: 1.35px !important;
}
.trust-strip { margin-top: 8px !important; padding-top: 8px !important; gap: 4px !important; }
.trust-strip div { font-size: 10.5px !important; }
.checkout-item,
.cart-line { grid-template-columns: 58px minmax(0,1fr) 78px 88px !important; gap: 8px !important; padding: 9px !important; border-radius: 16px !important; margin-bottom: 7px !important; }
.checkout-item img,
.cart-line-img { width: 58px !important; height: 58px !important; border-radius: 12px !important; }
.checkout-item h3,
.cart-line-title { font-size: 17px !important; line-height: 1.05 !important; margin-bottom: 2px !important; }
.checkout-item p,
.checkout-item small,
.cart-line-meta,
.cart-line-price { font-size: 10.5px !important; }
.checkout-qty input,
.qty-input { min-height: 32px !important; padding: 6px 8px !important; }

/* About/internal content scale */
.about-story-grid { width: min(1120px, 90vw) !important; margin: 0 auto !important; gap: 16px !important; }
.about-section-premium { width: min(1120px, 90vw) !important; padding: 26px 0 !important; }
.about-logo-panel,
.about-copy-panel,
.about-glass-card,
.about-cape-panel,
.about-final-cta,
.legal-card,
.articles-card,
.recon-card,
.dosages-card,
.calculator-hero-card,
.single-calc-card,
.account-card,
.info-panel,
.quick-summary {
  padding: 18px 20px !important;
  border-radius: 20px !important;
}
.about-logo-panel { min-height: 230px !important; }
.about-logo-panel img { width: min(330px, 82%) !important; }
.about-section-heading h2,
.about-copy-panel h2,
.about-cape-copy h2,
.about-final-cta h2,
.legal-hero h1,
.category-page-heading h1,
.articles-card h1,
.recon-card h1,
.dosages-card h1,
.calculator-hero-card h1,
.single-calc-heading h1,
.visual-calc-heading h1,
.account-card h1,
.product-copy h1 {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  line-height: 1.04 !important;
  margin-bottom: 8px !important;
}
.about-section-heading p,
.about-copy-panel p,
.about-cape-copy p,
.about-final-cta p,
.legal-card p,
.legal-card li {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}
.about-card-grid,
.product-focus-grid { gap: 12px !important; }
.about-glass-card h3,
.product-focus-card h3 { font-size: clamp(18px, 2vw, 24px) !important; }
.product-focus-card div { padding: 15px !important; }
.product-focus-card img { max-height: 165px !important; object-fit: contain !important; }

/* ARTICLES / RESEARCH PAGE CENTERING FIX */
.articles-shell {
  width: min(1160px, 90vw) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 82px !important;
}
.articles-card {
  width: 100% !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  padding: 26px 24px !important;
}
.articles-card > p,
.articles-card .notice,
.articles-card .research-notice {
  max-width: 880px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.articles-grid,
.article-grid,
.article-cards,
.resources-grid,
.resource-grid,
.video-grid {
  width: 100% !important;
  max-width: 1060px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  justify-content: center !important;
}
.article-card,
.resource-card,
.video-card,
.articles-card article {
  text-align: left !important;
  max-width: 100% !important;
}
.articles-card article h2,
.article-card h2,
.resource-card h2,
.video-card h2,
.articles-card article h3,
.article-card h3,
.resource-card h3,
.video-card h3 {
  font-size: clamp(22px, 2.6vw, 32px) !important;
  line-height: 1.08 !important;
}
.articles-card article p,
.article-card p,
.resource-card p,
.video-card p {
  font-size: 12.5px !important;
  line-height: 1.48 !important;
}

/* Product pages */
.product-detail { width: min(1120px, 90vw) !important; grid-template-columns: minmax(240px, 330px) minmax(320px, 640px) !important; gap: 28px !important; }
.product-visual { top: 90px !important; }
.product-visual img,
.product-visual .vial-img { width: min(300px, 76vw) !important; max-height: 310px !important; object-fit: contain !important; }
.product-copy p,
.quick-summary p,
.info-panel p,
.info-panel li { font-size: 12.5px !important; line-height: 1.48 !important; }
.product-meta div { padding: 9px 11px !important; border-radius: 13px !important; }
.summary-pill,
.stock-pill,
.price-pill { padding: 7px 9px !important; font-size: 10.5px !important; }

/* Product listing */
.products,
.category-products-page { padding-top: 80px !important; }
.products-title,
.products h2,
.category-page-heading h1 { font-size: clamp(26px, 3vw, 40px) !important; }
.product-grid,
.category-grid,
.cards-grid { gap: 12px !important; }
.card,
.product-card,
.category-card,
.product-focus-card { border-radius: 18px !important; }
.card h3,
.product-card h3,
.category-card h3 { font-size: clamp(18px, 2vw, 24px) !important; }
.card img,
.product-card img,
.card .vial-img,
.product-card .vial-img { max-height: 165px !important; object-fit: contain !important; }

/* Resource/legal pages */
.legal-hero { min-height: auto !important; padding-top: 82px !important; padding-bottom: 12px !important; }
.legal-page,
.recon-shell,
.dosages-shell,
.calculator-shell,
.single-calc-shell,
.visual-calc-shell { width: min(1040px, 90vw) !important; }
.legal-card h2,
.recon-grid h2,
.recon-formula-card h2,
.recon-list-card h2,
.recon-note-card h2,
.compound-grid h3,
.dosages-do-not-box h3,
.source-notes h3,
.calculator-hero-card h2 { font-size: clamp(19px, 2vw, 25px) !important; }
.recon-grid,
.compound-grid,
.dosages-grid,
.calculator-grid,
.single-calc-grid,
.visual-calc-grid { gap: 10px !important; }
.recon-grid section,
.recon-formula-card,
.recon-list-card,
.recon-note-card,
.dosages-do-not-box,
.source-notes,
.compound-card,
.calc-card,
.single-calc-card,
.visual-calc-card { padding: 14px !important; border-radius: 16px !important; }

/* Footer */
.site-footer { margin-top: 24px !important; }
.footer-top { gap: 18px !important; padding-top: 24px !important; }
.footer-column h4 { font-size: 11px !important; }
.footer-column a,
.footer-column p,
.footer-bottom p { font-size: 11px !important; }

@media (max-width: 1040px) {
  .checkout-layout,
  .about-story-grid,
  .product-detail { grid-template-columns: 1fr !important; }
  .summary-card,
  .product-visual { position: relative !important; top: auto !important; }
  .checkout-item,
  .cart-line { grid-template-columns: 58px 1fr !important; }
  .checkout-qty,
  .checkout-line-total,
  .cart-controls { grid-column: 1 / -1 !important; text-align: left !important; }
  .articles-grid,
  .article-grid,
  .article-cards,
  .resources-grid,
  .resource-grid,
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 720px) {
  .nav { width: calc(100% - 22px) !important; gap: 10px !important; padding: 7px 10px !important; overflow-x: auto !important; }
  .nav a,
  .nav-dropdown-trigger,
  .cart-link { letter-spacing: 1.8px !important; font-size: 9.8px !important; }
  .cart-premium-shell,
  .about-premium-shell,
  .product-detail,
  .account-shell,
  .checkout-page,
  .recon-shell,
  .dosages-shell,
  .articles-shell,
  .calculator-shell,
  .category-products-page,
  .products { padding-top: 72px !important; }
  .cart-hero,
  .about-hero-premium { padding: 18px 16px !important; min-height: auto !important; border-radius: 18px !important; }
  .cart-hero h1,
  .about-hero-copy h1 { font-size: 32px !important; }
  .checkout-card,
  .summary-card,
  .notice-card,
  .about-logo-panel,
  .about-copy-panel,
  .about-glass-card,
  .legal-card,
  .account-card,
  .articles-card { padding: 14px !important; border-radius: 18px !important; }
  .articles-grid,
  .article-grid,
  .article-cards,
  .resources-grid,
  .resource-grid,
  .video-grid { grid-template-columns: 1fr !important; }
}

/* Product-card image and title separation */
.product-grid .card .product-link {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.product-grid .card .vial-img {
  width: 100%;
  height: 175px;
  max-height: 175px !important;
  margin: 0 auto 14px !important;
  object-fit: contain !important;
  object-position: center;
}

.product-grid .card h3 {
  margin: 0 0 8px !important;
  line-height: 1.2 !important;
  min-height: 1.2em;
}

