/*
 * BravaGuest 1.6 responsive presentation layer.
 * Loaded after public.css so existing installations retain their content and
 * functionality while receiving a wider, more resilient premium layout.
 */

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page){
  --bg-site-max:1440px;
  --bg-page-gutter:24px;
  --bg-button-radius:16px;
  --bg-sales-primary:var(--bg-primary,#1f4f7a);
  --bg-sales-secondary:var(--bg-secondary,#6ea9d4);
  --bg-sales-text:var(--bg-text,#17212b);
  --bg-sales-muted:var(--bg-muted,#667482);
  width:min(calc(100vw - (var(--bg-page-gutter) * 2)),var(--bg-site-max));
  max-width:none!important;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page),
:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page) *{
  box-sizing:border-box;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page) img{
  max-width:100%;
  height:auto;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page) :where(h1,h2,h3,p){
  overflow-wrap:anywhere;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page) .bg-button,
.bg-guide .bg-button,
.bg-guide .bg-hero-button,
.bg-guide .bg-icon-button{
  border-radius:var(--bg-button-radius,16px);
  min-width:0;
  max-width:100%;
  text-align:center;
}

/* Prevent themes and page builders from making shortcode pages unusually narrow. */
.bg-marketing-page,
.bg-registration-page{
  padding-inline:0!important;
}

.bg-marketing-page>.bg-site-nav,
.bg-registration-page>.bg-site-nav,
.bg-legal-page>.bg-site-nav{
  margin-inline:0;
}

/* Premium connected-site navigation. */
.bg-site-nav{
  width:100%;
  min-height:68px;
  padding:10px 12px 10px 18px;
  border:1px solid rgba(31,79,122,.12);
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 40px rgba(21,50,75,.09);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.bg-site-nav.is-sticky{
  position:sticky;
  top:12px;
  z-index:100;
}

.admin-bar .bg-site-nav.is-sticky{top:44px}

.bg-site-brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-width:0;
  font-size:clamp(18px,2vw,21px)!important;
}

.bg-site-brand-logo{
  display:block;
  width:38px;
  height:38px;
  flex:0 0 38px;
  object-fit:contain;
  border-radius:11px;
}

.bg-site-brand-fallback{
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 38px;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(145deg,var(--bg-sales-primary),color-mix(in srgb,var(--bg-sales-primary),#000 24%));
  color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--bg-sales-primary),transparent 75%);
  font-size:16px;
  font-weight:900;
}

.bg-site-nav-links{
  min-width:0;
}

.bg-site-nav-links>a{
  white-space:nowrap;
}

.bg-site-nav-toggle{
  display:none;
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:0;
  border:1px solid rgba(31,79,122,.14);
  border-radius:13px;
  background:#fff;
  color:#173f63;
  cursor:pointer;
  place-items:center;
}

.bg-site-nav-toggle-bars,
.bg-site-nav-toggle-bars::before,
.bg-site-nav-toggle-bars::after{
  display:block;
  width:19px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}

.bg-site-nav-toggle-bars{position:relative}
.bg-site-nav-toggle-bars::before,.bg-site-nav-toggle-bars::after{content:"";position:absolute;left:0}
.bg-site-nav-toggle-bars::before{top:-6px}
.bg-site-nav-toggle-bars::after{top:6px}
.bg-site-nav.is-open .bg-site-nav-toggle-bars{background:transparent}
.bg-site-nav.is-open .bg-site-nav-toggle-bars::before{top:0;transform:rotate(45deg)}
.bg-site-nav.is-open .bg-site-nav-toggle-bars::after{top:0;transform:rotate(-45deg)}

/* Marketing homepage. */
.bg-marketing-page{
  color:var(--bg-sales-text);
  font-family:var(--bg-font,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  padding-block:clamp(14px,2vw,28px) clamp(54px,7vw,94px)!important;
}

.bg-marketing-hero{
  position:relative;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);
  gap:clamp(34px,5vw,78px);
  min-height:clamp(590px,68vw,760px);
  padding:clamp(30px,5vw,72px);
  border-radius:clamp(24px,3vw,42px);
  background:
    radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--bg-sales-secondary),transparent 70%),transparent 34%),
    radial-gradient(circle at 5% 95%,color-mix(in srgb,var(--bg-sales-primary),transparent 88%),transparent 40%),
    linear-gradient(135deg,#f8fbfd 0%,color-mix(in srgb,var(--bg-sales-secondary),#fff 86%) 50%,#fff 100%);
  border:1px solid color-mix(in srgb,var(--bg-sales-primary),transparent 87%);
  box-shadow:0 30px 90px rgba(22,52,76,.11);
}

.bg-surface-clean .bg-marketing-hero,
.bg-surface-clean .bg-registration-hero{
  background:#fff;
  box-shadow:0 22px 65px rgba(22,52,76,.08);
}

.bg-surface-contrast .bg-marketing-hero,
.bg-surface-contrast .bg-registration-hero{
  background:linear-gradient(135deg,color-mix(in srgb,var(--bg-sales-primary),#000 16%),var(--bg-sales-primary));
  color:#fff;
}

.bg-surface-contrast .bg-marketing-copy h1,
.bg-surface-contrast .bg-marketing-copy>p,
.bg-surface-contrast .bg-registration-copy h1,
.bg-surface-contrast .bg-registration-copy>p,
.bg-surface-contrast .bg-registration-trust{
  color:#fff;
}

.bg-surface-contrast .bg-marketing-hero .bg-eyebrow,
.bg-surface-contrast .bg-registration-hero .bg-eyebrow{color:rgba(255,255,255,.7)}

.bg-marketing-copy{
  align-content:center;
  gap:clamp(15px,2vw,24px);
  min-width:0;
}

.bg-marketing-copy h1{
  max-width:850px;
  font-size:clamp(44px,6.2vw,86px);
  line-height:.98;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.bg-marketing-copy>p{
  max-width:740px;
  font-size:clamp(17px,1.7vw,21px);
  line-height:1.68;
}

.bg-registration-hero-actions{
  align-items:center;
}

.bg-registration-hero-actions .bg-button{
  min-height:50px;
  padding-inline:21px;
}

.bg-registration-trust{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 18px;
}

.bg-registration-trust span{
  align-items:flex-start;
  line-height:1.45;
}

.bg-home-phone{
  width:min(100%,450px);
  border-width:9px;
  border-radius:44px;
  transform:rotate(1.2deg);
  box-shadow:0 36px 90px rgba(18,44,66,.24);
}

.bg-marketing-section,
.bg-registration-section{
  padding-top:clamp(68px,8vw,112px);
  padding-inline:clamp(0px,1vw,12px);
}

.bg-marketing-section>.bg-section-heading,
.bg-registration-section>.bg-section-heading{
  width:min(100%,840px);
  max-width:840px;
  margin-inline:auto;
  margin-bottom:clamp(28px,4vw,48px);
  text-align:center;
}

.bg-marketing-section>.bg-section-heading h2,
.bg-registration-section>.bg-section-heading h2{
  font-size:clamp(34px,4.5vw,58px);
  text-wrap:balance;
}

.bg-how-grid,
.bg-benefit-grid,
.bg-woo-offer-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));
  gap:clamp(15px,2vw,22px);
  align-items:stretch;
}

.bg-how-grid article,
.bg-benefit-grid article,
.bg-woo-offer-card{
  min-width:0;
  border-radius:24px;
  border-color:rgba(31,79,122,.11);
  box-shadow:0 18px 52px rgba(26,58,82,.075);
}

.bg-how-grid article,
.bg-benefit-grid article{
  height:100%;
  padding:clamp(22px,2.6vw,32px);
}

.bg-needs-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap:18px;
}

