/* Madrid city page, scoped to /spain/madrid/escorts/. */
body .city-directory-page.md-page{width:100%!important;max-width:none!important;margin:0!important;padding:15px clamp(12px,1.8vw,29px) 35px!important;box-sizing:border-box!important;overflow:hidden;background:#f5f5f3}
.md-page *, .md-page *::before, .md-page *::after{box-sizing:border-box}
.md-page .md-hero,.md-page .md-guide{font-family:Inter,Roboto,Arial,sans-serif;isolation:isolate}
.md-page .md-hero{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(320px,.73fr);gap:0;min-height:355px;background:radial-gradient(circle at 12% 6%,#263c4e 0,transparent 46%),linear-gradient(125deg,#0d1727,#1c2b3c 60%,#24202b);color:#fff!important;overflow:hidden;position:relative;border-radius:22px;border:1px solid rgba(223,184,114,.34);box-shadow:0 14px 48px rgba(15,20,29,.15);margin:0 0 12px}
.md-page .md-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(23px,4vw,58px) clamp(19px,3vw,48px)}
.md-page .md-eyebrow{display:block;margin:0 0 9px;font-size:11px!important;line-height:1.35!important;letter-spacing:.14em!important;text-transform:uppercase;font-weight:800!important;color:#efc983!important;-webkit-text-fill-color:#efc983!important}
.md-page .md-hero h1{font-size:clamp(34px,3.8vw,61px)!important;font-weight:850!important;letter-spacing:-.045em!important;line-height:1.07!important;max-width:860px;margin:0 0 15px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 8px 27px rgba(0,0,0,.23);text-wrap:balance}
.md-page .md-hero h1 span{color:#f5d396!important;-webkit-text-fill-color:#f5d396!important;display:block}
.md-page .md-hero p{margin:0!important;color:#dfebf8!important;-webkit-text-fill-color:#dfebf8!important;font-weight:470!important;font-size:clamp(15px,1.15vw,17px)!important;line-height:1.65!important;max-width:690px}
.md-page .md-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin:21px 0 19px}
.md-page .md-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:11px 17px!important;font-size:13.5px!important;font-weight:800!important;line-height:1.2!important;border-radius:10px;text-decoration:none!important;border:1px solid rgba(240,202,137,.5);transition:transform .2s ease,box-shadow .2s ease}
.md-page .md-btn:hover{transform:translateY(-2px)}
.md-page .md-btn-primary{background:#efc67c!important;color:#142132!important;-webkit-text-fill-color:#142132!important;border-color:#efc67c!important}
.md-page .md-btn-outline{background:rgba(255,255,255,.06)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.md-page .md-hero-notes{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.md-page .md-hero-notes span{display:inline-flex;align-items:center;gap:7px;font-size:12px!important;font-weight:700!important;line-height:1.4!important;color:#f0f6fc!important;-webkit-text-fill-color:#f0f6fc!important}
.md-page .md-hero-notes b{font-size:15px!important;color:#f4ce79!important;-webkit-text-fill-color:#f4ce79!important}
.md-page .md-hero-art{position:relative;min-width:0;min-height:315px;overflow:hidden;background:#344452 url('../images/madrid-skyline.svg') center/cover no-repeat}
.md-page .md-hero-art img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 50%;filter:saturate(.88) contrast(1.06)}
.md-page .md-hero-art-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#1c2b3c 0,rgba(17,27,42,.08) 25%,transparent 65%),linear-gradient(0deg,rgba(10,19,33,.7),transparent 55%)}
.md-page .md-photo-caption{position:absolute;bottom:16px;left:18px;right:18px;width:max-content;max-width:calc(100% - 36px);padding:8px 12px;border-radius:999px;color:#fff!important;-webkit-text-fill-color:#fff!important;background:rgba(12,20,31,.76);border:1px solid rgba(255,255,255,.26);font-size:11px!important;font-weight:800!important}
/* Keep existing listings/sidebar and banner functionality while containing the legacy 100vw widths. */
.md-page .home-grid.location-grid{width:100%!important;max-width:100%!important;margin:0 0 14px!important;min-width:0!important;box-sizing:border-box}
.md-page .home-grid.location-grid > *{min-width:0!important}
.md-page .directory-head.location-head{padding:0!important;margin:0 0 8px!important}
.md-page .location-listing-block{scroll-margin-top:110px}
.md-page .location-listing-block .block-title{font-size:clamp(18px,1.5vw,23px)!important;line-height:1.25!important;color:#14263a!important;-webkit-text-fill-color:#14263a!important}
.md-page .md-guide{display:flex;flex-direction:column;gap:16px;max-width:none;width:100%;padding:clamp(16px,2.2vw,30px);margin:0 0 20px;background:linear-gradient(140deg,#111c2a,#182738 55%,#202b34);border-radius:21px;border:1px solid rgba(227,187,111,.25);box-shadow:0 18px 49px rgba(12,22,37,.13);color:#fff!important;scroll-margin-top:110px}
.md-page .md-guide h2,.md-page .md-guide h3{color:#f9fbff!important;-webkit-text-fill-color:#f9fbff!important;line-height:1.18!important;letter-spacing:-.025em!important;text-wrap:balance}
.md-page .md-guide h2{font-size:clamp(22px,2.1vw,32px)!important;font-weight:850!important;margin:0 0 9px!important}
.md-page .md-guide h3{font-size:17px!important;font-weight:800!important;margin:0 0 9px!important}
.md-page .md-guide p,.md-page .md-guide li,.md-page .md-guide figcaption{color:#dfe9f4!important;-webkit-text-fill-color:#dfe9f4!important;font-size:14.6px!important;line-height:1.75!important;font-weight:460!important;margin:0}
.md-page .md-guide p+p{margin-top:10px!important}
.md-page .md-guide a:not(.md-btn){color:#f9dba0!important;-webkit-text-fill-color:#f9dba0!important;text-decoration:underline!important;text-underline-offset:3px}
.md-page .md-guide strong.md-keyword{display:inline;color:#ffe0a0!important;-webkit-text-fill-color:#ffe0a0!important;font-weight:800!important;padding:1px 3px;border-radius:3px;background:rgba(239,198,124,.12)}
.md-page .md-section-intro,.md-page .md-section-heading{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(280px,.85fr);gap:16px;align-items:end;padding:2px 2px 13px;border-bottom:1px solid rgba(255,255,255,.11)}
.md-page .md-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.md-page .md-facts>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px 15px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(245,214,160,.15)}
.md-page .md-facts span{color:#eec67d!important;-webkit-text-fill-color:#eec67d!important;font-size:20px!important}
.md-page .md-facts strong{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:13.5px!important;font-weight:820!important}
.md-page .md-facts small{color:#d5e1ec!important;-webkit-text-fill-color:#d5e1ec!important;font-size:12px!important;line-height:1.4!important}
.md-page .md-neighborhoods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.md-page .md-neighborhood{border-radius:14px;border:1px solid rgba(244,212,155,.16);background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.028));padding:17px 17px 18px;min-width:0;transition:transform .2s ease,border-color .2s ease}
.md-page .md-neighborhood:hover{transform:translateY(-3px);border-color:rgba(244,212,155,.44)}
.md-page .md-neighborhood>span{display:block;margin:0 0 8px;color:#efc67e!important;-webkit-text-fill-color:#efc67e!important;font-size:10px!important;font-weight:850!important;letter-spacing:.11em!important}
.md-page .md-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.md-page .md-panel{min-width:0;padding:20px 20px 22px;border:1px solid rgba(245,213,156,.16);border-radius:14px;background:rgba(255,255,255,.047)}
.md-page .md-editorial-photo{position:relative;margin:0;min-height:300px;border:1px solid rgba(239,200,130,.22);border-radius:14px;overflow:hidden;background:#485266 url('../images/madrid-skyline.svg') center/cover no-repeat}
.md-page .md-editorial-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.md-page .md-editorial-photo::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(6,12,22,.76));pointer-events:none}
.md-page .md-editorial-photo figcaption{position:absolute;z-index:1;bottom:15px;left:17px;right:17px;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12.5px!important}
.md-page .md-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.md-page .md-directory-grid>article{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(244,205,147,.19);border-radius:14px;padding:17px;background:rgba(255,255,255,.045)}
.md-page .md-directory-grid .md-icon{font-size:20px!important;color:#f1c781!important;-webkit-text-fill-color:#f1c781!important;margin:0 0 9px}
.md-page .md-directory-grid a{display:block;margin-top:auto;padding-top:13px;font-weight:800!important;font-size:13px!important}
.md-page .md-guide .md-disclaimer{padding:14px 18px;border-left:3px solid #e8bd73;border-radius:8px;background:rgba(255,255,255,.06);font-size:13px!important}
.md-page .md-guide .md-disclaimer strong{color:#fff!important;-webkit-text-fill-color:#fff!important}
.md-page .md-faqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.md-page .md-faqs details{padding:14px 17px;border:1px solid rgba(244,213,160,.20);border-radius:13px;background:rgba(255,255,255,.052);min-width:0}
.md-page .md-faqs summary{display:list-item;cursor:pointer;font-size:14px!important;font-weight:820!important;line-height:1.45!important;color:#fff!important;-webkit-text-fill-color:#fff!important;outline-offset:3px}
.md-page .md-faqs details[open] summary{margin-bottom:8px}
.md-page .md-faqs summary::marker{color:#edbf72}
.md-page .md-endcap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:21px;border-radius:15px;border:1px solid rgba(245,209,150,.24);background:linear-gradient(115deg,#243e50,#23364b,#3b323b)}
.md-page .md-endcap>div:first-child{min-width:260px;max-width:680px;flex:1 1 400px}
.md-page .md-end-actions{display:flex;flex-wrap:wrap;gap:8px}
.md-page .md-guide .md-source-note{font-size:11.5px!important;line-height:1.6!important;color:#bfcddb!important;-webkit-text-fill-color:#bfcddb!important}
.md-page .md-guide .md-source-note a{font-size:11.5px!important;color:#dbe6f0!important;-webkit-text-fill-color:#dbe6f0!important}
@media(max-width:1100px){.md-page .md-hero{grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr)}.md-page .md-hero-copy{padding:27px 24px}.md-page .md-neighborhoods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.md-page .md-hero{grid-template-columns:1fr}.md-page .md-hero-art{height:235px;min-height:235px}.md-page .md-hero-art-overlay{background:linear-gradient(0deg,rgba(6,12,22,.6),transparent 70%)}.md-page .md-section-intro,.md-page .md-section-heading{grid-template-columns:1fr}.md-page .md-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.md-page .md-directory-grid{grid-template-columns:1fr}}
@media(max-width:650px){body .city-directory-page.md-page{padding:9px 9px 23px!important}.md-page .md-hero{border-radius:15px}.md-page .md-hero-copy{padding:22px 17px}.md-page .md-hero h1{font-size:clamp(29px,8.2vw,44px)!important}.md-page .md-hero p{font-size:14px!important}.md-page .md-hero-notes{gap:7px 12px}.md-page .md-hero-notes span{font-size:11px!important}.md-page .md-hero-art{min-height:175px;height:175px}.md-page .md-hero-actions{margin:17px 0}.md-page .md-btn{width:100%}.md-page .md-guide{padding:14px;gap:14px;border-radius:15px}.md-page .md-guide p{font-size:14px!important}.md-page .md-neighborhoods,.md-page .md-split,.md-page .md-faqs{grid-template-columns:1fr}.md-page .md-neighborhood,.md-page .md-panel{padding:15px}.md-page .md-editorial-photo{min-height:205px}.md-page .md-endcap{padding:17px}.md-page .md-end-actions{width:100%}.md-page .md-guide .md-source-note{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.md-page .md-btn,.md-page .md-neighborhood{transition:none!important}.md-page .md-btn:hover,.md-page .md-neighborhood:hover{transform:none!important}}
