/* ==========================================================================
   theme.css — WordPress-only layer (hand-written; NOT synced)
   Makes Elementor's wrappers invisible so each HTML widget renders exactly like the
   approved static page. Everything visual comes from the synced design system.
   ========================================================================== */

/* Elementor containers that carry a design section: no padding, no gap, full width.
   (Each holds one Favorite Face widget — ffs-* — or, on older builds, one HTML widget.) */
.ffs .elementor .e-con.ffs-sec,
.ffs .elementor .e-con.ffs-sec > .e-con-inner{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:100%;--content-width:100%;max-width:none;padding:0;margin:0}
.ffs .elementor .ffs-sec > .elementor-widget,
.ffs .elementor .ffs-sec > .e-con-inner > .elementor-widget{width:100%;max-width:none;margin:0}
.ffs .elementor .ffs-sec .elementor-widget > .elementor-widget-container{margin:0;padding:0}
/* sticky/pinned sections need visible overflow on every ancestor */
.ffs .elementor .e-con.ffs-sec,.ffs .elementor .ffs-sec .elementor-widget,.ffs .elementor .ffs-sec .elementor-widget > .elementor-widget-container{overflow:visible}

/* Elementor editor preview: reveal animations never hide content while editing (re-rendered widgets are
   not re-observed), and the pinned transformation shows its first stage. */
body.elementor-editor-active [data-rv],
body.elementor-editor-active .split .ln > span{opacity:1!important;transform:none!important;clip-path:none!important}
body.elementor-editor-active .draw path,body.elementor-editor-active .draw circle{stroke-dashoffset:0!important}

/* Elementor's global image rule (.elementor img{height:auto}) must not resize framed photos */
.ffs .elementor .ffs-wear > img,
.ffs .elementor .polaroid img,
.ffs .elementor .phone__img img{height:100%;max-width:none}
.ffs .elementor .slider__a > img{height:100%;max-width:none;width:auto}
.ffs .elementor img{border-radius:inherit}

/* Elementor Canvas: no theme wrapper, so give the page its canvas colour */
body.ffs.elementor-template-canvas{background:var(--ivory)}

/* WordPress admin bar pushes the fixed header down */
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