.bg-need-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:24px;
  border:1px solid rgba(31,79,122,.11);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 45px rgba(26,58,82,.065);
}

.bg-need-card>span{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:14px;
  background:color-mix(in srgb,var(--bg-sales-primary),transparent 90%);
  color:var(--bg-sales-primary);
  font-weight:900;
}

.bg-need-card h3{margin:1px 0 7px;font-size:19px}
.bg-need-card p{margin:0;color:var(--bg-sales-muted);line-height:1.62}

.bg-needs-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:28px;
}

.bg-pricing-grid{
  width:min(100%,1060px);
  max-width:1060px;
  gap:clamp(18px,2vw,28px);
}

.bg-price-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:clamp(26px,3vw,40px);
  border-radius:28px;
}

.bg-price-card ul{flex:1}
.bg-select-plan{margin-top:auto;border-radius:var(--bg-button-radius,16px)}

.bg-woo-offer-image{aspect-ratio:16/9;min-height:0}
.bg-woo-offer-body{padding:clamp(20px,2.2vw,27px)}
.bg-woo-offer-footer{align-items:flex-end;flex-wrap:wrap}
.bg-woo-offer-footer .bg-button{flex:0 0 auto}

.bg-faq-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:16px;
}

.bg-faq-grid details{
  min-width:0;
  border-radius:20px;
  box-shadow:0 12px 36px rgba(26,58,82,.055);
}

