/* ============================================================
   MAIN FRONTEND CSS
   ============================================================ */
:root{--bg:#ffffff;--surface:#ffffff;--text:#000;--muted:#6b7280;--primary:#e91e63;--border:#e91e63;--footer-bg:#111;--footer-text:#fff}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;background:var(--bg);color:var(--text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--primary);text-decoration:none}.container{max-width:1120px;margin:0 auto;padding:0 16px}main.container{padding-top:6px;padding-bottom:6px}.site-header{background:#fff;border-bottom:1px solid var(--border)}.header-bar{display:flex;align-items:center;justify-content:center;padding:10px 0}.brand{margin:0}.brand a{display:inline-flex;align-items:center;gap:10px;color:var(--primary);font-size:18px;font-weight:900}.brand img{display:block;width:32px;height:32px}.breadcrumb-wrap{margin:8px 0 10px}.breadcrumb{display:flex;flex-wrap:wrap;list-style:none;gap:0;margin:0;padding:0;font-size:14px;color:var(--text)}.breadcrumb-item+.breadcrumb-item::before{content:"›";padding:0 8px;color:#666}.breadcrumb-item.active{font-weight:700}.city-head,.home-city-head{text-align:center;padding:4px 0}.city-head h1,.home-city-head h1{margin:0 0 6px;line-height:1.2;font-size:20px;font-weight:900;color:var(--text)}.city-description,.home-city-description,.city-shortcode{margin:0;padding:0}.city-shortcode{padding-top:6px}.city-description>*:first-child,.home-city-description>*:first-child,.city-shortcode>*:first-child{margin-top:0}.city-description>*:last-child,.home-city-description>*:last-child,.city-shortcode>*:last-child{margin-bottom:0}.city-description p,.home-city-description p,.city-shortcode p{margin:0 0 8px;color:var(--text);font-size:16px;line-height:1.5}.city-description h2,.home-city-description h2,.city-shortcode h2,.city-description h3,.home-city-description h3,.city-shortcode h3,.city-description h4,.home-city-description h4,.city-shortcode h4,.city-description h5,.home-city-description h5,.city-shortcode h5,.city-description h6,.home-city-description h6,.city-shortcode h6{margin:12px 0 8px;color:var(--text);line-height:1.3;font-weight:900;font-size:18px}.city-description ul,.home-city-description ul,.city-shortcode ul,.city-description ol,.home-city-description ol,.city-shortcode ol{margin:0 0 10px;padding-left:20px}.city-description li,.home-city-description li,.city-shortcode li{margin:0 0 6px;color:var(--text)}.city-description img,.home-city-description img,.city-shortcode img{display:block;margin:10px auto;border-radius:12px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}.gallery-item{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff}.gallery-item a{display:block}.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:fill;background:#fff}.btn,.fixed-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:8px;text-align:center;border:2px solid purple;background:#fff;color:var(--primary);font-weight:700}.btn.phone,.fixed-contact-btn.call{background:var(--primary);border-color:var(--primary);color:#fff}.btn.whatsapp,.fixed-contact-btn.whatsapp{background:#075E24;border-color:#075E24;color:#fff}.icon{display:inline-flex;width:1.1em;height:1.1em;align-items:center;justify-content:center;line-height:1;font-style:normal}.icon-phone::before{content:"☎"}.icon-whatsapp::before{content:"✆"}.icon-telegram::before{content:"➤"}.has-fixed-contact{padding-bottom:66px}.fixed-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;width:100%;background:#000}.fixed-contact-btn{width:50%;flex:0 0 50%;border-radius:0;border:0;font-size:16px}.site-footer{margin-top:10px;border-top:1px solid var(--border);background:#fff;text-align:center}.footer-inner{padding:16px 0}.footer-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.footer-link,.footer-sep,.footer-copy{color:#000}.footer-copy{margin:8px 0 0;font-size:16px;line-height:1.4}.city-footer-dropdown{display:flex;justify-content:center;padding:10px;background:var(--footer-bg);border-top:1px solid rgba(255,255,255,.08)}.city-footer-select{width:min(420px,100%);padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#0b0b0b;color:var(--footer-text);font-size:14px;outline:none}.city-footer-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(233,30,99,.2)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (min-width:601px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1025px){.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:768px){.container{padding:0 14px}.brand a{font-size:16px}.brand img{width:24px;height:24px}.city-head h1,.home-city-head h1{font-size:20px}.city-description p,.home-city-description p,.city-shortcode p{font-size:16px}}
.btn{margin:2px 4px}.icon-img{display:inline-block;width:20px;height:20px;object-fit:fill;vertical-align:middle;flex:0 0 20px}.fixed-contact-btn .icon-img{width:20px;height:20px}.fixed-contact-btn{gap:10px}

html,body{max-width:100%;overflow-x:hidden;overflow-y:auto}
body.has-fixed-contact{padding-bottom:90px!important}
.fixed-contact-bar{min-height:64px}
.fixed-contact-btn{gap:10px;font-size:16px;padding:14px 10px;touch-action:manipulation}
.fixed-contact-btn .fa,.btn .fa{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-style:normal;font-size:18px;line-height:1;flex:0 0 20px}
.fa-phone:before{content:"☎"}
.fa-whatsapp:before{content:"✆"}
.icon-img{display:none!important}
.city-footer-dropdown,.site-footer{scroll-margin-bottom:90px}


/* === FINAL FIXED CONTACT BAR OVERRIDE === */
html, body{overflow-x:hidden}
.fixed-contact-bar,
.fixed-contact-bar *,
.fixed-contact-btn,
.fixed-contact-btn *{box-sizing:border-box}
body.has-fixed-contact{padding-bottom:40px!important}
.fixed-contact-bar{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:stretch;width:100%;height:40px;min-height:40px;max-height:40px;background:#000;margin:0;padding:0;z-index:9999;overflow:hidden}
.fixed-contact-btn{flex:1 1 50%;width:50%;height:40px;min-height:40px;max-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0;margin:0;border:0!important;border-radius:0!important;line-height:1!important;font-size:14px!important;font-weight:600!important;text-decoration:none;white-space:nowrap;overflow:hidden}
.fixed-contact-btn span{display:inline-block;line-height:1!important;font-size:14px!important;font-weight:600!important;margin:0;padding:0}
.fixed-contact-btn .contact-svg-icon,.fixed-contact-btn .icon-img,.fixed-contact-btn svg{display:inline-block;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;vertical-align:middle}
.fixed-contact-btn .fa,.fixed-contact-btn i{display:inline-flex;align-items:center;justify-content:center;width:18px!important;height:18px!important;font-size:18px!important;line-height:1!important;flex:0 0 18px!important}
.city-footer-dropdown,.site-footer{scroll-margin-bottom:40px}

/* === FINAL GALLERY IMAGE BOX FILL FIX (no top/bottom background gap) === */
.gallery-grid{
  display:grid !important;
  align-items:stretch !important;
}
.gallery-item{
  position:relative !important;
  width:100% !important;
  aspect-ratio:4/5 !important;
  overflow:hidden !important;
  background:transparent !important;
  border:1px solid var(--border) !important;
  border-radius:12px !important;
}
.gallery-item a{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  background:transparent !important;
}
.gallery-item img,
.gallery-img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  aspect-ratio:auto !important;
  object-fit:fill !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.city-description .gallery-grid img,
.home-city-description .gallery-grid img,
.city-shortcode .gallery-grid img{
  margin:0 !important;
  border-radius:0 !important;
}
@media(max-width:768px){
  .gallery-item{aspect-ratio:4/5 !important;}
}


/* PageSpeed UX fixes: contrast + image aspect ratio */
:root{--primary:#b0004b!important;--border:#b0004b!important;--text:#000000!important;--muted:#374151!important;}
body,p,li,.list-text,.card-text,.modal-body,.breadcrumb,.breadcrumb-item.active,.footer-copy,.footer-link{color:#000000!important;}
a,.brand a,.breadcrumb a,a:-webkit-any-link{color:#b0004b!important;}
.btn.phone,.fixed-contact-btn.call{background:#b0004b!important;border-color:#b0004b!important;color:#ffffff!important;}
.btn.whatsapp,.fixed-contact-btn.whatsapp{background:#075E24!important;border-color:#075E24!important;color:#ffffff!important;}
.gallery-item,.gallery-grid .gallery-item{background:transparent!important;overflow:hidden!important;border:1px solid #b0004b!important;border-radius:12px!important;}
.gallery-item a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;background:transparent!important;}
.gallery-item img,.gallery-img,.city-description .gallery-grid img,.home-city-description .gallery-grid img,.city-shortcode .gallery-grid img{position:static!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:fill!important;object-position:center center!important;background:transparent!important;border:0!important;margin:0!important;padding:0!important;}
.gallery-item{aspect-ratio:4/5!important;}
.list-thumb,.post-image{object-fit:fill!important;background:transparent!important;}


/* Final UX fix: WhatsApp contrast + full-box images */
.btn.whatsapp,
.fixed-contact-btn.whatsapp,
a.fixed-contact-btn.whatsapp{
  background:#075E24!important;
  border-color:#075E24!important;
  color:#ffffff!important;
}
.btn.whatsapp span,
.fixed-contact-btn.whatsapp span,
a.fixed-contact-btn.whatsapp span,
.fixed-contact-btn.whatsapp .icon,
.fixed-contact-btn.whatsapp svg{
  color:#ffffff!important;
  fill:#ffffff!important;
  opacity:1!important;
}
.gallery-item,
.gallery-grid .gallery-item,
.city-description .gallery-grid .gallery-item,
.home-city-description .gallery-grid .gallery-item,
.city-shortcode .gallery-grid .gallery-item{
  background:transparent!important;
  overflow:hidden!important;
}
.gallery-item a{
  background:transparent!important;
}
.gallery-item img,
.gallery-img,
.city-description .gallery-grid img,
.home-city-description .gallery-grid img,
.city-shortcode .gallery-grid img,
.list-thumb,
.post-image,
.card-img{
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center center!important;
  background:transparent!important;
}


/* Final PageSpeed aspect-ratio fix:
   Do not force gallery images into a fixed 4:5 box.
   Images keep natural ratio so Lighthouse/PageSpeed stops reporting incorrect aspect ratio.
*/
.gallery-grid,
.city-description .gallery-grid,
.home-city-description .gallery-grid,
.city-shortcode .gallery-grid{
  align-items:start!important;
}
.gallery-item,
.gallery-grid .gallery-item,
.city-description .gallery-grid .gallery-item,
.home-city-description .gallery-grid .gallery-item,
.city-shortcode .gallery-grid .gallery-item{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:transparent!important;
}
.gallery-item a,
.gallery-grid .gallery-item a{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  background:transparent!important;
}
.gallery-item img,
.gallery-img,
.city-description .gallery-grid img,
.home-city-description .gallery-grid img,
.city-shortcode .gallery-grid img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
  margin:0!important;
  padding:0!important;
}


/* FINAL gallery visible + PageSpeed aspect ratio fix
   Gallery files are normalized to 400x500 (4:5), so displayed box and actual image ratio match.
*/
.gallery-grid,
.city-description .gallery-grid,
.home-city-description .gallery-grid,
.city-shortcode .gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:10px 0!important;
  align-items:stretch!important;
}
@media (min-width:601px){
  .gallery-grid,
  .city-description .gallery-grid,
  .home-city-description .gallery-grid,
  .city-shortcode .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (min-width:1025px){
  .gallery-grid,
  .city-description .gallery-grid,
  .home-city-description .gallery-grid,
  .city-shortcode .gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
}
.gallery-item,
.gallery-grid .gallery-item,
.city-description .gallery-grid .gallery-item,
.home-city-description .gallery-grid .gallery-item,
.city-shortcode .gallery-grid .gallery-item{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/5!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #b0004b!important;
  border-radius:12px!important;
  margin:0!important;
  padding:0!important;
}
.gallery-item a,
.gallery-grid .gallery-item a{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
.gallery-item img,
.gallery-img,
.city-description .gallery-grid img,
.home-city-description .gallery-grid img,
.city-shortcode .gallery-grid img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:4/5!important;
  object-fit:fill!important;
  object-position:center center!important;
  background:#fff!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}

/* Final PageSpeed gallery fix: exact 4:5 display, no white side gap, no aspect-ratio mismatch. */
.gallery-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:10px 0!important;align-items:start!important;}
@media (min-width:601px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (min-width:1025px){.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}}
.gallery-item{display:block!important;overflow:hidden!important;border:1px solid var(--border,#e91e63)!important;border-radius:12px!important;background:#fff!important;aspect-ratio:4/5!important;line-height:0!important;}
.gallery-item a{display:block!important;width:100%!important;height:100%!important;line-height:0!important;}
.gallery-item img,.gallery-img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;aspect-ratio:4/5!important;object-fit:cover!important;object-position:center center!important;background:transparent!important;margin:0!important;padding:0!important;border:0!important;}
.fixed-contact-btn.whatsapp,.btn.whatsapp{background:#075e24!important;border-color:#075e24!important;color:#fff!important;}
.fixed-contact-btn.whatsapp span,.btn.whatsapp span{color:#fff!important;font-weight:800!important;}
 body.has-fixed-contact{padding-bottom:48px!important;} .fixed-contact-bar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;align-items:stretch!important;width:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;background:#000!important;margin:0!important;padding:0!important;z-index:9999!important;overflow:hidden!important;} .fixed-contact-btn{flex:1 1 50%!important;width:50%!important;height:48px!important;min-height:48px!important;max-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 8px!important;margin:0!important;border:0!important;border-radius:0!important;line-height:1!important;font-size:15px!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important;overflow:hidden!important;} .fixed-contact-btn span{display:inline-block!important;line-height:1!important;font-size:15px!important;font-weight:700!important;margin:0!important;padding:0!important;} .fixed-contact-btn .contact-svg-icon,.fixed-contact-btn .icon-img,.fixed-contact-btn svg{display:inline-block!important;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;max-height:22px!important;flex:0 0 22px!important;vertical-align:middle!important;} .fixed-contact-btn .fa,.fixed-contact-btn i{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;font-size:22px!important;line-height:1!important;flex:0 0 22px!important;} @media (max-width:480px){body.has-fixed-contact{padding-bottom:46px!important;} .fixed-contact-bar{height:46px!important;min-height:46px!important;max-height:46px!important;} .fixed-contact-btn{height:46px!important;min-height:46px!important;max-height:46px!important;font-size:15px!important;gap:7px!important;} .fixed-contact-btn span{font-size:15px!important;} .fixed-contact-btn .contact-svg-icon,.fixed-contact-btn .icon-img,.fixed-contact-btn svg{width:21px!important;height:21px!important;min-width:21px!important;max-width:21px!important;max-height:21px!important;flex-basis:21px!important;} .fixed-contact-btn .fa,.fixed-contact-btn i{width:21px!important;height:21px!important;font-size:21px!important;flex-basis:21px!important;}} 
/* === FINAL DARK THEME REQUEST START === */
:root{--bg:#000000!important;--surface:#000000!important;--text:#ffffff!important;--muted:#ffffff!important;--footer-bg:#000000!important;--footer-text:#ffffff!important;}html,body{background:#000000!important;color:#ffffff!important}.site-header,header,.site-footer,footer,.city-footer-dropdown,main,main.container,.container,.city-head,.home-city-head,.city-description,.home-city-description,.city-shortcode,.breadcrumb-wrap,.footer-inner,.footer-copy-wrap,.footer-links{background:#000000!important;color:#ffffff!important}body,body *:not(a):not(.brand a):not(.btn):not(.fixed-contact-btn):not(.fixed-contact-btn *):not(.btn *){color:#ffffff!important}a,a strong,.brand a{color:var(--primary,#b0004b)!important}.city-description a,.home-city-description a,.city-shortcode a,.breadcrumb a,.footer-link{color:var(--primary,#b0004b)!important}.breadcrumb-item+.breadcrumb-item::before,.footer-sep{color:#ffffff!important}.gallery-item,.gallery-grid .gallery-item,.city-description .gallery-item,.home-city-description .gallery-item,.city-shortcode .gallery-item{background:#000000!important;border:4px solid var(--border,var(--primary,#b0004b))!important;border-radius:12px!important;overflow:hidden!important}.gallery-item img,.gallery-img,.city-description .gallery-grid img,.home-city-description .gallery-grid img,.city-shortcode .gallery-grid img{border:0!important}.site-header,.site-footer{border-color:var(--border,var(--primary,#b0004b))!important}
/* === FINAL DARK THEME REQUEST END === */


/* === ADMIN PANEL CLEAN BLACK/WHITE RESPONSIVE FIX === */
body:has(.admin-shell), .admin-shell{background:#fff!important;color:#000!important;}
.admin-content,.admin-topbar, .admin-sidebar, .admin-sidebar .brand, .stat-card, .card, .dashboard .stat-card{background:#fff!important;color:#000!important;}
.admin-sidebar{border-right:2px solid #E91E63!important;}
.admin-sidebar .brand strong{color:#000!important;font-size:22px!important;display:block;text-align:center;}
.admin-nav{display:flex!important;flex-direction:column!important;gap:10px!important;}
.admin-nav a{display:block!important;background:#fff!important;color:#000!important;border:2px solid #E91E63!important;border-radius:12px!important;padding:12px 10px!important;font-weight:800!important;text-align:center!important;text-decoration:none!important;white-space:normal!important;line-height:1.2!important;}
.admin-nav a:hover,.admin-nav a:focus{background:#E91E63!important;color:#fff!important;outline:none!important;}
.admin-topbar{border-bottom:2px solid #E91E63!important;margin-bottom:16px!important;padding:14px 0!important;}
.topbar-title{color:#000!important;font-size:22px!important;font-weight:900!important;}.topbar-user{color:#000!important;font-weight:700!important;word-break:break-word;}
main.container h1, main.container h2, main.container h3, main.container h4, .section-title{color:#000!important;font-weight:900!important;}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #E91E63;border-radius:12px;background:#fff;margin:10px 0;}
.table{width:100%;border-collapse:collapse;background:#fff!important;color:#000!important;}
.table th,.table td{color:#000!important;background:#fff!important;border-bottom:1px solid #E91E63!important;padding:10px 8px!important;vertical-align:top;}
.table th{font-weight:900;background:#f7f7f7!important;}
.input,select,textarea,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=number]{background:#fff!important;color:#000!important;border:2px solid #E91E63!important;border-radius:10px!important;padding:11px 10px!important;font-size:16px!important;}
label{color:#000!important;font-weight:800!important;display:block;margin:6px 0!important;}
.btn,button.btn,input[type=submit]{background:#E91E63!important;color:#fff!important;border:2px solid #000!important;border-radius:10px!important;padding:11px 16px!important;font-size:15px!important;font-weight:900!important;text-align:center!important;}
.btn.secondary{background:#fff!important;color:#000!important;border:2px solid #E91E63!important;}
.alert{border:2px solid #E91E63!important;border-radius:12px!important;color:#000!important;background:#fff!important;}.alert.success{background:#eaffef!important;color:#085c18!important}.alert.error{background:#fff0f0!important;color:#9b0000!important}
.site-footer{background:#fff!important;color:#000!important;border-top:2px solid #E91E63!important;}.site-footer p{color:#000!important;}
@media(max-width:960px){.admin-content{width:100%!important}.admin-sidebar{background:#fff!important;color:#000!important}.admin-nav a{font-size:15px!important;padding:13px 10px!important}.admin-topbar{min-height:68px!important}.dashboard{grid-template-columns:1fr!important}.form-row{grid-template-columns:1fr!important}.table{font-size:14px!important}.mobile-menu-toggle{display:flex!important}.mobile-menu-overlay.active{display:block!important}}
@media(max-width:520px){main.container{padding:0 10px!important}.admin-topbar{padding-left:60px!important}.topbar-title{font-size:18px!important}.table th,.table td{padding:9px 7px!important}.btn{width:100%;margin:4px 0}.admin-nav a{font-size:14px!important}}

/* === HOME/CITY FOOTER + IMAGE BORDER FINAL FIX === */
body.city-page,
body.city-page main,
body.city-page main.container{background:#000!important;}
body.city-page .site-footer,
body.city-page footer.site-footer,
body.city-page .site-footer .container,
body.city-page .footer-inner,
body.city-page .footer-links,
body.city-page .footer-copy-wrap{background:#000!important;color:#fff!important;}
body.city-page .site-footer,
body.city-page .city-footer-dropdown{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:#000!important;color:#fff!important;border-color:var(--border,var(--primary,#b0004b))!important;}
body.city-page .site-footer p,
body.city-page .footer-copy,
body.city-page .footer-sep{color:#fff!important;}
body.city-page .footer-link,
body.city-page .footer-link:visited,
body.city-page .footer-link:hover,
body.city-page .footer-link:focus{color:var(--primary,#b0004b)!important;}
body.city-page .city-footer-dropdown,
body.city-page .city-footer-dropdown *{background-color:#000!important;color:#fff!important;}
body.city-page .city-footer-select,
body.city-page .city-footer-select option{background:#000!important;background-color:#000!important;color:#fff!important;border-color:var(--border,var(--primary,#b0004b))!important;}
body.city-page .gallery-item,
body.city-page .gallery-grid .gallery-item,
body.city-page .city-description .gallery-item,
body.city-page .home-city-description .gallery-item,
body.city-page .city-shortcode .gallery-item{border:3px solid var(--border,var(--primary,#b0004b))!important;}
body.city-page .gallery-img,
body.city-page .gallery-item img,
body.city-page .post-image,
body.city-page .list-thumb,
body.city-page .card-img{border:0!important;}
/* === HOME/CITY FOOTER + IMAGE BORDER FINAL FIX END === */

/* === FINAL H1 SIZE 18PX FIX === */
html body h1,
html body .page-title,
html body .city-head h1,
html body .home-city-head h1,
html body .city-description h1,
html body .home-city-description h1,
html body .city-shortcode h1,
html body main.container h1 {
  font-size:18px!important;
  line-height:1.35!important;
}
@media(max-width:768px){
  html body h1,
  html body .page-title,
  html body .city-head h1,
  html body .home-city-head h1,
  html body .city-description h1,
  html body .home-city-description h1,
  html body .city-shortcode h1,
  html body main.container h1 {
    font-size:18px!important;
  }
}
/* === FINAL H1 SIZE 18PX FIX END === */

/* === FINAL CONTACT SHORTCODE TELEGRAM + CONDITIONAL BUTTON FIX === */
.fixed-contact-bar{display:flex!important;align-items:stretch!important;width:100%!important;}
.fixed-contact-btn{flex:1 1 0!important;width:auto!important;min-width:0!important;}
.fixed-contact-btn.telegram,.btn.telegram,a.fixed-contact-btn.telegram,a.btn.telegram{background:#229ED9!important;background-color:#229ED9!important;border-color:#229ED9!important;color:#fff!important;}
.fixed-contact-btn.telegram span,.btn.telegram span,.fixed-contact-btn.telegram svg,.btn.telegram svg,.fixed-contact-btn.telegram svg *,.btn.telegram svg *{color:#fff!important;fill:#fff!important;}
.fixed-contact-btn.call,.btn.phone{background:#b0004b!important;border-color:#b0004b!important;color:#fff!important;}
.fixed-contact-btn.whatsapp,.btn.whatsapp{background:#075e24!important;border-color:#075e24!important;color:#fff!important;}
.fixed-contact-btn.call span,.fixed-contact-btn.whatsapp span,.fixed-contact-btn.telegram span,.btn.phone span,.btn.whatsapp span,.btn.telegram span{color:#fff!important;}
.fixed-contact-btn.disabled{display:none!important;}
/* === FINAL CONTACT SHORTCODE TELEGRAM + CONDITIONAL BUTTON FIX END === */

/* ============================================================
   HOME + CITY DYNAMIC CSS
   ============================================================ */
      /* Admin controlled colors: home + city pages only */
      body.city-page {
        --bg: #000000 !important;
        --surface: #000000 !important;
        --card: #000000 !important;
        --footer-bg: #000000 !important;
        --text: #ffffff !important;
        --muted: #ffffff !important;
        --footer-text: #ffffff !important;
        --primary: #ff6600 !important;
        --border: #ff6600 !important;
      }

      body.city-page,
      body.city-page .site-header,
      body.city-page header,
      body.city-page header.site-header,
      body.city-page .site-header .container,
      body.city-page .site-header .header-bar,
      body.city-page main,
      body.city-page main.container,
      body.city-page .container,
      body.city-page .city-head,
      body.city-page .home-city-head,
      body.city-page .city-description,
      body.city-page .home-city-description,
      body.city-page .city-shortcode,
      body.city-page .breadcrumb-wrap,
      body.city-page .site-footer,
      body.city-page footer.site-footer,
      body.city-page .site-footer .container,
      body.city-page .footer-inner,
      body.city-page .footer-links,
      body.city-page .footer-copy-wrap,
      body.city-page .city-footer-dropdown {
        background: #000000 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
      }

      body.city-page,
      body.city-page .breadcrumb,
      body.city-page .breadcrumb-item.active,
      body.city-page .footer-copy,
      body.city-page .footer-sep,
      body.city-page .city-footer-dropdown,
      body.city-page .city-footer-dropdown *:not(a),
      body.city-page .city-head,
      body.city-page .city-head h1,
      body.city-page .city-head h2,
      body.city-page .home-city-head h1,
      body.city-page .home-city-head h2,
      body.city-page .city-description,
      body.city-page .home-city-description,
      body.city-page .city-shortcode,
      body.city-page .city-description p,
      body.city-page .home-city-description p,
      body.city-page .city-shortcode p,
      body.city-page .city-description li,
      body.city-page .home-city-description li,
      body.city-page .city-shortcode li,
      body.city-page .city-description h1,
      body.city-page .city-description h2,
      body.city-page .city-description h3,
      body.city-page .city-description h4,
      body.city-page .city-description h5,
      body.city-page .city-description h6,
      body.city-page .home-city-description h1,
      body.city-page .home-city-description h2,
      body.city-page .home-city-description h3,
      body.city-page .home-city-description h4,
      body.city-page .home-city-description h5,
      body.city-page .home-city-description h6,
      body.city-page .city-shortcode h1,
      body.city-page .city-shortcode h2,
      body.city-page .city-shortcode h3,
      body.city-page .city-shortcode h4,
      body.city-page .city-shortcode h5,
      body.city-page .city-shortcode h6,
      body.city-page .city-description strong,
      body.city-page .home-city-description strong,
      body.city-page .city-shortcode strong,
      body.city-page .city-description b,
      body.city-page .home-city-description b,
      body.city-page .city-shortcode b,
      body.city-page .city-description em,
      body.city-page .home-city-description em,
      body.city-page .city-shortcode em,
      body.city-page .city-description div,
      body.city-page .home-city-description div,
      body.city-page .city-shortcode div,
      body.city-page .city-description span,
      body.city-page .home-city-description span,
      body.city-page .city-shortcode span,
      body.city-page .city-description table,
      body.city-page .home-city-description table,
      body.city-page .city-shortcode table,
      body.city-page .city-description thead,
      body.city-page .home-city-description thead,
      body.city-page .city-shortcode thead,
      body.city-page .city-description tbody,
      body.city-page .home-city-description tbody,
      body.city-page .city-shortcode tbody,
      body.city-page .city-description tr,
      body.city-page .home-city-description tr,
      body.city-page .city-shortcode tr,
      body.city-page .city-description th,
      body.city-page .home-city-description th,
      body.city-page .city-shortcode th,
      body.city-page .city-description td,
      body.city-page .home-city-description td,
      body.city-page .city-shortcode td,
      body.city-page .city-description .table,
      body.city-page .home-city-description .table,
      body.city-page .city-shortcode .table,
      body.city-page .city-description .table th,
      body.city-page .home-city-description .table th,
      body.city-page .city-shortcode .table th,
      body.city-page .city-description .table td,
      body.city-page .home-city-description .table td,
      body.city-page .city-shortcode .table td {
        color: #ffffff !important;
      }

      /* Force text color on EVERY element inside admin content, including
         elements that the rich-text editor gave an inline style="color:.."
         or a <font color> attribute. Links and contact buttons excluded. */
      body.city-page .city-head *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .home-city-head *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .city-description *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .home-city-description *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .city-shortcode *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]) {
        color: #ffffff !important;
      }
      body.city-page .city-head font[color],
      body.city-page .home-city-head font[color],
      body.city-page .city-description font[color],
      body.city-page .home-city-description font[color],
      body.city-page .city-shortcode font[color] {
        color: #ffffff !important;
      }

      /* CONTENT TEXT COLOR — matches the exact selector the content uses.
         Picker colour applies to EVERY element, except links, brand link,
         and the contact buttons (and everything inside them). Same
         (0,5,3) specificity the content already responds to. */
      body.city-page,
      body.city-page *:not(a):not(.brand a):not(.btn):not(.fixed-contact-btn):not(.fixed-contact-btn *):not(.btn *) {
        color: #ffffff !important;
      }

      /* Contact buttons stay LOCKED white — undo the wildcard above for the
         buttons themselves AND every element inside them (span, svg, svg *, i). */
      body.city-page .fixed-contact-bar,
      body.city-page .fixed-contact-bar *,
      body.city-page .fixed-contact-btn,
      body.city-page .fixed-contact-btn *,
      body.city-page a.btn.phone,
      body.city-page a.btn.phone *,
      body.city-page a.btn.whatsapp,
      body.city-page a.btn.whatsapp *,
      body.city-page .btn.phone,
      body.city-page .btn.phone *,
      body.city-page .btn.whatsapp,
      body.city-page .btn.whatsapp * {
        color: #ffffff !important;
        fill: #ffffff !important;
      }

      body.city-page .city-description table,
      body.city-page .home-city-description table,
      body.city-page .city-shortcode table,
      body.city-page .city-description th,
      body.city-page .home-city-description th,
      body.city-page .city-shortcode th,
      body.city-page .city-description td,
      body.city-page .home-city-description td,
      body.city-page .city-shortcode td,
      body.city-page .city-description .table th,
      body.city-page .home-city-description .table th,
      body.city-page .city-shortcode .table th,
      body.city-page .city-description .table td,
      body.city-page .home-city-description .table td,
      body.city-page .city-shortcode .table td {
        background: #000000 !important;
        background-color: #000000 !important;
        border-color: #ff6600 !important;
      }

      body.city-page a:not(.btn):not(.fixed-contact-btn),
      body.city-page a:not(.btn):not(.fixed-contact-btn) strong,
      body.city-page .brand a,
      body.city-page .breadcrumb a,
      body.city-page .footer-link,
      body.city-page .footer-link:visited,
      body.city-page .footer-link:hover,
      body.city-page .footer-link:focus,
      body.city-page .city-description a:not(.btn):not(.fixed-contact-btn),
      body.city-page .home-city-description a:not(.btn):not(.fixed-contact-btn),
      body.city-page .city-shortcode a:not(.btn):not(.fixed-contact-btn) {
        color: #ff6600 !important;
      }

      body.city-page .chip.active,
      body.city-page .city-link:hover {
        background: #ff6600 !important;
        background-color: #ff6600 !important;
        border-color: #ff6600 !important;
        color: #ffffff !important;
      }

      /* Contact buttons are locked: admin home/city text/primary color will not change their font color. */
      body.city-page .fixed-contact-bar {
        background: #000000 !important;
        background-color: #000000 !important;
      }
      body.city-page .btn.phone,
      body.city-page a.btn.phone,
      body.city-page .fixed-contact-btn.call,
      body.city-page a.fixed-contact-btn.call {
        background: #b0004b !important;
        background-color: #b0004b !important;
        border-color: #b0004b !important;
        color: #ffffff !important;
      }
      body.city-page .btn.whatsapp,
      body.city-page a.btn.whatsapp,
      body.city-page .fixed-contact-btn.whatsapp,
      body.city-page a.fixed-contact-btn.whatsapp {
        background: #075e24 !important;
        background-color: #075e24 !important;
        border-color: #075e24 !important;
        color: #ffffff !important;
      }
      body.city-page .btn.telegram,
      body.city-page a.btn.telegram,
      body.city-page .fixed-contact-btn.telegram,
      body.city-page a.fixed-contact-btn.telegram {
        background: #229ED9 !important;
        background-color: #229ED9 !important;
        border-color: #229ED9 !important;
        color: #ffffff !important;
      }
      body.city-page .fixed-contact-btn {
        flex: 1 1 0 !important;
        width: auto !important;
      }
      body.city-page .btn.phone span,
      body.city-page .btn.whatsapp span,
      body.city-page .btn.telegram span,
      body.city-page .btn.phone svg,
      body.city-page .btn.whatsapp svg,
      body.city-page .btn.telegram svg,
      body.city-page .btn.phone svg *,
      body.city-page .btn.whatsapp svg *,
      body.city-page .btn.telegram svg *,
      body.city-page .btn.phone i,
      body.city-page .btn.whatsapp i,
      body.city-page .btn.telegram i,
      body.city-page .fixed-contact-btn span,
      body.city-page .fixed-contact-btn.call span,
      body.city-page .fixed-contact-btn.whatsapp span,
      body.city-page .fixed-contact-btn.telegram span,
      body.city-page .fixed-contact-btn svg,
      body.city-page .fixed-contact-btn svg *,
      body.city-page .fixed-contact-btn i {
        color: #ffffff !important;
        fill: #ffffff !important;
      }

      body.city-page .site-header,
      body.city-page .site-footer,
      body.city-page .city-footer-dropdown,
      body.city-page .city-footer-select,
      body.city-page .gallery-item,
      body.city-page .gallery-grid .gallery-item,
      body.city-page .city-description .gallery-item,
      body.city-page .home-city-description .gallery-item,
      body.city-page .city-shortcode .gallery-item {
        border-color: #ff6600 !important;
      }

      body.city-page .site-header,
      body.city-page .site-footer,
      body.city-page .city-footer-dropdown {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
      }

      body.city-page .site-header,
      body.city-page header.site-header,
      body.city-page .site-header .container,
      body.city-page .site-header .header-bar {
        background: #000000 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
      }

      body.city-page .city-footer-select,
      body.city-page .city-footer-select option {
        background: #000000 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
        border-color: #ff6600 !important;
      }

      body.city-page .gallery-item,
      body.city-page .gallery-grid .gallery-item,
      body.city-page .city-description .gallery-item,
      body.city-page .home-city-description .gallery-item,
      body.city-page .city-shortcode .gallery-item {
        border: 3px solid #ff6600 !important;
      }

      body.city-page .gallery-img,
      body.city-page .gallery-item img,
      body.city-page .post-image,
      body.city-page .list-thumb,
      body.city-page .card-img {
        border: 0 !important;
      }

      /* ============================================================
         FINAL LOCK (placed last = highest priority):
         Contact button font + icon ALWAYS white, never affected by
         the home/city color picker. Extra :not() chains push the
         specificity ABOVE the content rule (0,5,2) so white wins.
         ============================================================ */
      html body.city-page .fixed-contact-bar:not(#x):not(#y):not(#z),
      html body.city-page .fixed-contact-bar:not(#x):not(#y):not(#z) *,
      html body.city-page .fixed-contact-btn:not(#x):not(#y):not(#z),
      html body.city-page .fixed-contact-btn:not(#x):not(#y):not(#z) *,
      html body.city-page a.fixed-contact-btn:not(#x):not(#y):not(#z),
      html body.city-page a.fixed-contact-btn:not(#x):not(#y):not(#z) *,
      html body.city-page a.btn.phone:not(#x):not(#y):not(#z),
      html body.city-page a.btn.phone:not(#x):not(#y):not(#z) *,
      html body.city-page a.btn.whatsapp:not(#x):not(#y):not(#z),
      html body.city-page a.btn.whatsapp:not(#x):not(#y):not(#z) *,
      html body.city-page a.btn.telegram:not(#x):not(#y):not(#z),
      html body.city-page a.btn.telegram:not(#x):not(#y):not(#z) *,
      html body.city-page .btn.phone:not(#x):not(#y):not(#z),
      html body.city-page .btn.phone:not(#x):not(#y):not(#z) *,
      html body.city-page .btn.whatsapp:not(#x):not(#y):not(#z),
      html body.city-page .btn.whatsapp:not(#x):not(#y):not(#z) *,
      html body.city-page .btn.telegram:not(#x):not(#y):not(#z),
      html body.city-page .btn.telegram:not(#x):not(#y):not(#z) * {
        color: #ffffff !important;
        fill: #ffffff !important;
      }

      /* Final H1 font size: home + city pages */
      html body.city-page h1,
      html body.city-page .page-title,
      html body.city-page .city-head h1,
      html body.city-page .home-city-head h1,
      html body.city-page .city-description h1,
      html body.city-page .home-city-description h1,
      html body.city-page .city-shortcode h1,
      html body.city-page main.container h1,
      html body.city-page h1.brand,
      html body.city-page h1.brand a {
        font-size: 18px !important;
        line-height: 1.35 !important;
      }

    

/* ============================================================
   CONTACT ICON + BUTTON CSS
   ============================================================ */
.contact-svg-icon{display:inline-block;width:18px;height:18px;min-width:18px;vertical-align:middle;flex:0 0 18px}
.fixed-contact-btn .contact-svg-icon,.btn.phone .contact-svg-icon,.btn.whatsapp .contact-svg-icon,.btn.telegram .contact-svg-icon{display:inline-block;width:18px;height:18px;min-width:18px;vertical-align:middle;flex:0 0 18px}
.fixed-contact-btn,.btn.phone,.btn.whatsapp,.btn.telegram{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1}
.fixed-contact-btn{flex:1 1 0!important;width:auto!important}
.fixed-contact-btn span,.btn.phone span,.btn.whatsapp span,.btn.telegram span{display:inline-block;vertical-align:middle;font-size:14px;font-weight:600;line-height:1}
.fixed-contact-btn.telegram,.btn.telegram{background:#229ED9!important;border-color:#229ED9!important;color:#fff!important}
.fixed-contact-btn.telegram span,.btn.telegram span,.fixed-contact-btn.telegram svg,.btn.telegram svg{color:#fff!important;fill:#fff!important}

/* ============================================================
   AGE VERIFICATION CSS
   ============================================================ */
    html.age-gate-open,
    body.age-gate-open {
      overflow: hidden !important;
    }

    #ageVerificationGate[hidden] {
      display: none !important;
    }

    #ageVerificationGate {
      position: fixed !important;
      inset: 0 !important;
      z-index: 2147483647 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 20px !important;
      background: rgba(0, 0, 0, 0.92) !important;
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
    }

    #ageVerificationGate .age-gate-box {
      width: 100% !important;
      max-width: 430px !important;
      margin: 0 !important;
      padding: 28px 22px 22px !important;
      border: 3px solid var(--primary, #b0004b) !important;
      border-radius: 18px !important;
      background: #111111 !important;
      box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55) !important;
      color: #ffffff !important;
      text-align: center !important;
      font-family: Arial, Helvetica, sans-serif !important;
    }

    #ageVerificationGate .age-gate-badge {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 72px !important;
      height: 72px !important;
      margin: 0 auto 14px !important;
      border: 3px solid #ffffff !important;
      border-radius: 50% !important;
      background: var(--primary, #b0004b) !important;
      color: #ffffff !important;
      font-size: 28px !important;
      font-weight: 800 !important;
      line-height: 1 !important;
    }

    #ageVerificationGate .age-gate-title {
      margin: 0 0 10px !important;
      color: #ffffff !important;
      font-size: 24px !important;
      font-weight: 800 !important;
      line-height: 1.25 !important;
    }

    #ageVerificationGate .age-gate-text,
    #ageVerificationGate .age-gate-status {
      margin: 0 0 20px !important;
      color: #eeeeee !important;
      font-size: 15px !important;
      line-height: 1.55 !important;
    }

    #ageVerificationGate .age-gate-actions {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 12px !important;
    }

    #ageVerificationGate .age-gate-button {
      min-height: 48px !important;
      padding: 11px 16px !important;
      border: 2px solid transparent !important;
      border-radius: 10px !important;
      cursor: pointer !important;
      font-size: 16px !important;
      font-weight: 800 !important;
      line-height: 1.2 !important;
      text-align: center !important;
      transition: transform 0.18s ease, opacity 0.18s ease !important;
    }

    #ageVerificationGate .age-gate-button:hover {
      transform: translateY(-1px) !important;
      opacity: 0.92 !important;
    }

    #ageVerificationGate .age-gate-button:focus-visible {
      outline: 3px solid #ffffff !important;
      outline-offset: 3px !important;
    }

    #ageVerificationGate .age-gate-yes {
      border-color: var(--primary, #b0004b) !important;
      background: var(--primary, #b0004b) !important;
      color: #ffffff !important;
    }

    #ageVerificationGate .age-gate-no {
      border-color: #777777 !important;
      background: #2b2b2b !important;
      color: #ffffff !important;
    }

    @media (max-width: 480px) {
      #ageVerificationGate {
        padding: 14px !important;
      }

      #ageVerificationGate .age-gate-box {
        padding: 24px 17px 18px !important;
        border-radius: 15px !important;
      }

      #ageVerificationGate .age-gate-title {
        font-size: 21px !important;
      }
    }
  


/* ============================================================
   CITY PAGE TAGS CARD — BLACK + PRIMARY BORDER BUTTONS
   Final override: keep the tag card pure black and borderless.
   Tag-button borders automatically follow the admin theme primary colour.
   ============================================================ */
body.city-page .tags-section,
body.city-page .tag-section,
body.city-page .tags-card {
  background: #000000 !important;
  background-color: #000000 !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.city-page .tags-section .label,
body.city-page .tag-section .label,
body.city-page .tags-card .label {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.city-page .tags-section .label a,
body.city-page .tag-section .label a,
body.city-page .tags-card .label a,
body.city-page .tags-section > a,
body.city-page .tag-section > a,
body.city-page .tags-list a,
body.city-page .tag-list a,
body.city-page a.tag-button {
  display: inline-block !important;
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid var(--primary, #b0004b) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.city-page .tags-section .label a:hover,
body.city-page .tags-section .label a:focus,
body.city-page .tag-section .label a:hover,
body.city-page .tag-section .label a:focus,
body.city-page .tags-card .label a:hover,
body.city-page .tags-card .label a:focus,
body.city-page .tags-section > a:hover,
body.city-page .tags-section > a:focus,
body.city-page .tag-section > a:hover,
body.city-page .tag-section > a:focus,
body.city-page .tags-list a:hover,
body.city-page .tags-list a:focus,
body.city-page .tag-list a:hover,
body.city-page .tag-list a:focus,
body.city-page a.tag-button:hover,
body.city-page a.tag-button:focus {
  border-color: var(--primary, #b0004b) !important;
  color: #ffffff !important;
}
/* === CITY PAGE TAGS CARD FIX END === */

/* ============================================================
   CITY TAG BUTTON SPACING + PERMANENT WHITE TEXT
   ============================================================ */
body.city-page .tags-section .label,
body.city-page .tag-section .label,
body.city-page .tags-card .label {
  display: inline-block !important;
  margin: 5px 4px !important;
  padding: 0 !important;
  vertical-align: middle !important;
}

body.city-page .tags-section > a,
body.city-page .tag-section > a,
body.city-page .tags-card > a,
body.city-page .tags-list > a,
body.city-page .tag-list > a,
body.city-page a.tag-button {
  margin: 5px 4px !important;
  vertical-align: middle !important;
}

body.city-page .tags-section .label a,
body.city-page .tag-section .label a,
body.city-page .tags-card .label a,
body.city-page .tags-section > a,
body.city-page .tag-section > a,
body.city-page .tags-card > a,
body.city-page .tags-list a,
body.city-page .tag-list a,
body.city-page a.tag-button {
  padding: 8px 13px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.city-page .tags-section a:link,
body.city-page .tags-section a:visited,
body.city-page .tags-section a:hover,
body.city-page .tags-section a:focus,
body.city-page .tags-section a:active,
body.city-page .tag-section a:link,
body.city-page .tag-section a:visited,
body.city-page .tag-section a:hover,
body.city-page .tag-section a:focus,
body.city-page .tag-section a:active,
body.city-page .tags-card a:link,
body.city-page .tags-card a:visited,
body.city-page .tags-card a:hover,
body.city-page .tags-card a:focus,
body.city-page .tags-card a:active,
body.city-page .tags-list a:link,
body.city-page .tags-list a:visited,
body.city-page .tags-list a:hover,
body.city-page .tags-list a:focus,
body.city-page .tags-list a:active,
body.city-page .tag-list a:link,
body.city-page .tag-list a:visited,
body.city-page .tag-list a:hover,
body.city-page .tag-list a:focus,
body.city-page .tag-list a:active,
body.city-page a.tag-button:link,
body.city-page a.tag-button:visited,
body.city-page a.tag-button:hover,
body.city-page a.tag-button:focus,
body.city-page a.tag-button:active,
body.city-page .tags-section a *,
body.city-page .tag-section a *,
body.city-page .tags-card a *,
body.city-page .tags-list a *,
body.city-page .tag-list a *,
body.city-page a.tag-button * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* === CITY TAG BUTTON SPACING + WHITE TEXT END === */

/* ============================================================
   CITY TAG BUTTON SMALLER TEXT
   ============================================================ */
body.city-page .tags-section .label a,
body.city-page .tag-section .label a,
body.city-page .tags-card .label a,
body.city-page .tags-section > a,
body.city-page .tag-section > a,
body.city-page .tags-card > a,
body.city-page .tags-list a,
body.city-page .tag-list a,
body.city-page a.tag-button,
body.city-page .tags-section a *,
body.city-page .tag-section a *,
body.city-page .tags-card a *,
body.city-page .tags-list a *,
body.city-page .tag-list a *,
body.city-page a.tag-button * {
  font-size: 12px !important;
  line-height: 1.3 !important;
}
/* === CITY TAG BUTTON SMALLER TEXT END === */

/* ============================================================
   ADMIN + USER POST SYSTEM — PUBLIC CITY GRID AND SINGLE POST
   ============================================================ */
.city-extra-content,
.city-content-after-posts{
  width:100%;
  margin:0;
  padding:0;
  background:#000000!important;
  color:#ffffff!important;
  text-align:left;
}
.city-extra-content{margin-top:8px}
.city-extra-content p,.city-content-after-posts p{font-size:16px;line-height:1.55;margin:0 0 9px;color:#ffffff!important}
.city-extra-content h2,.city-extra-content h3,.city-extra-content h4,.city-extra-content h5,.city-extra-content h6,
.city-content-after-posts h2,.city-content-after-posts h3,.city-content-after-posts h4,.city-content-after-posts h5,.city-content-after-posts h6{font-size:18px;line-height:1.3;margin:12px 0 8px;color:#ffffff!important}
.city-extra-content a,.city-content-after-posts a{color:var(--primary,#b0004b)!important}

.city-posts-section{margin:12px 0 16px;background:#000!important}
.city-post-list{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.city-post-card{display:flex;flex:0 0 100%;width:100%;min-width:0;min-height:170px;align-items:stretch;overflow:hidden;background:#000000!important;border:2px solid var(--primary,#b0004b)!important;border-radius:12px!important;box-shadow:none!important}
.city-post-image-link{position:relative;display:block;flex:0 0 38%;width:38%;min-width:0;min-height:170px;overflow:hidden;background:#111!important}
.city-post-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;margin:0!important;border:0!important;border-radius:0!important;background:#111!important}
.city-post-no-image{display:flex;width:100%;height:100%;min-height:170px;align-items:center;justify-content:center;color:#fff!important;font-size:13px;background:#111!important}
.city-post-body{display:flex;flex:1 1 62%;min-width:0;flex-direction:column;padding:9px;text-align:left;background:#000!important}
.city-post-body h2{margin:0 0 5px!important;font-size:15px!important;line-height:1.35!important;font-weight:800!important;text-align:left!important}
.city-post-body h2 a{color:#ffffff!important;-webkit-text-fill-color:#ffffff!important}
.city-post-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden;margin:0!important;color:#ffffff!important;font-size:13px!important;line-height:1.42!important;text-align:left!important}

.single-post-card{max-width:850px;margin:10px auto 18px;padding:14px;background:#000!important;border:2px solid var(--primary,#b0004b)!important;border-radius:14px;color:#fff!important}
.single-post-card h1{margin:0 0 12px;color:#fff!important;font-size:22px!important;line-height:1.3!important;text-align:center}
.single-post-image{display:block!important;width:min(100%,500px)!important;height:auto!important;aspect-ratio:4/5!important;object-fit:fill!important;margin:0 auto 14px!important;border:2px solid var(--primary,#b0004b)!important;border-radius:12px!important;background:#111!important}
.single-post-content{color:#fff!important;font-size:16px;line-height:1.6;text-align:left}
.single-post-content p{margin:0 0 10px;color:#fff!important;font-size:16px!important;line-height:1.6!important}
.single-post-content h2,.single-post-content h3,.single-post-content h4,.single-post-content h5,.single-post-content h6{margin:14px 0 8px;color:#fff!important;font-size:18px!important;line-height:1.35!important}
.single-post-content a{color:var(--primary,#b0004b)!important}
.single-post-content img{max-width:100%;height:auto;border-radius:10px}
.single-post-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.post-contact-btn{display:flex;min-height:44px;align-items:center;justify-content:center;padding:9px 10px;border-radius:9px;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;font-size:14px;font-weight:800;text-align:center;text-decoration:none!important}
.post-call{background:var(--primary,#b0004b)!important;border:2px solid var(--primary,#b0004b)!important}
.post-whatsapp{background:#075e24!important;border:2px solid #075e24!important}
.post-telegram{background:#168acd!important;border:2px solid #168acd!important}

@media (min-width:601px){.city-post-card{flex:0 0 calc(50% - 6px);width:calc(50% - 6px)}}
@media (max-width:600px){.city-post-card{min-height:170px}.city-post-image-link{flex-basis:38%;width:38%;min-height:170px}.city-post-no-image{min-height:170px}.city-post-body{flex-basis:62%;padding:9px}.city-post-body h2{font-size:15px!important;margin-bottom:5px!important}.city-post-body p{-webkit-line-clamp:7;font-size:13px!important;line-height:1.42!important;margin:0!important}.single-post-card{padding:11px}.single-post-card h1{font-size:19px!important}.single-post-contacts{grid-template-columns:1fr}.city-extra-content p,.city-content-after-posts p,.single-post-content,.single-post-content p{font-size:15px!important}}
/* === POST SYSTEM PUBLIC CSS END === */

/* === SAME POST IMAGE HEIGHT ON MOBILE, TABLET AND DESKTOP === */
body.city-page .city-post-card{
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
}
body.city-page .city-post-image-link,
body.city-page .city-post-image,
body.city-page .city-post-no-image{
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
}
body.city-page .city-post-body{
  height:170px!important;
  min-height:0!important;
  overflow:hidden!important;
}
/* === SAME POST IMAGE HEIGHT END === */

/* === RESPONSIVE SINGLE POST DETAIL + CITY CONTACT INHERITANCE === */
body.post-page main.container{
  max-width:1200px!important;
}
body.post-page .single-post-card{
  width:100%!important;
  max-width:1120px!important;
  margin:12px auto 20px!important;
  padding:18px!important;
}
body.post-page .single-post-image{
  display:block!important;
  width:min(100%,520px)!important;
  max-width:520px!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  margin:0 auto 16px!important;
}
@media (min-width:601px) and (max-width:1024px){
  body.post-page .single-post-card{
    max-width:960px!important;
    padding:16px!important;
  }
  body.post-page .single-post-image{
    width:min(100%,460px)!important;
    max-width:460px!important;
  }
}
@media (max-width:600px){
  body.post-page main.container{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.post-page .single-post-card{
    width:100%!important;
    max-width:none!important;
    padding:10px!important;
    border-radius:12px!important;
  }
  body.post-page .single-post-image{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin-bottom:12px!important;
  }
}
/* === RESPONSIVE SINGLE POST DETAIL END === */

/* === SIMILAR POSTS ON SINGLE POST PAGE === */
body.post-page .similar-posts-section{width:100%;max-width:1120px;margin:0 auto 22px;padding:0;background:#000!important}
body.post-page .similar-posts-heading{margin:0 0 12px!important;color:#fff!important;font-size:20px!important;line-height:1.35!important;text-align:center!important}
body.post-page .similar-posts-section .city-post-card{height:170px!important;min-height:170px!important;max-height:170px!important}
body.post-page .similar-posts-section .city-post-image-link,
body.post-page .similar-posts-section .city-post-image,
body.post-page .similar-posts-section .city-post-no-image{height:170px!important;min-height:170px!important;max-height:170px!important}
body.post-page .similar-posts-section .city-post-body{height:170px!important;min-height:0!important;overflow:hidden!important}
@media(max-width:600px){body.post-page .similar-posts-heading{font-size:18px!important}}
/* === SIMILAR POSTS END === */

/* === BOTTOM CONTENT ALL HEADINGS CENTER === */
body.city-page .city-content-after-posts > .city-description h1,
body.city-page .city-content-after-posts > .city-description h2,
body.city-page .city-content-after-posts > .city-description h3,
body.city-page .city-content-after-posts > .city-description h4,
body.city-page .city-content-after-posts > .city-description h5,
body.city-page .city-content-after-posts > .city-description h6,
body.city-page .home-content-after-posts > .home-city-description h1,
body.city-page .home-content-after-posts > .home-city-description h2,
body.city-page .home-content-after-posts > .home-city-description h3,
body.city-page .home-content-after-posts > .home-city-description h4,
body.city-page .home-content-after-posts > .home-city-description h5,
body.city-page .home-content-after-posts > .home-city-description h6 {
  text-align:center!important;
}
/* === BOTTOM CONTENT ALL HEADINGS CENTER END === */

/* === MOBILE 5PX OUTER SPACING ONLY ===
   Desktop and tablet keep the original normal width.
*/
@media (max-width: 600px) {
  html body .container,
  html body main.container,
  html body.city-page .container,
  html body.city-page main.container,
  html body.post-page main.container,
  html body .site-header .container,
  html body .site-footer .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  html body main.container > *,
  html body .city-head,
  html body .home-city-head,
  html body .city-description,
  html body .home-city-description,
  html body .city-shortcode,
  html body .city-extra-content,
  html body .city-content-after-posts,
  html body .city-posts-section,
  html body.post-page .single-post-card,
  html body.post-page .similar-posts-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
/* === MOBILE 5PX OUTER SPACING END === */

/* === MOBILE H1 FULL AVAILABLE WIDTH ===
   Home/city H1 uses the full mobile viewport with only 5px side gap.
   Single-post H1 expands up to the card edges.
*/
@media (max-width: 600px) {
  html body.city-page main.container > .city-head > h1,
  html body.city-page main.container > .home-city-head > h1 {
    display: block !important;
    width: calc(100vw - 10px) !important;
    max-width: none !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
  }

  html body.post-page .single-post-card > h1 {
    display: block !important;
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
  }
}
/* === MOBILE H1 FULL AVAILABLE WIDTH END === */

/* === MOBILE ALL CONTENT HEADINGS 16PX ===
   Keep post-card titles and the single-post main title unchanged.
*/
@media (max-width: 600px) {
  html body.city-page .city-head > h1,
  html body.city-page .home-city-head > h1,

  html body.city-page .city-extra-content h1,
  html body.city-page .city-extra-content h2,
  html body.city-page .city-extra-content h3,
  html body.city-page .city-extra-content h4,
  html body.city-page .city-extra-content h5,
  html body.city-page .city-extra-content h6,

  html body.city-page .city-content-after-posts h1,
  html body.city-page .city-content-after-posts h2,
  html body.city-page .city-content-after-posts h3,
  html body.city-page .city-content-after-posts h4,
  html body.city-page .city-content-after-posts h5,
  html body.city-page .city-content-after-posts h6,

  html body.city-page .city-description h1,
  html body.city-page .city-description h2,
  html body.city-page .city-description h3,
  html body.city-page .city-description h4,
  html body.city-page .city-description h5,
  html body.city-page .city-description h6,

  html body.city-page .home-city-description h1,
  html body.city-page .home-city-description h2,
  html body.city-page .home-city-description h3,
  html body.city-page .home-city-description h4,
  html body.city-page .home-city-description h5,
  html body.city-page .home-city-description h6,

  html body.city-page .city-shortcode h1,
  html body.city-page .city-shortcode h2,
  html body.city-page .city-shortcode h3,
  html body.city-page .city-shortcode h4,
  html body.city-page .city-shortcode h5,
  html body.city-page .city-shortcode h6,

  html body.post-page .single-post-content h2,
  html body.post-page .single-post-content h3,
  html body.post-page .single-post-content h4,
  html body.post-page .single-post-content h5,
  html body.post-page .single-post-content h6,
  html body.post-page .similar-posts-heading {
    font-size: 16px !important;
  }
}
/* === MOBILE ALL CONTENT HEADINGS 16PX END === */

/* === MOBILE TOP + BOTTOM CONTENT FULL AVAILABLE WIDTH (CONTACT SAFE) ===
   The main mobile container already has only 5px left/right padding.
   Do not transform these wrappers: a transformed ancestor breaks position:fixed
   contact bars by making them attach to the content wrapper instead of viewport.
*/
@media (max-width: 600px) {
  html body.city-page .city-head > .city-extra-content,
  html body.city-page .home-city-head > .home-city-extra-content,
  html body.city-page main.container > .city-content-after-posts,
  html body.city-page main.container > .home-content-after-posts {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  html body.city-page .city-extra-content > *:not(.fixed-contact-bar),
  html body.city-page .home-city-extra-content > *:not(.fixed-contact-bar),
  html body.city-page .city-content-after-posts > *:not(.fixed-contact-bar),
  html body.city-page .home-content-after-posts > *:not(.fixed-contact-bar),
  html body.city-page .city-content-after-posts .city-description,
  html body.city-page .home-content-after-posts .home-city-description,
  html body.city-page .city-content-after-posts .city-shortcode {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html body.city-page .fixed-contact-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 9999 !important;
  }
}
/* === MOBILE TOP + BOTTOM CONTENT FULL AVAILABLE WIDTH END === */
