/* Shared Django navbar/footer used by Gallery and custom pages. */
.site-header{position:relative;z-index:50;background:#fff;box-shadow:0 3px 18px rgba(10,61,98,.08)}
.nav-wrap{max-width:1320px;min-height:94px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:#0a3d62;text-decoration:none;font-weight:800;font-size:20px}
.brand img{width:58px;height:58px;object-fit:contain}.brand-name small{display:block;font-size:10px;letter-spacing:.24em;color:#ff8c00;margin-top:2px}
.site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,26px);flex-wrap:wrap}
.site-nav a{display:inline-flex;align-items:center;padding:12px 16px;border-radius:28px;color:#0a3d62;font-size:16px;font-weight:700;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.site-nav a:hover,.site-nav a.active{background:#8b0000;color:#fff;transform:translateY(-1px)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;border-radius:30px;text-decoration:none;font-weight:800;white-space:nowrap}
.button-orange{background:#ff8c00;color:#fff;box-shadow:0 8px 20px rgba(255,140,0,.22)}
.menu-toggle{display:none;background:#0a3d62;color:#fff;border:0;border-radius:10px;padding:10px 13px;font-size:22px}
.site-footer{background:#082d49;color:#fff;padding:48px 24px 22px}.footer-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-brand img{width:170px;max-height:76px;object-fit:contain}.site-footer h3{font-size:17px;font-weight:800;margin:0 0 8px}.site-footer p{line-height:1.65;color:#d7e4ee;margin:0}.site-footer a,.site-footer span{color:#d7e4ee;text-decoration:none}.site-footer a:hover{color:#ff9b18}.footer-grid .copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:18px;margin-top:12px;width:100%;font-size:13px;color:#b8ccda}.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:60;background:#20c967;color:white!important;border-radius:40px;padding:16px 22px;text-decoration:none;font-weight:800;box-shadow:0 8px 28px #20c96755}
@media(max-width:1050px){.nav-wrap{gap:12px;padding:12px 18px}.menu-toggle{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:14px 20px 22px;box-shadow:0 10px 18px #0a3d6218;align-items:stretch;flex-direction:column;gap:4px}.site-nav.is-open{display:flex}.site-nav a{justify-content:center}.nav-book{padding:12px 17px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.nav-wrap{min-height:76px;padding:10px 14px}.brand{font-size:16px}.brand img{width:44px;height:44px}.brand-name small{font-size:9px}.nav-book{font-size:13px;padding:10px 12px}.footer-grid{grid-template-columns:1fr}.footer-grid .copyright{grid-column:auto}.floating-whatsapp{right:12px;bottom:12px;padding:12px 16px}}

/* Shared layout normalization: same header/footer across all public pages. */
.shared-site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(10,61,98,.08)}
.shared-site-header .nav-wrap{min-height:86px}
.shared-site-header .brand{gap:10px}
.shared-site-header .brand img{width:52px;height:52px;object-fit:contain}
.shared-site-header .brand-name{display:block;line-height:1.15;letter-spacing:.02em}
.shared-site-header .brand-name small{display:block;font-size:9px;letter-spacing:.14em;color:#ff8c00;margin-top:5px}
.shared-site-header .site-nav a{background:transparent;transform:none}
.shared-site-header .site-nav a:hover,.shared-site-header .site-nav a.active{background:#8b0000;color:#fff}
.shared-site-header .nav-book{background:#ff8c00;color:#fff;box-shadow:0 8px 20px rgba(255,140,0,.22)}
.shared-site-footer{position:relative;z-index:1}
.shared-site-footer .footer-grid{grid-template-columns:1.3fr 1fr 1.2fr 1fr}
.shared-site-footer .footer-grid>div{min-width:0}
.shared-site-footer .footer-grid a{overflow-wrap:anywhere}
.shared-site-footer .footer-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.shared-site-footer .footer-socials a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:24px;padding:9px 14px;color:#fff;font-weight:700}
.shared-site-footer .footer-socials a:hover{background:rgba(255,255,255,.12)}
.shared-layout-content{min-height:40vh}
@media(max-width:1050px){.shared-site-header .nav-wrap{min-height:76px}.shared-site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shared-site-header .nav-wrap{min-height:72px}.shared-site-header .brand img{width:42px;height:42px}.shared-site-header .brand-name{font-size:14px}.shared-site-header .brand-name small{font-size:8px}.shared-site-footer .footer-grid{grid-template-columns:1fr}}
