.profile-builder-page{min-height:100vh;background:#e9eef2}.builder-topbar{position:sticky}.builder-actions{display:flex;align-items:center;gap:10px}.builder-actions label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.74rem;font-weight:850}.builder-actions select,.builder-actions button{padding:10px 12px;border:1px solid #aec0d0;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:.8rem;font-weight:850}.builder-actions #approve-header{border-color:#126cb1;background:#126cb1;color:#fff}.save-state{display:flex;align-items:center;gap:7px;color:var(--green);font-size:.78rem;font-weight:900}.save-state i{width:8px;height:8px;border-radius:50%;background:#2fa77d}.header-controls{padding:26px clamp(24px,5vw,72px);border-bottom:1px solid var(--line);background:#fff;box-shadow:0 18px 45px #183d5920}.header-controls[hidden],.mobile-navigation[hidden]{display:none!important}.control-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:1450px;margin:auto}.control-heading h1{margin:4px 0;font-family:Georgia,serif;font-size:2.3rem}.control-heading p{margin:0;color:var(--muted)}.quiet-button,.reset-button{padding:10px 13px;border:1px solid #b9c9d6;border-radius:10px;background:#fff;color:var(--ink);font-weight:850}.control-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px;max-width:1450px;margin:22px auto 0}.control-grid fieldset{display:grid;align-content:start;gap:11px;margin:0;padding:17px;border:1px solid var(--line);border-radius:17px}.control-grid legend{padding:0 6px;font-weight:950}.control-grid label{display:grid;gap:5px;font-size:.8rem;font-weight:850}.control-grid input,.control-grid select{width:100%;padding:10px 11px;border:1px solid #afc1d1;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.control-grid small,.field-help{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}.reset-button{display:block;margin:14px auto 0}.palette-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.palette-choice{position:relative;display:grid!important;grid-template-columns:31px 1fr;align-items:center;gap:7px;padding:7px;border:2px solid transparent;border-radius:10px;background:#f3f6f8;cursor:pointer}.palette-choice input{position:absolute;opacity:0}.palette-choice:has(input:checked){border-color:#1681d4;background:#eaf5ff}.palette-swatch{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;width:31px;height:31px;border:1px solid #aab9c5;border-radius:7px}.palette-swatch i{display:block}.palette-choice b{font-size:.67rem}.visual-builder{width:100%;padding:22px clamp(12px,3vw,46px) 60px}.preview-label{display:flex;justify-content:space-between;gap:18px;width:min(1380px,100%);margin:0 auto 9px;color:#52677a;font-size:.75rem;font-weight:850}.website-preview{width:min(1380px,100%);min-height:720px;margin:auto;background:#fff;box-shadow:0 24px 70px #17334d1f}.site-header-preview{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:30px;min-height:84px;padding:15px 28px;background:var(--header-bg);color:var(--header-fg)}.site-identity{display:flex;align-items:center;gap:13px;min-width:0;text-decoration:none}.logo-frame{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;overflow:hidden;border:1px solid color-mix(in srgb,var(--header-fg) 30%,transparent);border-radius:14px;background:color-mix(in srgb,var(--header-fg) 12%,transparent)}.logo-frame img{width:100%;height:100%;object-fit:contain}.logo-frame b{font-size:.9rem}.written-identity{display:grid;min-width:0}.written-identity strong{overflow:hidden;font-size:1rem;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.written-identity small{overflow:hidden;margin-top:4px;opacity:.84;font-size:.68rem;font-weight:750;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap}.site-header-preview nav{display:flex;gap:27px}.site-header-preview nav a,.owner-link,.social-link{color:inherit;font-size:.87rem;font-weight:800;text-decoration:none}.header-actions{display:flex;align-items:center;gap:11px}.owner-link{padding:12px 15px;border:1px solid color-mix(in srgb,var(--header-fg) 45%,transparent);border-radius:11px}.social-link{display:grid;place-items:center;width:41px;height:41px;border:1px solid color-mix(in srgb,var(--header-fg) 40%,transparent);border-radius:50%}.social-link[hidden]{display:none}.social-link svg{width:21px;height:21px;fill:currentColor}.mobile-menu{display:none;width:42px;height:42px;padding:10px;border:1px solid color-mix(in srgb,var(--header-fg) 40%,transparent);border-radius:10px;background:transparent}.mobile-menu span{display:block;height:2px;margin:4px 0;background:var(--header-fg)}.mobile-navigation{display:grid;padding:9px 18px 18px;background:var(--header-bg);color:var(--header-fg)}.mobile-navigation a{padding:12px;border-top:1px solid color-mix(in srgb,var(--header-fg) 18%,transparent);color:inherit;font-weight:800;text-decoration:none}.blank-profile{display:grid;place-items:center;align-content:center;min-height:635px;padding:40px;text-align:center;background:linear-gradient(180deg,#fff,#f7f8f9)}.blank-profile span{color:#698094;font-size:.7rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.blank-profile h2{max-width:650px;margin:14px 0;font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1}.blank-profile p{color:#687887}.website-preview[data-palette=black-white]{--header-bg:#050505;--header-fg:#fff}.website-preview[data-palette=navy-white]{--header-bg:#08243d;--header-fg:#fff}.website-preview[data-palette=red-white]{--header-bg:#9f1d24;--header-fg:#fff}.website-preview[data-palette=white-black]{--header-bg:#fff;--header-fg:#080808}.website-preview[data-palette=white-navy]{--header-bg:#fff;--header-fg:#092b49}.website-preview[data-palette=white-red]{--header-bg:#fff;--header-fg:#a51f28}.website-preview[data-palette=charcoal-white]{--header-bg:#30353a;--header-fg:#fff}.website-preview[data-palette=blue-white]{--header-bg:#126cb1;--header-fg:#fff}.website-preview[data-palette=forest-white]{--header-bg:#145b46;--header-fg:#fff}.website-preview[data-palette=ice-navy]{--header-bg:#e8f5ff;--header-fg:#092b49}.website-preview[data-palette=gray-black]{--header-bg:#eceef0;--header-fg:#111}.website-preview[data-palette=mist-blue]{--header-bg:#d9edfb;--header-fg:#0a416d}.website-preview.header-approved .site-header-preview{box-shadow:inset 0 -3px #27a77d}@media(max-width:1100px){.control-grid{grid-template-columns:1fr 1fr}.palette-field{grid-column:1/-1}.site-header-preview{grid-template-columns:1fr auto}.site-header-preview>nav{display:none}.mobile-menu{display:block}.owner-link{display:none}}@media(max-width:760px){.builder-topbar{align-items:flex-start;flex-direction:column}.builder-actions{flex-wrap:wrap;width:100%}.builder-actions label{flex:1}.builder-actions select{width:100%}.control-grid{grid-template-columns:1fr}.palette-field{grid-column:auto}.control-heading{align-items:stretch;flex-direction:column}.palette-options{grid-template-columns:1fr 1fr}.visual-builder{padding:12px 0 40px}.preview-label{padding:0 12px;align-items:flex-start;flex-direction:column}.site-header-preview{padding:12px 14px;gap:10px}.logo-frame{flex-basis:44px;width:44px;height:44px}.written-identity strong{font-size:.84rem}.written-identity small{max-width:180px}.blank-profile{min-height:540px;padding:24px}.website-preview{min-height:620px}}@media(max-width:430px){.palette-options{grid-template-columns:1fr}.builder-actions #approve-header{width:100%}}
.profile-builder-page [hidden]{display:none!important}
.profile-builder-page #logo-preview:not([src]){display:none}

/* The Firehouse header now uses the same direct color controls as Vendor Hosts. */
.control-grid{grid-template-columns:1fr 1fr}
.palette-field,.social-field{grid-column:1/-1}
.header-color-field{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:14px 22px!important;align-items:end}
.header-color-field legend,.header-color-field>.field-help{grid-column:1/-1}
.header-color-field input[type=color]{min-height:48px;padding:5px;cursor:pointer}
.header-contrast-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.header-contrast-choice>span{grid-column:1/-1;color:var(--ink);font-size:.8rem;font-weight:850}
.header-contrast-choice label{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 14px;border:1px solid #afc1d1;border-radius:9px;cursor:pointer}
.header-contrast-choice input{width:auto;min-width:auto;margin:0;accent-color:#1681d4}
.header-empty-state{grid-column:1/-1;display:flex;align-items:center;gap:13px;width:100%;color:var(--header-fg)}
.header-empty-state>span{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border:1px dashed currentColor;border-radius:14px;font-family:Georgia,serif;font-size:22px;font-weight:900}
.header-empty-state>div{display:grid;min-width:0}.header-empty-state b,.header-empty-state small{overflow-wrap:anywhere}.header-empty-state small{opacity:.82}
@media(max-width:760px){.palette-field,.social-field{grid-column:auto}.header-color-field{grid-template-columns:minmax(0,1fr)}.header-color-field legend,.header-color-field>.field-help{grid-column:auto}.header-empty-state{align-items:flex-start}.header-empty-state small{font-size:.7rem}}

/* Keep the editor chrome above every part of the website preview. The shared
   base stylesheet makes all headers sticky with the same stacking level, so
   the preview header otherwise covers the builder controls while scrolling. */
.profile-builder-page>.builder-topbar{z-index:20}
.website-preview .site-header-preview{z-index:0}

/* Shared header logo contract: preserve the whole uploaded artwork, including
   horizontal wordmarks. The square badge is only for the initials fallback. */
.site-header-preview .logo-frame[hidden],
.site-header-preview .written-identity[hidden]{display:none!important}
.site-header-preview .logo-frame:has(img[src]){
  flex:0 1 auto;width:auto;height:auto;min-width:0;max-width:100%;
  overflow:visible;border:0;border-radius:0;background:transparent;
}
.site-header-preview .logo-frame img[src]{
  display:block;width:auto;height:76px;max-width:min(280px,40vw);
  object-fit:contain;object-position:left center;
}

/* The section dropdown is the editor. Keep only the four account-level actions
   beside it so the owner bar remains usable on laptops, tablets and phones. */
.builder-actions{justify-content:flex-end;flex-wrap:wrap;min-width:0}
.builder-actions .builder-internal-action{display:none!important}
.builder-actions #edit-header:not([hidden]){display:inline-flex!important}
.builder-actions .builder-command{
  padding:10px 12px;border:1px solid #aec0d0;border-radius:10px;background:#fff;
  color:var(--ink);font:inherit;font-size:.8rem;font-weight:850;text-align:center;
  text-decoration:none;white-space:nowrap
}
.builder-actions .builder-command-primary{border-color:#126cb1;background:#126cb1;color:#fff}
.builder-integrations{position:relative}
.builder-integrations summary{list-style:none;cursor:pointer;padding:10px 12px;border:1px solid #126cb1;border-radius:10px;background:#126cb1;color:#fff;font-size:.8rem;font-weight:900}
.builder-integrations summary::-webkit-details-marker{display:none}
.builder-integrations>div{position:absolute;right:0;top:calc(100% + 8px);z-index:100;display:grid;width:245px;padding:8px;border:1px solid #cbdbe7;border-radius:14px;background:#fff;box-shadow:0 18px 45px #092b4926}
.builder-integrations a{display:grid;gap:2px;padding:10px;border-radius:9px;color:#092b49;text-decoration:none;font-size:.8rem;font-weight:900}
.builder-integrations a:hover{background:#eef7fc}.builder-integrations small{color:#607789;font-size:.68rem}
@media(max-width:760px){
  .builder-actions{justify-content:flex-start}
  .builder-actions label{flex:1 1 100%}
  .builder-actions .builder-command,.builder-actions button:not(.builder-internal-action){flex:1 1 calc(50% - 10px)}
  .builder-integrations{flex:1 1 calc(50% - 10px)}.builder-integrations summary{text-align:center}.builder-integrations>div{right:auto;left:0;width:min(280px,calc(100vw - 28px))}
}
.site-header-preview .site-identity:has(.written-identity[hidden]) img[src]{
  height:96px;max-width:min(360px,65vw);
}
.site-header-preview .written-identity strong,
.site-header-preview .written-identity small{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){
  .site-header-preview .site-identity{flex-wrap:wrap;gap:8px}
  .site-header-preview .logo-frame img[src]{height:64px;max-width:min(240px,65vw)}
  .site-header-preview .site-identity:has(.written-identity[hidden]) img[src]{height:76px;max-width:65vw}
}

/* One full-width website canvas for the demo, owner preview and public site.
   Keep section padding and bounded text measures; do not stretch the photo. */
.website-preview,.preview-label{width:100%;max-width:none}
@media(min-width:1101px){
  .visual-builder{padding-inline:0}
  .preview-label{padding-inline:24px}
}

/* Public mobile pages keep the four most useful destinations above every
   section. Sample cards are visibly temporary and disappear as soon as their
   corresponding published records exist. */
.mobile-action-dock{display:none}
.sample-badge{position:absolute;top:14px;right:14px;padding:7px 10px;border-radius:999px;background:#fff;color:#8f1721;font-size:.66rem;font-weight:950;letter-spacing:.11em;box-shadow:0 7px 20px #06131f33}
.sample-card-note{display:block;margin-top:auto;padding-top:12px;color:var(--event-muted,#52677a);font-size:.72rem;font-weight:850;line-height:1.45}
@media(max-width:760px){
  body.public-website{padding-bottom:calc(78px + env(safe-area-inset-bottom));background:#fff}
  .public-website .site-header-preview{grid-template-columns:minmax(0,1fr) auto;width:100%;min-width:0;padding-inline:14px;gap:10px}
  .public-website .site-header-preview .site-identity{min-width:0}
  .public-website .site-header-preview .written-identity strong{font-size:.78rem;letter-spacing:.025em}
  .public-website .site-header-preview .written-identity small{max-width:180px;font-size:.62rem}
  .public-website .mobile-action-dock{position:fixed;right:0;bottom:0;left:0;z-index:10000;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px max(9px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));border-top:1px solid #cad7e2;background:#071d32f7;box-shadow:0 -12px 32px #04111f38;backdrop-filter:blur(14px)}
  .public-website .mobile-action-dock a{display:grid;place-items:center;gap:3px;min-height:52px;padding:6px 3px;border-radius:12px;background:#fff;color:#071d32;text-decoration:none}
  .public-website .mobile-action-dock span{color:#a51f28;font-size:1.05rem;line-height:1}
  .public-website .mobile-action-dock b{font-size:.68rem;white-space:nowrap}
  .public-website .cover-features{display:none!important}
  .public-website .cover-photo{min-height:620px;padding:68px 22px 42px}
  .public-website .cover-medallion{display:none}
  .public-website .cover-copy h1{font-size:clamp(2.65rem,12vw,3.55rem);line-height:.93}
  .public-website .cover-copy p{font-size:1rem}
  .public-website .cover-contact{gap:8px;padding:15px;border:1px solid #ffffff66;border-radius:15px;background:#061725cc}
  .public-website .event-track{grid-auto-columns:86%;scroll-padding-inline:2px;scrollbar-width:none}
  .public-website .event-track::-webkit-scrollbar{display:none}
  .public-website .event-navigation>button{display:none}
  .public-website .sample-event{min-height:0}
}
