/* Break the actual rendered Captain Palacio sections out of Astra/Spectra content wrappers. */
.cpvm,.cpab,.cpex,.cpbk,.cpgal,.cpct{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  margin-bottom:0!important;
  clear:both;
}
/* Keep each section's readable content centered inside the full-width background. */
.cpvm > *, .cpab > *, .cpex > *, .cpbk > *, .cpgal > *, .cpct > *{max-width:none}
/* Compact the Gallery finish; the base gallery container has 150px bottom padding. */
.cpgal .cpgal__container{padding-bottom:150px!important;margin-bottom:0!important}
.cpgal + *{margin-block-start:0!important;margin-top:0!important}
@media(max-width:580px){.cpgal .cpgal__container{padding-bottom:80px!important}}
/* Neutralize theme block-gap margins between the converted sections. */
.cpvm + *, .cpab + *, .cpex + *, .cpbk + *, .cpgal + *{margin-block-start:0!important}
/* Also cover Gutenberg wrapper markup if a future editor serialization adds it. */
.wp-block-captain-palacio-visual-marquee,
.wp-block-captain-palacio-visual-about,
.wp-block-captain-palacio-visual-experience,
.wp-block-captain-palacio-visual-books,
.wp-block-captain-palacio-visual-gallery,
.wp-block-captain-palacio-visual-contact{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;margin-bottom:0!important;padding-left:0!important;padding-right:0!important;align-self:stretch!important;clear:both;
}
.wp-block-captain-palacio-visual-gallery .cpgal__container{padding-bottom:150px!important}
@media(max-width:580px){.wp-block-captain-palacio-visual-gallery .cpgal__container{padding-bottom:80px!important}}


/* ============================================================
   CAPTAIN PALACIO STYLE ISOLATION
   Keep Astra/WordPress global typography from leaking into the
   converted visual sections. Hero Banner remains hidden in the
   editor; these rules only normalize its future rendered layout.
============================================================ */
.cpvm,.cpab,.cpex,.cpbk,.cpgal,.cpct,.ap-page{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  text-decoration:none!important;
}
.cpvm *,.cpab *,.cpex *,.cpbk *,.cpgal *,.cpct *,.ap-page *{
  text-decoration:none!important;
}
.cpvm h1,.cpvm h2,.cpvm h3,.cpvm h4,
.cpab h1,.cpab h2,.cpab h3,.cpab h4,
.cpex h1,.cpex h2,.cpex h3,.cpex h4,
.cpbk h1,.cpbk h2,.cpbk h3,.cpbk h4,
.cpgal h1,.cpgal h2,.cpgal h3,.cpgal h4,
.cpct h1,.cpct h2,.cpct h3,.cpct h4,
.ap-page h1,.ap-page h2,.ap-page h3,.ap-page h4{
  font-family:'Playfair Display',Georgia,serif!important;
  text-decoration:none!important;
}
.cpvm .cpvm__item,.cpvm .cpvm__text,.cpvm a,
.cpab p,.cpab a,.cpex p,.cpex a,.cpbk p,.cpbk a,
.cpgal p,.cpgal a,.cpct p,.cpct a{
  text-decoration:none!important;
}
.cpvm a,.cpab a,.cpex a,.cpbk a,.cpgal a,.cpct a,.ap-page a{
  text-decoration:none!important;
}
/* Preserve the Hero Banner's full-bleed geometry without un-hiding it. */
.wp-block-uagb-container.uagb-block-8cb8d686,
.wp-block-uagb-container.uagb-block-8cb8d686 > .uagb-container-inner-blocks-wrap{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  padding-left:0!important;padding-right:0!important;
}
.ap-page{width:100%!important;max-width:none!important;margin:0!important;}
.ap-page #hero{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;color:#fff!important;}
.ap-page #hero h1,.ap-page #hero h2,.ap-page #hero h3,.ap-page #hero h4{font-family:'Playfair Display',Georgia,serif!important;color:#fff!important;text-decoration:none!important;}
.ap-page #hero p,.ap-page #hero span,.ap-page #hero li,.ap-page #hero label{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;}
.ap-page #hero a,.ap-page #hero button{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;text-decoration:none!important;}
.ap-page #hero .hero-eyebrow,.ap-page #hero .hero-label,.ap-page #hero .hero-kicker{font-family:'JetBrains Mono',monospace!important;text-decoration:none!important;}


