/* Shell integration for Places. The page inherits the YouZipp ecosystem
   header/footer even when the hosting account isolates subdomains. */
.places-ecosystem { padding-top: 44px; }
.places-ecosystem .places-service-bar { position: sticky; top: 44px; z-index: 8; }
.places-service-bar { border-bottom: 1px solid #dce5f0; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.service-bar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 62px; }
.service-brand { display: inline-flex; align-items: center; gap: 7px; color: #102d60; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 800; }
.service-brand .brand-mark { width: 23px; height: 23px; border-radius: 7px; background: #173866; }
.service-brand .brand-mark i { width: 4px; background: #f2994a; }
.service-brand .brand-mark i:nth-child(1) { height: 8px; }.service-brand .brand-mark i:nth-child(2) { height: 13px; }.service-brand .brand-mark i:nth-child(3) { height: 17px; }
.service-brand small { align-self: flex-end; margin: 0 0 -2px -4px; color: #718096; font-size: 7px; }
.places-service-bar nav { display: flex; align-items: center; gap: 24px; color: #53627a; font-size: 11px; font-weight: 700; }
.places-service-bar nav a { transition: color .2s; }.places-service-bar nav a:hover { color: #f27622; }
.places-service-bar .service-login { margin-left: 4px; color: #173866; }
.places-service-bar .button-small { color: #fff; background: #173866; font-size: 10px; }
.places-ecosystem .hero { padding-top: 93px; }
.places-ecosystem > .yz-site-header { z-index: 1005; }
.places-ecosystem .yz-footer { margin-top: 0; }
.places-ecosystem .site-footer { display: none; }

/* Portable version of the shared YouZipp header. */
.yz-site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1005; height: 44px; min-height: 44px; max-height: 44px; padding: 0 12px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; background: #fff; }
.header-left { display: flex; align-items: center; gap: .6rem; }
.menu-btn { display: inline-flex; align-items: center; justify-content: center; padding: .1rem .55rem .12rem; border: 1px solid #e5e7eb; border-radius: 999px; background: transparent; color: #5f6368; font-size: 1.2rem; line-height: 1; cursor: pointer; }
.menu-btn:hover { background: #f3f4f6; }
.brand { display: flex; align-items: center; height: 100%; }
.brand-logo-full { display: block; width: auto; height: 32px; max-height: 32px; object-fit: contain; object-position: left center; }
.brand-right { display: flex; flex: 1; align-items: center; justify-content: flex-end; }
.header-share-btn { display: inline-flex; align-items: center; justify-content: center; margin-right: 10px; padding: 5px; border: 0; background: transparent; color: #173866; cursor: pointer; }
.header-share-btn:hover { color: #f27622; }
.header-login-btn { display: inline-flex; align-items: center; justify-content: center; margin-right: .75rem; padding: .28rem .9rem; border: 1px solid #f2994a; border-radius: 999px; background: #f2994a; color: #fff; font: 500 .85rem Arial, Helvetica, sans-serif; text-decoration: none; white-space: nowrap; }
.header-login-btn:hover { background: #f27622; border-color: #f27622; }
.header-avatar-btn { display: inline-flex; align-items: center; justify-content: center; margin-right: .4rem; padding: 0; border: 0; background: transparent; }
.header-avatar-img, .header-avatar-fallback { width: 28px; height: 28px; border-radius: 50%; }
.header-avatar-img { object-fit: cover; }
.header-avatar-fallback { display: flex; align-items: center; justify-content: center; background: #e8eef6; color: #173866; font: 600 .85rem Arial, Helvetica, sans-serif; }
.header-nav-overlay { display: none; position: fixed; inset: 0; z-index: 1009; background: transparent; }
.header-nav-menu { display: none; position: fixed; top: 48px; left: 10px; z-index: 1010; min-width: 220px; max-height: calc(100vh - 56px); overflow-y: auto; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(16,45,96,.15); }
.header-nav-menu.open { display: block; }
.header-nav-item { display: block; padding: 12px 16px; border-bottom: 1px solid #f3f4f6; color: #1f2937; font: 14px Arial, Helvetica, sans-serif; text-decoration: none; }
.header-nav-item:last-child { border-bottom: 0; }
.header-nav-item:hover { background: #f9fafb; color: #f27622; }

/* Places content uses the YouZipp blue/orange system, not a separate green UI. */
.places-site { --ink: #172b4d; --ink-soft: #53627a; --muted: #718096; --line: #dce5f0; --paper: #fff; --mist: #f5f8fb; --forest: #173866; --forest-dark: #102d60; --mint: #e5edf7; --lime: #f2994a; --orange: #f27622; }
.places-site .hero { background: radial-gradient(circle at 87% 27%, rgba(242,118,34,.14), transparent 21%), var(--paper); }
.places-site .section-dark, .places-site .trust-strip, .places-site .final-cta, .places-site .feature-highlight { background: #102d60; }
.places-site .preview-cover { background: linear-gradient(135deg, rgba(16,45,96,.94), rgba(23,56,102,.78)), radial-gradient(circle at 70% 40%, #bfccd9, #314f76 42%, #0d234d); }
.places-site .visual-orbit { border-color: rgba(23,56,102,.14); }
.places-site .button-primary, .places-site .button-light { color: #fff; background: #f2994a; box-shadow: 0 12px 25px rgba(242,118,34,.18); }
.places-site .button-primary:hover, .places-site .button-light:hover { background: #f27622; }
.places-site .button-dark, .places-site .button-small { background: #173866; }
.places-site .button-dark:hover, .places-site .button-small:hover { background: #102d60; }
.places-site .button-outline { border-color: #b8c7d8; color: #173866; }
.places-site .button-outline:hover { border-color: #173866; background: #edf3fa; }
.places-site .eyebrow-light, .places-site .section-dark h2 em, .places-site .final-cta h2 em { color: #f2994a; }
.places-site .final-cta { color: #fff; }
.places-site .feature-highlight .feature-icon, .places-site .note-icon { color: #102d60; background: #f2994a; }
.places-site .card-arrow { color: #173866; }
.places-site .feature-highlight .card-arrow { color: #f2994a; border-color: rgba(242,153,74,.5); }
.places-site .plan-featured { border-color: #173866; box-shadow: 0 16px 35px rgba(16,45,96,.12); }

.yz-footer { box-sizing: border-box; position: relative; display: block; clear: both; width: 100%; padding: 28px clamp(20px, 7vw, 112px) 18px; border-top: 1px solid #dce5f0; background: #fff; color: #718096; font: 14px/1.55 Arial, Helvetica, sans-serif; }
.yz-footer *, .yz-footer *::before, .yz-footer *::after { box-sizing: border-box; }
.yz-footer__links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 30px; }
.yz-footer a { color: #173866; text-decoration: none; }
.yz-footer a:hover, .yz-footer a:focus-visible { color: #f27622; text-decoration: underline; text-underline-offset: 3px; }
.yz-footer__meta { display: flex; justify-content: space-between; gap: 18px; margin-top: 23px; padding-top: 16px; border-top: 1px solid #dce5f0; }
.yz-footer__copyright { margin: 0; }.yz-footer__languages { display: flex; gap: 11px; align-items: center; white-space: nowrap; }.yz-footer__languages span { color: #b6c2d3; }.yz-footer__languages a[aria-current="true"] { font-weight: 600; }

@media (max-width: 760px) {
    .places-service-bar nav a:not(.service-login):not(.button) { display: none; }
    .service-bar-inner { min-height: 56px; }
    .places-ecosystem .hero { padding-top: 68px; }
    .brand-logo-full { height: 28px; max-height: 28px; }
}
@media (max-width: 720px) {
    .yz-footer { padding: 25px 20px 18px; }
    .yz-footer__meta { flex-direction: column; align-items: center; gap: 12px; text-align: center; }
}