.bg-referral-promo{
  padding:clamp(28px,4vw,52px);
  border-radius:30px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--bg-sales-primary),#000 13%),var(--bg-sales-primary));
}

/* Registration journey. */
.bg-registration-page{
  --bg-sales-primary:var(--bg-primary,#1f4f7a);
  --bg-sales-muted:var(--bg-muted,#667482);
  padding-block:clamp(14px,2vw,28px) clamp(54px,7vw,94px)!important;
}

.bg-registration-hero{
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.88fr);
  gap:clamp(34px,5vw,72px);
  min-height:clamp(560px,65vw,720px);
  padding:clamp(30px,5vw,68px);
  border-radius:clamp(24px,3vw,40px);
  border:1px solid rgba(31,79,122,.11);
  box-shadow:0 28px 85px rgba(22,52,76,.1);
}

.bg-registration-copy h1{
  max-width:760px;
  font-size:clamp(42px,5.8vw,78px);
  text-wrap:balance;
}

.bg-live-preview{width:min(100%,570px)}

.bg-signup-section{
  width:min(100%,1120px);
  max-width:1120px;
  grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);
  gap:clamp(28px,5vw,74px);
}

.bg-registration-card{
  min-width:0;
  padding:clamp(24px,3.5vw,40px);
}

.bg-registration-card input,
.bg-registration-card select,
.bg-registration-card textarea{
  max-width:100%;
}

/* Dashboard, login, editor and upgrade pages. */
.bg-account-shell{
  --bg-primary:var(--bg-sales-primary,#1f4f7a);
  margin-block:clamp(24px,4vw,52px) clamp(60px,8vw,110px)!important;
}

.bg-account-header{
  align-items:center;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(31,79,122,.11);
  border-radius:26px;
  background:linear-gradient(135deg,#f8fbfd,#eef5fa);
  box-shadow:0 17px 50px rgba(25,57,82,.07);
}

.bg-account-header h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.04em}
.bg-account-header p{max-width:760px;color:#617583}

.bg-account-header-actions,
.bg-guide-actions,
.bg-share-actions{
  min-width:0;
}

.bg-guide-list{gap:16px}

.bg-guide-row{
  grid-template-columns:clamp(92px,11vw,142px) minmax(0,1fr) minmax(220px,auto);
  gap:clamp(15px,2vw,24px);
  padding:16px;
  border-radius:22px;
  box-shadow:0 12px 36px rgba(25,57,82,.055);
}

.bg-guide-thumb{
  width:100%;
  height:auto;
  min-height:96px;
  aspect-ratio:4/3;
  border-radius:16px;
}

.bg-guide-row-main{min-width:0}
.bg-guide-row h3{font-size:clamp(20px,2vw,25px);overflow-wrap:anywhere}
.bg-guide-actions .bg-button{min-height:43px}

.bg-dashboard-toolbar{
  align-items:center;
  padding:20px 0 4px;
}

.bg-referral-card{
  grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr);
  padding:clamp(20px,3vw,30px);
  border-radius:24px;
}

.bg-share-link input{width:100%;max-width:100%;min-width:0}

.bg-editor-shell{
  padding:clamp(16px,3vw,34px);
  border-radius:28px;
}

.bg-form-section{
  padding:clamp(18px,2.5vw,28px);
  border-radius:22px;
  box-shadow:0 10px 34px rgba(25,57,82,.045);
}

.bg-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}