/* ============================================================
   HERO BANNER HARDENING — isolated, visibility-safe normalization
   The UAGB block remains hidden until explicitly enabled by the client.
============================================================ */
.wp-block-uagb-container.uagb-block-8cb8d686{
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:100vw!important;
  max-width:100vw!important;
  min-width:0!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.wp-block-uagb-container.uagb-block-8cb8d686 > .uagb-container-inner-blocks-wrap,
.wp-block-uagb-container.uagb-block-8cb8d686 > .wp-block-html,
.wp-block-uagb-container.uagb-block-8cb8d686 > .uagb-container-inner-blocks-wrap > .wp-block-html{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero{
  position:relative!important;
  display:flex!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
/* Keep the original readable content width while preventing theme max-width leakage. */
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero .container{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* The original Hero uses a flex/grid composition; keep it stable in the editor and frontend. */
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero .hero-inner{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Prevent Astra's generic entry-content link and button decoration from leaking into Hero. */
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero a,
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero a:link,
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero a:visited,
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero a:hover,
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero a:focus,
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero a:active{
  text-decoration:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero .btn{
  box-sizing:border-box!important;
  min-height:52px!important;
  line-height:1.2!important;
  text-decoration:none!important;
}
@media(max-width:1080px){
  .wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero .container,
  .wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero .hero-inner{
    max-width:none!important;
  }
}
@media(max-width:640px){
  .wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero{
    min-height:100svh!important;
  }
  .wp-block-uagb-container.uagb-block-8cb8d686 .ap-page #hero .container{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* Responsive section flow hardening: prevent mobile clipping or theme-injected gaps. */
.wp-block-captain-palacio-visual-hero,
.wp-block-captain-palacio-visual-hero > .cphero,
.cphero + .cpvm,
.wp-block-captain-palacio-visual-hero + .wp-block-captain-palacio-visual-marquee,
.wp-block-captain-palacio-visual-marquee {
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.cphero + .cpvm,
.wp-block-captain-palacio-visual-hero + .wp-block-captain-palacio-visual-marquee {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media (max-width: 640px) {
  html, body { overflow-x: hidden !important; }
  .wp-block-captain-palacio-visual-hero,
  .wp-block-captain-palacio-visual-marquee,
  body .entry-content > .cpvm {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .cphero + .cpvm,
  .wp-block-captain-palacio-visual-hero + .wp-block-captain-palacio-visual-marquee,
  .cpvm + .cpab,
  .wp-block-captain-palacio-visual-marquee + .wp-block-captain-palacio-visual-about {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Portrait/tablet widths in the user screenshots are 811–865px, so apply the
   same wrapper protection before the original 640px-only rules activate. */
@media (max-width: 900px) {
  html, body { overflow-x: hidden !important; }
  .wp-block-captain-palacio-visual-hero,
  .wp-block-captain-palacio-visual-marquee,
  body .entry-content > .cpvm,
  .wp-block-captain-palacio-visual-hero > .cphero,
  .wp-block-captain-palacio-visual-marquee > .cpvm {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
  }
  .cphero + .cpvm,
  .wp-block-captain-palacio-visual-hero + .wp-block-captain-palacio-visual-marquee,
  .cpvm + .cpab,
  .wp-block-captain-palacio-visual-marquee + .wp-block-captain-palacio-visual-about {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* MOBILE CANVAS FIX — the supplied full-screen phone capture shows the
   converted page ending around 90% of the viewport and leaving a white strip.
   Reset only the Home content wrappers; keep Astra header/off-canvas geometry intact. */
@media (max-width: 1024px) {
  html,
  body.home,
  body.home #page,
  body.home #content,
  body.home #content > .ast-container,
  body.home #primary,
  body.home #main,
  body.home .site-main,
  body.home .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  body.home #content > .ast-container,
  body.home #primary,
  body.home #main,
  body.home .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html,
  body.home {
    overflow-x: hidden !important;
  }
  body.home .entry-content > * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Match the original .ap-page width:100% geometry on portrait/tablet. */
  body.home .wp-block-captain-palacio-visual-hero,
  body.home .wp-block-captain-palacio-visual-marquee,
  body.home .wp-block-captain-palacio-visual-about,
  body.home .wp-block-captain-palacio-visual-experience,
  body.home .wp-block-captain-palacio-visual-books,
  body.home .wp-block-captain-palacio-visual-gallery,
  body.home .wp-block-captain-palacio-visual-contact,
  body.home .wp-block-captain-palacio-visual-hero > .cphero,
  body.home .wp-block-captain-palacio-visual-marquee > .cpvm,
  body.home .wp-block-captain-palacio-visual-contact > .cpct {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.home .cphero,
  body.home .cpvm,
  body.home .cpct {
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}

/* Desktop header visual layer restored after removing conflicting Customizer mobile flyout CSS. */
:root{--cp-global-primary:#0D2B52;--cp-global-accent:#D4AF37;--cp-global-dark:#091A30;--cp-global-white:#fff;--cp-global-font-head:'Playfair Display',serif;--cp-global-font-body:'Inter',-apple-system,sans-serif;--cp-global-ease:cubic-bezier(.16,.8,.24,1)}
html,body,#page,.site,.site-content,#content,main,.entry-content{margin-top:0!important;padding-top:0!important}
.site-header + *,header.site-header + *,#masthead + *{margin-top:0!important}
.site-header,header.site-header,#masthead{position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:1000!important;margin:0!important;background:transparent!important;border:none!important;border-bottom:1px solid transparent!important;box-shadow:none!important;transition:background .4s var(--cp-global-ease),box-shadow .4s var(--cp-global-ease),border-color .4s var(--cp-global-ease),backdrop-filter .4s var(--cp-global-ease)!important}
body.admin-bar .site-header,body.admin-bar header.site-header,body.admin-bar #masthead{top:32px!important}
.site-header.scrolled,header.site-header.scrolled,#masthead.scrolled{background:rgba(9,26,48,.72)!important;backdrop-filter:blur(20px) saturate(160%)!important;-webkit-backdrop-filter:blur(20px) saturate(160%)!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:0 8px 32px rgba(9,26,48,.3)!important}
.site-header .wrap,#masthead .wrap,.header-inner,.site-header-inner,.site-branding-navigation{display:flex!important;align-items:center!important;justify-content:space-between!important;max-width:1240px!important;margin:0 auto!important;padding:0 40px!important;gap:20px!important}
.site-branding,.site-title,.site-branding a{display:flex!important;align-items:center!important;gap:11px!important;font-family:var(--cp-global-font-head)!important;font-size:1.18rem!important;font-weight:700!important;color:var(--cp-global-white)!important;text-decoration:none!important}
.site-branding a:hover,.site-title a:hover{color:var(--cp-global-accent)!important}.site-description{display:none!important}
.main-navigation,#site-navigation,.primary-menu-container{display:flex!important;align-items:center!important}
@media(min-width:961px){.main-navigation ul,#site-navigation ul,.primary-menu,.menu-primary-container ul{display:flex!important;align-items:center!important;gap:38px!important;list-style:none!important;margin:0!important;padding:0!important}.main-navigation ul li,.primary-menu li{position:relative!important}.main-navigation ul li a,#site-navigation ul li a,.primary-menu li a,.menu-primary-container ul li a{font-family:var(--cp-global-font-body)!important;font-size:.86rem!important;font-weight:500!important;color:rgba(255,255,255,.72)!important;position:relative!important;padding:6px 0!important;text-decoration:none!important;background:transparent!important;border:none!important;transition:color .3s var(--cp-global-ease)!important}.main-navigation ul li a:hover,.primary-menu li a:hover{color:var(--cp-global-white)!important}.header-button,.header-cta,.site-header .btn{display:inline-flex!important;align-items:center!important;font-family:var(--cp-global-font-body)!important;font-weight:600!important;font-size:.82rem!important;padding:12px 24px!important;border-radius:100px!important;background:linear-gradient(135deg,#E7C458,var(--cp-global-accent) 60%,#B8912A)!important;color:var(--cp-global-dark)!important;text-decoration:none!important;border:none!important;box-shadow:0 14px 34px rgba(212,175,55,.28)!important}}
/* Native Astra popup remains responsible for mobile layout/animation. This only restores visual text isolation. */
.ast-mobile-popup-content .main-navigation .menu-item>.menu-link,.ast-mobile-popup-content .main-navigation .menu-item.current-menu-item>.menu-link{font-family:var(--cp-global-font-body)!important;color:#fff!important;text-decoration:none!important}.ast-mobile-popup-content .main-navigation .menu-item>.menu-link:hover,.ast-mobile-popup-content .main-navigation .menu-item>.menu-link:focus{color:#fff!important}
