/* https://idahophotostudios.com/wp-content/themes/astra-child/style.css?ver=1757054578 */
/* Import rule from: https://idahophotostudios.com/wp-content/themes/astra-child/assets/css/legacy-fallbacks.css */
/*
 * Astra Child Theme – legacy-fallbacks.css
 * Author: Idaho Photo Studios
 * Version: 1.0.0 – Initial fallback visibility & overflow rules
 * Date:    2025-08-29 13:15 MDT | UTC-06:00
 * Manifest Tag: #mc/1.0.0
 */

/* Ensure content is visible before webfonts load */
body {
    visibility: visible !important;
    overflow-x: hidden !important;
}

/* Prevent horizontal overscroll on touch devices */
html,
body {
    overscroll-behavior-x: none;
}
/* Import rule from: https://idahophotostudios.com/wp-content/themes/astra-child/assets/css/typography.css */
/*
 * File: assets/css/typography.css
 * Purpose: Enforce Typography Enforcement Manifest across all templates with minimal specificity
 * Version: 1.2.0
 * Updated: 2025-08-30 17:55 MDT (UTC-06:00)
 * Manifest Tag: #typography/critical@1.2.0
 *
 * Invariants:
 * - Body: Lato, 20px, 400, line-height 1.65
 * - Headings: Playfair Display with explicit sizes/weights
 * - Paragraph rhythm: margin-bottom 2em
 * - Rem baseline preserved for layout stability
 *
 * Load Order:
 * - Must load after theme and plugin styles to win without specificity bloat.
 */

/* ---- Root & body -------------------------------------------------------- */

/* Set rem baseline to 20px on standard 16px browsers; clamp across breakpoints */
html { font-size: 125%; }
@media (max-width: 1200px) { html { font-size: 125%; } }
@media (max-width: 992px)  { html { font-size: 125%; } }
@media (max-width: 768px)  { html { font-size: 125%; } }
@media (max-width: 544px)  { html { font-size: 125%; } }
/* Defensive alias if something targets :root instead of html */
:root { font-size: 125%; }

/* Lock body typography to manifest */
body,
button,
input,
select,
textarea,
.ast-button,
.ast-custom-button {
  font-family: "Lato", Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;      /* 1rem = 20px via html baseline */
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Normalize template scopes that sometimes reassign body */
body.page,
body.single,
body.blog,
body.archive,
body.search,
body.error404,
body.category,
body.tag {
  font-size: 1rem;
}

/* ---- Headings: family, sizes, weights ---------------------------------- */

h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6) {
  font-family: "Playfair Display", Georgia, serif;
}

h1, .entry-content :where(h1) { font-size: 40px; font-weight: 700; line-height: 1.25; }
h2, .entry-content :where(h2) { font-size: 36px; font-weight: 600; line-height: 1.25; }
h3, .entry-content :where(h3) { font-size: 34px; font-weight: 500; line-height: 1.25; }
h4, .entry-content :where(h4) { font-size: 28px; font-weight: 500; line-height: 1.25; }
h5, .entry-content :where(h5) { font-size: 26px; font-weight: 400; line-height: 1.30; }
h6, .entry-content :where(h6) { font-size: 24px; font-weight: 400; line-height: 1.35; }

/* Astra entry title aligns to H1 manifest */
header.entry-header .entry-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
}

/* ---- Paragraph rhythm --------------------------------------------------- */

p,
.entry-content :where(p) {
  margin-bottom: 2em;
}

/* ---- Inline size scrub (scoped, minimal !important) --------------------- */
/* Defeats Gutenberg inline 18px without global !important debt. Applies only when inline font-size exists. */

.entry-content p[style*="font-size"]  { font-size: 1rem !important; line-height: 1.65 !important; }
.entry-content li[style*="font-size"] { font-size: 1rem !important; line-height: 1.65 !important; }
.entry-content ol[style*="font-size"],
.entry-content ul[style*="font-size"] { font-size: 1rem !important; line-height: 1.65 !important; }

.entry-content h1[style*="font-size"] { font-size: 40px !important; line-height: 1.25 !important; }
.entry-content h2[style*="font-size"] { font-size: 36px !important; line-height: 1.25 !important; }
.entry-content h3[style*="font-size"] { font-size: 34px !important; line-height: 1.25 !important; }
.entry-content h4[style*="font-size"] { font-size: 28px !important; line-height: 1.25 !important; }
.entry-content h5[style*="font-size"] { font-size: 26px !important; line-height: 1.30 !important; }
.entry-content h6[style*="font-size"] { font-size: 24px !important; line-height: 1.35 !important; }

/* ---- Optional beacons (disabled) ---------------------------------------- */
/* Uncomment locally to verify cascade without visual changes
html::before { content: "html-125"; display: none; }
body::before { content: "body-20-1.65"; display: none; }
*/

/* ---- End ---------------------------------------------------------------- */.ips-grid{display:grid;gap:var(--ips-grid-gap)}.wp-block-gallery .wp-block-image img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:attr(width) / attr(height)}.site-header .custom-logo{height:auto;max-height:60px;width:auto}@media (min-width:992px){.site-header .custom-logo{max-height:120px}}.ast-custom-logo-inline{display:flex!important;align-items:center!important;gap:20px!important;flex-wrap:wrap!important;overflow:hidden!important;max-width:100%!important;box-sizing:border-box!important}.ast-custom-logo-inline img.custom-logo{max-height:60px;height:auto;width:auto;flex-shrink:0}@media (max-width:768px){.ast-custom-logo-inline{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;gap:6px!important}.ast-custom-logo-inline img.custom-logo{max-height:50px!important;margin-bottom:4px}.ast-site-title,.ast-site-description{display:block!important;width:100%!important;margin:0!important;line-height:1.3!important;text-align:left!important;word-wrap:break-word}}#colophon.site-footer{min-height:80px}#colophon .site-info{display:block;text-align:center;font-size:14px;line-height:1.5}@media (max-width:921px){.ast-mobile-header-wrap,.ast-builder-layout-element.site-branding{justify-content:flex-start!important;text-align:left!important}.ast-site-identity{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important}.ast-site-identity .custom-logo-link,.ast-site-identity .site-logo-img{display:block!important;margin-left:0!important;margin-right:0!important}.ast-site-identity .site-logo-img{margin-bottom:0.5em!important}}.wp-post-image{height:300px;width:100%;object-fit:cover;display:block}