/*
Theme Name: Zip Blinds Child
Theme URI: https://zipblinds.roofers.com.sg/
Description: Minimal child theme for the zipblinds.roofers.com.sg single-page clone. Carries the site-wide noindex, the redirect-all-but-home rule, and renders the cloned ElementsKit header/footer templates.
Author: Roofers Home & Decor
Template: twentytwentyone
Version: 2.2.0
*/

/* ---------------------------------------------------------------------------
   Parent-theme neutralisation.
   Twenty Twenty-One constrains content width and adds page margins that would
   letterbox the full-bleed Elementor sections. The cloned page and chrome
   manage their own widths.
   -------------------------------------------------------------------------*/

.zbc-page .entry-content > *{max-width:none;margin-left:0;margin-right:0}
.zbc-page .entry-content{margin-top:0}
.zbc-page #page,.zbc-page .site{margin:0;padding:0;max-width:none}

/* ---------------------------------------------------------------------------
   Elementor version parity.

   This install runs Elementor 4.2.2; the live site runs 4.1.3. The newer
   version emits a generic rule the older one does not:

     .elementor-widget-text-editor { color: var(--e-global-color-text) }

   The kit's "text" global is #FFFFFF, so every body paragraph rendered white.
   Verified by diffing the generated page CSS: live post-810.css contains no
   .elementor-widget-text-editor rule at all, and it is the ONLY generic widget
   selector that differs between the two.

   Restoring inheritance reproduces live exactly: paragraphs on light sections
   take the body colour, and paragraphs inside dark sections still go white via
   their per-element rules, which carry higher specificity.
   -------------------------------------------------------------------------*/

body .elementor-widget-text-editor{color:inherit}

/* ---------------------------------------------------------------------------
   Kit-derived widget defaults.

   CORRECTION to the note above: the cause is not the Elementor version.
   Downgrading this install to the live site's exact version (4.1.3) did NOT
   remove these rules, which proves they come from the kit, not the release.

   The real cause: the live site's generated page CSS (post-810.css) is STALE.
   It predates these kit-derived widget defaults and has never been
   regenerated. Our page CSS was generated fresh after importing the kit, so
   it emits them - and they resolve to kit globals that are wrong for body
   copy (--e-global-color-text is #FFFFFF) and enormous for accordion titles
   (--e-global-typography-primary-font-size is 80px).

   Restoring inheritance reproduces what live actually renders. Per-element
   rules (.elementor-element-<id>) carry higher specificity and still win, so
   deliberate per-widget colours and sizes are untouched.

   Headings are deliberately NOT included: they rely on the kit's h1-h6 rules
   for their size, and forcing inherit there would shrink them to body size.
   -------------------------------------------------------------------------*/

body .elementor-widget-accordion .elementor-accordion-title,
body .elementor-widget-accordion .elementor-accordion-icon,
body .elementor-widget-accordion .elementor-active .elementor-accordion-title,
body .elementor-widget-accordion .elementor-active .elementor-accordion-icon{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;color:inherit
}
body .elementor-widget-accordion .elementor-tab-content{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;color:inherit
}
body .elementor-widget-icon-list .elementor-icon-list-text,
body .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
body .elementor-widget-icon-list .elementor-icon-list-item > a{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;color:inherit
}
body .elementor-widget-image .widget-image-caption{
  font-family:inherit;font-size:inherit;color:inherit
}

/* ---------------------------------------------------------------------------
   Same kit-derived defaults, chrome documents.

   The header and footer are separate Elementor documents with their own
   generated CSS, so they carry their own copies of these rules. Diffing
   post-99.css (live footer) against post-41.css (clone) found 15 extra generic
   rules; post-93.css vs post-39.css found 6.

   Visible symptoms these caused in the footer:
     - "SEND US AN EMAIL" / "TALK TO US" rendered terracotta instead of white
       (icon-box title -> --e-global-color-primary)
     - CTA buttons rendered UPPERCASE (button -> accent typography, which sets
       text-transform: uppercase)
   -------------------------------------------------------------------------*/

body .elementor-widget-button .elementor-button{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;text-transform:none
}
body .elementor-widget-icon-box .elementor-icon-box-title,
body .elementor-widget-icon-box .elementor-icon-box-title a,
body .elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
body .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;color:inherit
}
body .elementor-widget-icon-box .elementor-icon-box-description{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;color:inherit
}
body .elementor-widget-divider .elementor-divider__text{
  font-family:inherit;font-size:inherit;font-weight:inherit;
  line-height:inherit;letter-spacing:inherit;color:inherit
}

/* ---------------------------------------------------------------------------
   Heading line-height.

   Font sizes already match live everywhere. Only line-height diverged, and
   only on headings that carry NO per-element line-height: those fall through
   to the kit-derived heading default of 84px
   (--e-global-typography-primary-line-height) instead of the kit's own h1-h6
   rules, which live uses.

   Restating the kit's h1-h6 rules at higher specificity was rejected: it would
   also outrank legitimate per-element line-heights and break the headings that
   are currently correct.

   Enumerating every heading widget on the page found exactly five classes
   affected. Values below are the ones live actually computes.
   -------------------------------------------------------------------------*/

body .zb-eyebrow .elementor-heading-title,
body .zb-hero-eyebrow .elementor-heading-title{line-height:24px}
body .zb-mini .elementor-heading-title{line-height:12px}
body .zb-rel-h .elementor-heading-title,
body .zb-why-h .elementor-heading-title{line-height:48px}