.bg-field :where(input,textarea,select){font-size:16px}
.bg-field textarea{resize:vertical}

.bg-inventory-editor{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));
}

.bg-repeater-row{overflow:hidden}
.bg-repeater-row .bg-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.bg-dashboard-upgrades,
.bg-upgrades-page{
  border-radius:28px;
}

.bg-dashboard-upgrades .bg-woo-offer-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));
}

.bg-upgrade-guide-picker select{max-width:100%}

/* Legal page. */
.bg-legal-card{
  width:min(100%,980px);
  max-width:980px;
  border-radius:28px;
}

/* Public guest guide: correct cross-component selectors and fluid cards. */
.bg-guide{
  --bg-button-radius:clamp(12px,calc(var(--bg-radius) * .75),999px);
}

.bg-guide .bg-section-heading{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  max-width:none;
  margin:0 0 20px;
  text-align:left;
}

.bg-guide .bg-section-heading h2{color:var(--bg-text)}
.bg-guide .bg-section-heading p{color:var(--bg-muted)}

.bg-guide.bg-density-compact .bg-topic-card{padding:17px}
.bg-guide.bg-density-compact .bg-guide-section{margin-bottom:40px}
.bg-guide.bg-density-compact .bg-topic-grid{gap:10px}

.bg-guide.bg-hero-compact .bg-hero{min-height:clamp(350px,43vw,500px)}
.bg-guide.bg-hero-standard .bg-hero{min-height:clamp(430px,60vw,650px)}
.bg-guide.bg-hero-immersive .bg-hero{min-height:clamp(520px,72vw,780px)}

.bg-topic-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));
}

.bg-topic-card.is-wide{grid-column:1/-1}

.bg-inventory-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));
}

.bg-visual-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));
}

.bg-link-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
}

.bg-quick-facts{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));
}

.bg-gallery{
  grid-auto-rows:clamp(145px,16vw,220px);
}

.bg-wifi-panel{
  grid-template-columns:auto minmax(150px,.72fr) minmax(240px,1.4fr) auto;
}

/* Breakpoint sequence keeps cards usable rather than merely squeezing columns. */
@media(max-width:1120px){
  .bg-marketing-hero,.bg-registration-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);gap:36px}
  .bg-registration-trust{grid-template-columns:1fr}
  .bg-guide-row{grid-template-columns:110px minmax(0,1fr)}
  .bg-guide-actions{grid-column:1/-1;justify-content:flex-start}
  .bg-guide-actions .bg-button{flex:0 1 auto}
}

@media(max-width:900px){
  :where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page){--bg-page-gutter:18px}
  .bg-marketing-hero,.bg-registration-hero{grid-template-columns:1fr;min-height:auto}
  .bg-marketing-copy,.bg-registration-copy{text-align:left}
  .bg-home-phone,.bg-live-preview{justify-self:center;transform:none}
  .bg-signup-section{grid-template-columns:1fr;width:min(100%,760px)}
  .bg-signup-copy{position:static;padding-top:0}
  .bg-account-header{align-items:flex-start;flex-direction:column}
  .bg-account-header-actions{justify-content:flex-start}
  .bg-referral-card{grid-template-columns:1fr}
  .bg-referral-card .bg-share-link,.bg-referral-card .bg-share-actions{grid-column:auto}
  .bg-wifi-panel{grid-template-columns:auto minmax(0,1fr) auto}
  .bg-wifi-values{grid-column:2/4}
}

