/* Miami Travel Plug preview. Standalone styles; not a WordPress drop-in.
   1 Tokens · 2 Base · 3 Shared navigation · 4 Buttons · 5 Homepage
   6 Cards · 7 Detail page · 8 Footer/dialog · 9 Responsive */
:root{--mtp-ink:#101820;--mtp-muted:#526575;--mtp-pink:#cf0066;--mtp-pink-dark:#b80058;--mtp-cyan:#40d5e7;--mtp-line:#dce5e9;--mtp-soft:#f4f7f8;--mtp-white:#fff;--mtp-radius:18px;--mtp-shadow:0 12px 38px #1433430b;--mtp-width:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--mtp-ink);background:white;font:16px/1.6 Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}svg{width:21px;height:21px;flex:none;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.5rem,4.2vw,3.6rem);font-weight:800}h2{font-size:clamp(1.9rem,3vw,2.55rem)}h3{font-size:1.2rem}p{color:var(--mtp-muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #00798c;outline-offset:5px}a:hover{text-decoration:none}.container{width:min(var(--mtp-width),calc(100% - 64px));margin-inline:auto}.section{padding-block:58px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:#425b6b;margin-bottom:15px}.small-note,.sample-label,.affiliate-note{font-size:.875rem;color:var(--mtp-muted)}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:14px;z-index:100}.skip-link:focus{top:10px}.preview-strip{text-align:center;background:#eaf9fb;color:#305461;font-size:.75rem;padding:5px 16px}.site-header{position:sticky;top:0;z-index:30;background:#fffffffa;border-bottom:1px solid var(--mtp-line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}[data-header]{display:contents}.brand img{width:185px;height:68px;object-fit:cover;object-position:center 46%}.main-nav{display:flex;align-items:center;gap:32px}.main-nav a{font-weight:700;font-size:.9rem;padding-block:13px}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--mtp-pink)}.main-nav .nav-cta{border:1px solid var(--mtp-pink);border-radius:30px;padding:11px 19px;background:var(--mtp-pink);color:white}.main-nav .nav-cta:hover{background:var(--mtp-pink-dark);color:white}.menu-toggle{display:none;border:1px solid var(--mtp-line);background:white;border-radius:50%;width:46px;height:46px;align-items:center;justify-content:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid transparent;border-radius:10px;background:var(--mtp-pink);color:white;font-size:.9375rem;font-weight:700;padding:13px 23px;line-height:1.4;transition:background .15s,transform .15s}.button:hover{background:var(--mtp-pink-dark)}.button.secondary{background:white;color:var(--mtp-ink);border-color:var(--mtp-line)}.button.secondary:hover{background:var(--mtp-soft)}.button.dark{background:var(--mtp-ink)}.button.dark:hover{background:#274d62}.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:.9375rem;min-height:44px}.text-link:hover{color:var(--mtp-pink)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:280px;padding-top:30px;gap:25px}.hero-copy{padding:12px 0}.hero h1 em{font-style:normal;color:var(--mtp-pink)}.hero-copy>p:not(.eyebrow){margin-top:20px;font-size:1rem}.hero-copy>.text-link{margin-top:13px}.hero-photo{position:relative;border-radius:22px;overflow:hidden;min-height:270px}.hero-photo img{width:100%;height:100%;position:absolute;object-position:78% center}.photo-caption{position:absolute;bottom:20px;left:20px;color:#fff;background:#123543e8;border-radius:5px;padding:7px 11px;letter-spacing:.08em;font-size:.6875rem;font-weight:700}.search-wrap{margin-top:25px}.search-panel{padding:20px 24px;border:1px solid var(--mtp-line);border-radius:var(--mtp-radius);box-shadow:var(--mtp-shadow);background:white}.search-heading{display:flex;align-items:center;gap:10px;font-size:.9375rem;margin-bottom:15px}.search-heading .icon{color:var(--mtp-pink)}.search-note{margin-left:auto;color:var(--mtp-muted);font-size:.875rem}.search-fields{display:grid;grid-template-columns:1.5fr 1fr auto;gap:14px;align-items:stretch}.search-field{border:1px solid #cbd9df;border-radius:10px;padding:8px 15px;display:flex;flex-direction:column;justify-content:center;min-width:0}.search-field>span{font-size:.75rem;font-weight:700;color:#4f6573}.search-field input,.search-field select{width:100%;border:0;padding:3px 0;background:white;color:var(--mtp-ink);min-height:31px;min-width:0}.search-field:focus-within{outline:2px solid #008094;outline-offset:2px}.search-field input:focus,.search-field select:focus{outline:0}.browse-line{display:flex;gap:20px;align-items:center;margin-top:17px;font-size:.875rem;flex-wrap:wrap}.browse-line>span{color:var(--mtp-muted)}.browse-line>a{border-bottom:1px solid #c5d7df;font-weight:700}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:9px}.section-heading>p{max-width:280px}.filter-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.chip{border:1px solid var(--mtp-line);border-radius:25px;background:white;padding:9px 18px;min-height:44px;color:var(--mtp-ink);font-size:.875rem}.chip.is-active{background:var(--mtp-ink);border-color:var(--mtp-ink);color:white}.chip:hover{border-color:var(--mtp-ink)}.results-count{margin-left:auto;color:var(--mtp-muted);font-size:.875rem}.listing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.listing-card{border:1px solid var(--mtp-line);border-radius:var(--mtp-radius);overflow:hidden;display:flex;flex-direction:column;background:white;box-shadow:0 3px 9px #19374904;transition:box-shadow .2s,transform .2s}.listing-card:hover{box-shadow:var(--mtp-shadow);transform:translateY(-3px)}.card-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.4}.card-image img{width:100%;height:100%}.card-category{position:absolute;bottom:12px;left:12px;background:white;padding:3px 10px;border-radius:5px;font-size:.75rem;font-weight:700}.card-content{padding:18px;display:flex;flex-direction:column;flex:1}.card-location{font-size:.8125rem;color:#486473;margin-bottom:9px;display:flex;gap:5px;align-items:center}.card-location svg{width:15px;height:15px}.card-content h3{line-height:1.25;letter-spacing:-.025em;font-size:1.18rem;min-height:3em}.card-content h3 a:hover{color:var(--mtp-pink)}.amenity-line{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 21px;font-size:.75rem;color:#455e6e}.amenity-line span{background:var(--mtp-soft);padding:3px 8px;border-radius:5px}.card-actions{margin-top:auto}.card-actions .button{width:100%}.card-detail{display:block;text-align:center;font-size:.875rem;font-weight:700;padding-top:12px;min-height:44px}.card-detail:hover{color:var(--mtp-pink)}.affiliate-note{margin-top:22px;max-width:820px}.empty-state{border:1px dashed #b6cbd5;background:var(--mtp-soft);text-align:center;padding:40px 20px;border-radius:18px}.empty-state p{margin:12px auto 20px;max-width:520px}.neighborhood-section{background:#f3f7f8;border-block:1px solid #e0eaed}.neighborhood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.neighborhood-card{padding:24px;background:white;border:1px solid #d3e9ed;border-radius:14px}.neighborhood-card:hover{border-color:#008797}.area-number{font-size:.75rem;letter-spacing:.055em;color:#526a79;font-weight:700}.neighborhood-card h3{font-size:1.55rem;margin:21px 0 12px}.neighborhood-card p{font-size:.875rem}.area-link{display:flex;justify-content:space-between;font-weight:700;font-size:.875rem;margin-top:26px;color:#007383}.neighborhood-section .small-note{margin-top:18px}.experience-banner{border-radius:20px;background:#fceaf3;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:40px}.experience-banner h2{font-size:2.1rem}.experience-banner p:not(.eyebrow){margin-top:16px;max-width:560px}.experience-banner .button{flex-shrink:0}
/* Hotel detail */
.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:.875rem;color:var(--mtp-muted);margin:25px 0}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.hotel-title-row{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.hotel-title-row h1{font-size:clamp(2rem,3.8vw,3.1rem);max-width:800px}.hotel-location{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:.9375rem}.location-tag{background:#e7f8fb;color:#006e7e;border-radius:5px;padding:4px 10px;font-weight:700;font-size:.8125rem}.gallery{display:grid;grid-template-columns:1.55fr 1fr;gap:10px;height:385px;border-radius:20px;overflow:hidden}.gallery button{padding:0;border:0;background:var(--mtp-soft);position:relative;overflow:hidden}.gallery img{width:100%;height:100%;transition:transform .3s}.gallery button:hover img{transform:scale(1.025)}.gallery-label{position:absolute;left:16px;bottom:16px;background:white;border-radius:8px;padding:9px 14px;color:var(--mtp-ink);font-weight:700;font-size:.875rem}.gallery-caption{font-size:.8125rem;margin:9px 0 0;color:var(--mtp-muted)}.detail-nav{display:flex;gap:30px;border-bottom:1px solid var(--mtp-line);margin-top:20px}.detail-nav a{font-weight:700;font-size:.9375rem;padding:15px 0}.detail-nav a:first-child{color:var(--mtp-pink);border-bottom:3px solid var(--mtp-pink)}.detail-nav a:hover{color:var(--mtp-pink)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:start;padding-block:35px 50px}.detail-section{padding:0 0 32px;margin-bottom:30px;border-bottom:1px solid var(--mtp-line)}.detail-section h2{font-size:1.8rem;margin-bottom:19px}.detail-section p+p{margin-top:15px}.detail-highlight{background:#eff9fa;border-left:3px solid var(--mtp-cyan);padding:15px 18px;border-radius:0 8px 8px 0;margin:22px 0}.detail-highlight strong{color:#006f7c}.amenity-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:13px}.amenity-grid li{display:flex;align-items:center;gap:12px;padding:12px;background:var(--mtp-soft);border-radius:9px}.amenity-grid svg{color:#00778a}.consider-list{margin:0;padding-left:20px;color:var(--mtp-muted)}.consider-list li+li{margin-top:12px}.location-panel{border:1px solid var(--mtp-line);border-radius:13px;padding:24px;background:var(--mtp-soft)}.location-panel p{margin:10px 0 18px}.booking-panel{position:sticky;top:111px;border:1px solid var(--mtp-line);border-top:4px solid var(--mtp-pink);border-radius:15px;padding:26px;box-shadow:var(--mtp-shadow)}.booking-panel h2{font-size:1.6rem;margin-bottom:12px}.booking-panel>.button{width:100%;margin-block:22px 12px}.booking-panel .booking-caption{font-size:.8125rem;text-align:center}.booking-panel .booking-benefits{border-top:1px solid var(--mtp-line);padding-top:18px;margin-top:22px;font-size:.875rem}.booking-panel .booking-benefits strong{display:block;margin-bottom:5px}.booking-panel .affiliate-note{font-size:.75rem;line-height:1.5}.mobile-booking{display:none}.more-stays{border-top:1px solid var(--mtp-line)}.more-stays .listing-grid{grid-template-columns:repeat(3,1fr)}
/* Shared footer and modal */
.site-footer{background:#101820;color:white;margin-top:5px;padding:45px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px}.footer-brand{font-size:1.6rem;font-weight:900;letter-spacing:-.045em;line-height:1.1}.footer-brand span{color:#50dce8}.footer-intro p{color:#bfd0d9;max-width:360px;font-size:.875rem;margin-top:17px}.footer-column strong{display:block;font-size:.875rem;margin-bottom:12px}.footer-column a{display:block;min-height:38px;color:#d5e1e7;font-size:.875rem}.footer-column a:hover{color:#67e7ed}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:35px;border-top:1px solid #38515e;padding-top:20px;font-size:.75rem;color:#bfced6}.footer-bottom p{color:inherit}dialog{width:min(600px,calc(100% - 32px));border:1px solid var(--mtp-line);border-radius:18px;padding:30px;color:var(--mtp-ink);box-shadow:0 20px 100px #0003;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0f283bbb}dialog h2{font-size:1.7rem;padding-right:25px}dialog p{margin-top:15px}.dialog-close{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:42px;height:42px;background:var(--mtp-soft);font-size:1.6rem;color:var(--mtp-ink)}.dialog-actions{margin-top:22px}.gallery-dialog{width:min(1000px,calc(100% - 32px));padding:55px 20px 20px}.gallery-dialog img{width:100%;max-height:70dvh;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px}.gallery-controls button{min-width:48px}.gallery-status{font-size:.875rem}
/* Responsive and accessibility */
@media(min-width:1500px){.hero{min-height:380px}}
@media(max-width:1050px){.main-nav{gap:20px}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image{aspect-ratio:1.7}.neighborhood-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 300px}.experience-banner{padding:30px;gap:25px}.hero h1{font-size:3rem}.hero-photo{min-height:310px}.hero-copy{padding:18px 0}.footer-grid{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:85px}.container{width:calc(100% - 36px)}.header-inner{height:72px}.brand img{width:150px;height:55px}.menu-toggle{display:flex}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:18px;border-bottom:1px solid var(--mtp-line);box-shadow:var(--mtp-shadow);align-items:stretch;gap:3px}.main-nav.is-open{display:flex;flex-direction:column}.main-nav a{padding:11px 14px}.main-nav .nav-cta{border-radius:8px;margin-top:5px}.preview-strip{font-size:.75rem}.hero{grid-template-columns:1fr;gap:15px;padding-top:18px}.hero-copy{padding:4px 0 0}.hero .eyebrow{margin-bottom:10px}.hero h1{font-size:2.55rem}.hero-copy>p:not(.eyebrow){margin-top:15px}.hero-copy>.text-link{display:none}.hero-photo{min-height:170px;border-radius:13px}.hero-photo img{object-position:80% 54%}.photo-caption{font-size:.625rem;bottom:12px;left:12px}.search-wrap{margin-top:18px}.search-panel{padding:17px;border-radius:13px}.search-heading{margin-bottom:12px}.search-note{display:none}.search-fields{grid-template-columns:1fr;gap:10px}.search-field{padding:7px 12px}.search-fields>.button{width:100%}.browse-line{gap:14px;font-size:.8125rem}.browse-line>span{display:none}.section{padding-block:36px}.section-heading{display:block;margin-bottom:18px}.section-heading>p{margin-top:12px}.section-heading .eyebrow{font-size:.6875rem}.section-heading h2{font-size:1.85rem}.filter-row{gap:7px}.chip{padding:8px 13px}.results-count{flex-basis:100%;margin-left:0;margin-top:5px}.listing-grid{gap:16px}.card-content{padding:15px}.card-content h3{font-size:1.1rem}.card-image{aspect-ratio:1.5}.amenity-line{margin:12px 0 17px}.neighborhood-card{padding:20px}.neighborhood-card h3{font-size:1.4rem}.neighborhood-card p br{display:none}.experience-banner{display:block;padding:25px}.experience-banner h2{font-size:1.9rem}.experience-banner .button{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-intro{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom p+p{margin-top:10px}.breadcrumbs{margin:18px 0;font-size:.8125rem}.hotel-title-row{margin-bottom:20px}.hotel-title-row h1{font-size:2.1rem}.hotel-title-row>.button{display:none}.hotel-location{font-size:.875rem;gap:10px}.gallery{height:270px;grid-template-columns:1fr}.gallery button+button{display:none}.gallery-label{font-size:.8125rem;left:12px;bottom:12px}.detail-nav{gap:20px;overflow-x:auto;white-space:nowrap}.detail-nav a{font-size:.875rem}.detail-layout{grid-template-columns:1fr;padding-top:26px;gap:0}.detail-section{margin-bottom:24px;padding-bottom:24px}.booking-panel{position:static;margin-top:0}.mobile-booking{display:flex;align-items:center;justify-content:space-between;gap:15px;position:fixed;bottom:0;left:0;right:0;z-index:35;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--mtp-line);box-shadow:0 -5px 25px #1433430d}.mobile-booking p{font-size:.75rem}.mobile-booking strong{display:block;font-size:.875rem}.mobile-booking .button{padding-inline:22px}.hotel-page{padding-bottom:92px}.more-stays .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.more-stays .listing-card:last-child{display:none}}
@media(max-width:500px){.listing-grid,.more-stays .listing-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.65}.card-content h3{min-height:0;font-size:1.3rem}.card-actions{display:flex;align-items:center;gap:14px;flex-direction:row-reverse}.card-actions .button{width:auto;flex:1}.card-detail{padding:10px 0;flex:1}.amenity-line{font-size:.8125rem}.neighborhood-grid{grid-template-columns:1fr 1fr;gap:10px}.neighborhood-card{padding:16px}.area-number{font-size:.625rem}.neighborhood-card p{font-size:.8125rem}.area-link{font-size:.8125rem;gap:8px}.amenity-grid{grid-template-columns:1fr}.detail-nav{gap:19px}.mobile-booking .button{font-size:.875rem}.desktop-break{display:none}.gallery-controls .button{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.listing-card:hover{transform:none}}

.spaced-note{margin-top:15px}.location-description{margin-top:18px}

/* About page: shared header/footer, no separate component system. */
.about-intro { position:relative; isolation:isolate; display:flex; align-items:center; min-height:490px; overflow:hidden; background:#101820; text-align:center; }
.about-intro::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#08152280,#081522b3); }
.about-intro::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#40d5e7 40%,var(--mtp-pink)); }
.about-hero-content { padding-block:65px; }
.about-intro .about-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; border-radius:0; z-index:-2; }
.about-intro h1 { font-size:clamp(2.8rem,5vw,4.5rem); color:white; max-width:900px; margin-inline:auto; text-wrap:balance; }
.about-lead { font-size:1.15rem; margin:24px auto 30px; max-width:620px; color:#f3f7fa; text-wrap:pretty; }

.about-copy { max-width:800px; padding-bottom:60px; }
.about-copy h2 { font-size:2rem; margin:30px 0 18px; }
.about-copy p { margin-bottom:18px; }
@media (min-width:761px) and (max-width:1050px) { .main-nav {gap:14px;} .main-nav a {font-size:.8125rem;} .main-nav .nav-cta {padding:9px 12px;} .header-inner {gap:14px;} .brand img {width:150px;} }
@media (max-width:760px) { .about-intro {min-height:440px;} .about-hero-content {padding-block:48px;} .about-lead {font-size:1rem;} .about-copy h2 {font-size:1.75rem;} }
/* Photo neighborhood cards and pink brand accents, shared across pages. */
.neighborhood-card {position:relative;isolation:isolate;padding:0;border:0;border-radius:16px;overflow:hidden;min-height:250px;background:#431d35;box-shadow:0 6px 18px #421c3010;}
.neighborhood-card::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,#160c19e6 100%);z-index:-1;}
.neighborhood-card img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s ease;}
.neighborhood-caption {position:absolute;bottom:22px;left:20px;right:20px;padding-right:24px;}
.neighborhood-card h3 {color:white;font-size:1.4rem;letter-spacing:-.03em;margin:0 0 7px;}
.neighborhood-card p {color:#ffebf5;font-size:.8125rem;line-height:1.4;}
.neighborhood-arrow {position:absolute;right:0;bottom:5px;color:#ffadd3;font-size:1.5rem;transition:transform .25s;}
.neighborhood-card:hover img,.neighborhood-card:focus-visible img {transform:scale(1.055);}
.neighborhood-card:hover .neighborhood-arrow {transform:translate(3px,-3px);}
.footer-logo {display:block;width:215px;height:86px;overflow:hidden;background:white;border-radius:12px;}
.footer-logo img {width:215px;height:86px;object-fit:cover;object-position:center 46%;}
.footer-column a:hover {color:#ffadd3;}
.main-nav a:not(.nav-cta) {position:relative;}
.main-nav a:not(.nav-cta)::after {content:'';position:absolute;bottom:6px;left:0;width:100%;height:2px;background:var(--mtp-pink);transform:scaleX(0);transition:transform .2s;}
.main-nav a:not(.nav-cta):hover::after {transform:scaleX(1);}
.listing-card:hover {border-color:#8fcdd8;box-shadow:0 14px 35px #122c3a16;}
.card-image img {transition:transform .4s;}
.listing-card:hover .card-image img {transform:scale(1.035);}
.button {box-shadow:0 4px 12px #b0005010;}
.button:hover {transform:translateY(-1px);}
.detail-highlight {background:#eefafd;border-left-color:var(--mtp-cyan);}
.detail-highlight strong,.amenity-grid svg {color:#087589;}
@media(max-width:760px) {
  .neighborhood-card {min-height:205px;}
  .neighborhood-caption {left:14px;right:12px;bottom:16px;padding-right:0;}
  .neighborhood-card h3 {font-size:1.15rem;}
  .neighborhood-card p {font-size:.75rem;}
  .neighborhood-arrow {display:none;}
}
@media(prefers-reduced-motion:reduce) {
  .neighborhood-card:hover img,.neighborhood-card:focus-visible img,.listing-card:hover .card-image img,.button:hover,.neighborhood-card:hover .neighborhood-arrow {transform:none;}
}

/* Shared listing cards: compact content, full-width photos, quiet surfaces. */
.mtp-card {border:1px solid #e4e9ec;border-radius:18px;background:#fff;box-shadow:0 5px 18px #122c3a09;overflow:hidden;padding:0;transition:box-shadow .2s,border-color .2s;align-self:stretch;}
.mtp-card:hover {border-color:#b9dce2;box-shadow:0 9px 25px #122c3a16;transform:none;}
.mtp-card-photo {flex-shrink:0;position:relative;display:block;aspect-ratio:1.6;overflow:hidden;background:#e8f0f3;}
.mtp-card-photo::after {content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#091d3240);pointer-events:none;}
.mtp-card-photo img {width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.mtp-card:hover .mtp-card-photo img {transform:scale(1.035);}
.mtp-card-type {position:absolute;left:12px;bottom:12px;z-index:1;padding:5px 10px;background:#fffffff5;border-radius:6px;color:#173542;font-size:.75rem;font-weight:700;line-height:1.4;box-shadow:0 2px 8px #122c3a12;}
.mtp-card-body {display:flex;flex-direction:column;flex:1;padding:16px;}
.mtp-card-location {display:flex;align-items:center;gap:5px;font-size:.8125rem;color:#526b78;line-height:1.4;margin:0 0 6px;}
.mtp-card-location svg {width:14px;height:14px;flex-shrink:0;color:#08788c;}
.mtp-card h3 {font-size:1.1875rem;line-height:1.3;letter-spacing:-.025em;font-weight:700;margin:0;min-height:2.6em;}
.mtp-card h3 a:hover {color:var(--mtp-pink);}
.mtp-hotel-class {display:flex;margin-top:7px;}
.mtp-stars {display:inline-flex;gap:2px;color:#b5740b;}
.mtp-stars svg {width:14px;height:14px;fill:currentColor;stroke-width:1;}
.mtp-half-star {width:7px;overflow:hidden;display:inline-flex;}
.mtp-half-star svg {flex-shrink:0;}
.mtp-card-features {display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:12px 0 0;padding:0;font-size:.75rem;line-height:1.4;color:#425b68;}
.mtp-card-features li {display:flex;align-items:center;gap:5px;padding:5px 7px;background:#f1f7f8;border-radius:5px;}
.mtp-card-features svg {width:15px;height:15px;flex-shrink:0;stroke-width:1.6;color:#167b8d;}
.mtp-duration {display:flex;align-items:center;gap:7px;margin-top:12px;color:#365765;font-size:.875rem;}
.mtp-duration svg {width:18px;height:18px;color:#08788c;}
.mtp-card-actions {display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;gap:8px;margin-top:auto;padding-top:16px;border:0;}
.mtp-card-detail {display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:9px 7px;border:1px solid #d6e2e6;border-radius:8px;font-size:.8125rem;font-weight:700;color:#284956;line-height:1.3;}
.mtp-card-detail:hover {background:#eff8fa;border-color:#8cc6d1;}
.mtp-card-book {font-size:.8125rem;min-height:44px;padding:10px 8px;border-radius:8px;white-space:nowrap;gap:6px;}
.mtp-card-book:hover {transform:none;}
@media(max-width:760px){.mtp-card-body{padding:14px}.mtp-card h3{font-size:1.125rem}.mtp-card-photo{aspect-ratio:1.55}}
@media(prefers-reduced-motion:reduce){.mtp-card:hover .mtp-card-photo img{transform:none}}
.neighborhood-section {margin-top:36px;}

/* Plain category badges; no GeoDirectory category colors requested. */
.mtp-card-subtype {position:absolute;right:12px;bottom:12px;z-index:1;padding:5px 10px;background:#fffffff5;border-radius:6px;color:#173542;font-size:.75rem;font-weight:700;line-height:1.4;box-shadow:0 2px 8px #122c3a12;}

/* Equal rows preserve space for shorter content without clipping longer titles. */
.listing-grid,.neighborhood-grid {grid-auto-rows:1fr;}

/* Hotel detail: class, address map, nearby activities, and booking reassurance. */
.detail-hotel-class {display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;color:#536773;}
.detail-hotel-class [data-hotel-class] {display:inline-flex;gap:2px;color:#b5740b;}
.detail-hotel-class svg {width:15px;height:15px;fill:currentColor;}
.hotel-street {flex-basis:100%;color:#536773;}
.hotel-map {overflow:hidden;border:1px solid #d9e5e9;border-radius:14px 14px 0 0;background:#eef5f7;}
.hotel-map iframe {display:block;width:100%;height:350px;border:0;}
.hotel-map + .location-panel {border-top:0;border-radius:0 0 14px 14px;padding:20px;}
.booking-confidence {display:flex;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--mtp-line);}
.confidence-shield {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:42px;border-radius:10px;background:#eaf4ff;color:#1873cb;}
.confidence-shield svg {width:25px;height:29px;fill:#1873cb10;}
.booking-confidence strong {display:block;font-size:.9375rem;margin-bottom:5px;}
.booking-confidence p {font-size:.8125rem;line-height:1.6;}
.nearby-activities {display:grid;grid-auto-rows:1fr;gap:12px;}
.nearby-activity {display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid #e1e9ed;border-radius:12px;padding:12px;background:white;}
.nearby-photo {display:block;align-self:stretch;min-height:100px;overflow:hidden;border-radius:8px;position:relative;}
.nearby-photo img {position:absolute;width:100%;height:100%;object-fit:cover;}
.nearby-activity h3 {font-size:1rem;line-height:1.35;margin:4px 0 8px;}
.nearby-activity h3 a:hover {color:var(--mtp-pink);}
.nearby-area {font-size:.75rem;color:#607480;}
.nearby-activity .nearby-duration {display:flex;align-items:center;gap:6px;font-size:.8125rem;margin:0;color:#536773;}
.nearby-duration svg {width:16px;height:16px;color:#08788c;}
.nearby-link {display:inline-flex;gap:5px;align-items:center;min-height:44px;color:var(--mtp-pink);font-size:.8125rem;font-weight:700;}
@media(max-width:760px){.hotel-map iframe{height:290px}.nearby-activity{grid-template-columns:82px minmax(0,1fr);gap:12px}.nearby-link{grid-column:2;min-height:36px;margin-top:-10px}.nearby-photo{grid-row:1/3}.hotel-street{font-size:.8125rem}}

/* Preserve readable spacing for the original GeoDirectory description. */
#overview h3 {font-size:1.125rem;margin:24px 0 10px;}
#overview ul {padding-left:22px;margin:0 0 20px;color:var(--mtp-muted);line-height:1.7;}
#overview li + li {margin-top:10px;}
#overview li strong {color:var(--mtp-ink);}

/* Activity variant reuses the hotel detail components. */
.activity-gallery {grid-template-columns:1fr;height:420px;}
.activity-gallery img {object-position:center 55%;}
.detail-duration {display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:#365765;}
.detail-duration svg {width:18px;height:18px;color:#08788c;}
@media(max-width:760px){.activity-gallery{height:270px}}

.gallery-controls [hidden] {display:none;}

/* The same photo frame and fact-row spacing on home, archives, and neighborhoods. */
.mtp-card-photo img{position:absolute;inset:0;}
.mtp-hotel-class{min-height:14px;}
.mtp-duration{min-height:22.4px;}

/* Plain shared footer disclosure. */
.site-footer .footer-affiliate{margin:24px 0 0;padding:18px 0 0;border-top:1px solid #dbe2e6;font-size:.9375rem;line-height:1.7;color:inherit;font-style:normal}
.footer-affiliate a{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:normal}