@media(max-width:760px){
  .bg-site-nav{align-items:center;flex-wrap:wrap;padding:10px 11px 10px 14px}
  .bg-site-nav-toggle{display:grid;margin-left:auto}
  .bg-site-nav.is-collapsible .bg-site-nav-links{
    display:none;
    width:100%;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding-top:8px;
  }
  .bg-site-nav.is-collapsible.is-open .bg-site-nav-links{display:grid}
  .bg-site-nav-links>a{
    display:flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:9px 11px;
    border-radius:12px;
    background:#f4f7fa;
    white-space:normal;
    text-align:center;
  }
  .bg-site-nav-links>.bg-button{grid-column:1/-1;background:var(--bg-sales-primary);color:#fff!important}
  .bg-site-nav.is-sticky{top:8px}
  .admin-bar .bg-site-nav.is-sticky{top:8px}

  .bg-marketing-hero,.bg-registration-hero{padding:30px 22px;border-radius:26px}
  .bg-marketing-copy h1,.bg-registration-copy h1{font-size:clamp(40px,12vw,58px)}
  .bg-marketing-section,.bg-registration-section{padding-top:68px}
  .bg-registration-hero-actions{display:grid;grid-template-columns:1fr}
  .bg-registration-hero-actions .bg-button{width:100%}
  .bg-home-phone,.bg-live-preview{width:min(100%,420px);border-width:6px;border-radius:30px}
  .bg-pricing-grid{grid-template-columns:1fr;width:min(100%,650px)}
  .bg-referral-promo{align-items:flex-start;flex-direction:column}

  .bg-guide-row{grid-template-columns:80px minmax(0,1fr);padding:13px}
  .bg-guide-thumb{min-height:78px}
  .bg-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .bg-guide-actions .bg-button{width:100%}
  .bg-form-grid,.bg-repeater-row .bg-form-grid{grid-template-columns:1fr}
  .bg-form-footer{align-items:stretch;flex-direction:column}
  .bg-form-footer .bg-button{width:100%}
  .bg-dashboard-upgrades-head{align-items:stretch;flex-direction:column}

  .bg-guide .bg-section-heading{grid-template-columns:1fr}
  .bg-guide .bg-section-heading .bg-section-icon{width:46px;height:46px}
  .bg-hero-content{gap:18px}
  .bg-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:145px}
  .bg-wifi-panel{grid-template-columns:auto minmax(0,1fr)}
  .bg-wifi-values{grid-column:1/-1}
  .bg-copy-button{grid-column:1/-1;width:100%}
}

@media(max-width:520px){
  :where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page){--bg-page-gutter:11px}
  .bg-site-nav-links{grid-template-columns:1fr!important}
  .bg-site-nav-links>.bg-button{grid-column:auto}
  .bg-marketing-hero,.bg-registration-hero{padding:26px 18px;border-radius:22px}
  .bg-marketing-copy h1,.bg-registration-copy h1{font-size:clamp(38px,12vw,52px)}
  .bg-price-card{padding:25px 20px}
  .bg-price strong{font-size:48px}
  .bg-billing-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%;border-radius:17px}
  .bg-billing-toggle button{border-radius:13px;padding-inline:10px}
  .bg-guide-row{grid-template-columns:1fr}
  .bg-guide-thumb{aspect-ratio:16/8;min-height:0}
  .bg-guide-actions{grid-template-columns:1fr}
  .bg-account-header-actions{display:grid;grid-template-columns:1fr;width:100%}
  .bg-account-header-actions .bg-button{width:100%}
  .bg-referral-stats{display:grid;grid-template-columns:1fr 1fr}
  .bg-share-actions{display:grid;grid-template-columns:1fr}
  .bg-share-actions .bg-button{width:100%}
  .bg-gallery{grid-template-columns:1fr;grid-auto-rows:210px}
  .bg-gallery-item:first-child,.bg-gallery-item:nth-child(2){grid-column:auto;grid-row:auto}
  .bg-host-buttons{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .bg-site-nav-toggle-bars,.bg-site-nav-toggle-bars::before,.bg-site-nav-toggle-bars::after{transition:none}
}

.bg-registration-nav{
  width:100%;
  max-width:none!important;
  margin:0 0 20px;
}

.bg-marketing-page>.bg-legal-footer,
.bg-registration-page>.bg-legal-footer{
  max-width:none;
  padding-inline:0;
}
