/* /assets/css/main.css */
:root{--color-primary: #3b82f6;--color-primary-dk: #2563eb;--color-primary-lt: #eff6ff;--color-secondary: #f59e0b;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-dark: #1e293b;--color-mid: #64748b;--color-light: #f1f5f9;--color-white: #ffffff;--color-bg: #f8fafc;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-base: 16px;--line-height: 1.6;--container-max: 1200px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--shadow-sm: 0 2px 4px rgba(0,0,0,.02);--shadow-md: 0 4px 12px rgba(0,0,0,.04);--shadow-lg: 0 12px 24px rgba(0,0,0,.06);--shadow-soft: 0 8px 30px rgba(0,0,0,.04);--shadow-hover: 0 20px 40px rgba(0,0,0,.08);--transition: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-dark);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dk)}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.page-padding{padding-top:40px;padding-bottom:60px}.text-center{text-align:center}.text-muted{color:var(--color-mid)}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mb-3{margin-bottom:16px}h1,h2,h3,h4{font-weight:700;line-height:1.2;color:var(--color-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all var(--transition);text-decoration:none}.btn--primary{background-color:var(--color-primary);color:var(--color-white);box-shadow:0 4px 6px -1px #3b82f666}.btn--primary:hover{background-color:var(--color-primary-dk);color:var(--color-white);transform:translateY(-2px);box-shadow:0 10px 15px -3px #3b82f666}.btn--outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn--outline:hover{background-color:var(--color-primary-lt);transform:translateY(-2px)}.header{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.8);position:sticky;top:0;z-index:1000;height:72px;display:flex;align-items:center}.header__inner{width:100%;max-width:1400px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.header__left{display:flex;align-items:center;justify-content:flex-start}.header__center{display:flex;align-items:center;justify-content:center;gap:32px}.header__right{display:flex;align-items:center;justify-content:flex-end;gap:20px}.logo{font-size:1.5rem;font-weight:800;color:#3b82f6;letter-spacing:-.5px;text-decoration:none}.nav-links a{font-size:15px;font-weight:500;color:#64748b;text-decoration:none;transition:color .2s ease}.nav-links a:hover{color:#0f172a}.btn--sm{padding:10px 24px;font-size:14px;border-radius:20px}.hero{padding:120px 0;background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:var(--color-white);position:relative}.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--color-bg),transparent)}.hero h1{font-size:3.5rem;margin-bottom:24px;color:var(--color-white);letter-spacing:-1px}.hero p{font-size:1.25rem;margin-bottom:48px;opacity:.9;font-weight:400}.search-bar{display:flex;max-width:650px;margin:0 auto;background:var(--color-white);border-radius:var(--radius-md);padding:8px;box-shadow:0 20px 25px -5px #0003;position:relative;z-index:10}.search-bar input{flex:1;border:none;padding:16px 24px;font-size:1.1rem;outline:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-dark)}.search-bar .btn{padding:16px 40px;border-radius:calc(var(--radius-md) - 4px);font-size:1.1rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;margin-top:32px}.card{background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition);display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.05)}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.card__img{position:relative;height:220px;width:100%;overflow:hidden}.card__img img,.card__img-placeholder{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.card:hover .card__img img{transform:scale(1.05)}.badge{position:absolute;top:16px;right:16px;background:var(--color-primary);color:var(--color-white);padding:6px 12px;border-radius:30px;font-size:.8rem;font-weight:600;box-shadow:0 2px 4px #0003;z-index:2}.card__content{padding:24px;display:flex;flex-direction:column;flex:1}.card__content h3{font-size:1.25rem;margin-bottom:8px}.card__content h3 a{color:var(--color-dark)}.card__content h3 a:hover{color:var(--color-primary)}.card__city{color:var(--color-mid);font-size:.95rem;margin-bottom:16px;display:flex;align-items:center}.card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid var(--color-light)}.stars{color:var(--color-warning);font-weight:600}.distance{color:var(--color-mid);font-size:.9rem}.place-hero{height:400px;position:relative;background:var(--color-dark)}.place-hero__img,.place-hero__placeholder{width:100%;height:100%;object-fit:cover;opacity:.6}.place-hero__overlay{position:absolute;bottom:0;left:0;right:0;padding:60px 0 40px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:var(--color-white)}.place-hero__overlay h1{color:var(--color-white);font-size:3rem;margin:16px 0 8px}.place-layout{display:grid;grid-template-columns:2fr 1fr;gap:40px}.place-main{background:var(--color-white);padding:40px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05)}.place-sidebar .sidebar-box{background:var(--color-white);padding:32px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.05);position:sticky;top:100px}.pet-policy-box{background:var(--color-primary-lt);padding:24px;border-radius:var(--radius-sm);border-left:4px solid var(--color-primary)}.pet-policy-box ul{list-style:none}.pet-policy-box li{margin-bottom:12px;font-size:1.05rem}.map-container-full{display:flex;height:calc(100vh - 80px);width:100%}.map-sidebar{width:400px;background:var(--color-white);box-shadow:2px 0 10px #0000000d;z-index:10;display:flex;flex-direction:column;padding:24px}.map-results{flex:1;overflow-y:auto;margin-top:16px;padding-right:8px}.map-wrapper{flex:1;background:#e5e5e5;z-index:1}.map-popup{display:flex;flex-direction:column;width:200px}.map-popup img{width:100%;height:120px;object-fit:cover;border-radius:4px 4px 0 0}.map-popup__body{padding:12px}.map-popup h3{font-size:1rem;margin-bottom:4px}.footer{position:relative;background:#f8fafc;padding:80px 40px 32px;color:var(--color-text-secondary, #64748b);margin-top:60px;overflow:hidden;border-top:none}.footer:before,.footer:after{content:"";position:absolute;background:#eff6ff;border-radius:50%;z-index:0;pointer-events:none}.footer:before{width:250px;height:250px;top:-120px;left:-80px}.footer:after{width:350px;height:350px;bottom:-150px;right:-100px}.footer .section__inner{max-width:1080px;margin:0 auto;width:100%;position:relative;z-index:1}.footer__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:64px;gap:64px}.footer__brand{max-width:300px;text-align:left}.footer__logo{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:700;color:var(--color-text-primary, #0f172a);letter-spacing:-.03em;margin-bottom:12px}.footer__logo-img{height:56px;width:auto;object-fit:contain}.footer__title{font-size:20px;font-weight:700;color:var(--color-text-primary, #0f172a);margin:16px 0 8px;line-height:1.3}.footer__tagline{font-size:15px;color:var(--color-text-secondary, #64748b);line-height:1.6;margin-bottom:24px}.footer__socials{display:flex;gap:16px}.footer__socials a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #e2e8f0;color:var(--color-text-primary, #0f172a);transition:all .2s ease}.footer__socials a:hover{background:var(--color-primary-lt, #eff6ff);color:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);transform:translateY(-2px)}.footer__nav{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;flex:1;text-align:left}.footer__col-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #0f172a);text-transform:uppercase;letter-spacing:.05em;margin-bottom:20px}.footer__links{display:flex;flex-direction:column;gap:16px}.footer__link{font-size:15px;color:var(--color-text-secondary, #64748b);text-decoration:none;transition:color .15s}.footer__link:hover{color:var(--color-primary, #3b82f6)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border-tertiary, #e2e8f0);padding-top:32px;flex-wrap:wrap;gap:24px}.footer__copy{font-size:14px;color:var(--color-text-secondary, #64748b)}.footer__legal-links{display:flex;gap:24px}.footer__legal-links a{font-size:14px;color:var(--color-text-secondary, #64748b);text-decoration:none;transition:color .15s}.footer__legal-links a:hover{color:var(--color-primary, #3b82f6)}.footer__selectors{display:flex;gap:16px}.footer__select-wrapper{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-secondary, #64748b)}.footer__select-wrapper svg{color:var(--color-text-secondary, #64748b)}.footer__select{-webkit-appearance:none;appearance:none;background:transparent;border:none;font-size:14px;color:var(--color-text-secondary, #64748b);font-family:inherit;font-weight:500;cursor:pointer;outline:none}.footer__select:hover{color:var(--color-text-primary, #0f172a)}@media (max-width: 900px){.footer__nav{gap:24px}}@media (max-width: 768px){.footer{padding:48px 20px 80px;text-align:center}.footer__top{flex-direction:column;gap:40px;align-items:center}.footer__brand{max-width:100%;text-align:center;display:flex;flex-direction:column;align-items:center}.footer__logo,.footer__socials{justify-content:center}.footer__nav{grid-template-columns:1fr;gap:32px;width:100%;text-align:center}.footer__bottom{flex-direction:column;align-items:center;gap:24px;text-align:center}.footer__legal-links{justify-content:center;flex-wrap:wrap;gap:16px}.footer__selectors{align-items:center;justify-content:center;width:100%;flex-direction:column;gap:12px}.footer__select-wrapper{justify-content:center;width:100%}}#tab-politica .policy-list>.policy-row:not(.policy-row--detail){height:82px;min-height:82px;box-sizing:border-box}#tab-politica .policy-list .policy-left{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;column-gap:12px;min-width:0}#tab-politica .policy-list .policy-left>svg,#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-left>svg,#tab-politica .policy-row--detail .policy-left>svg{display:block;box-sizing:border-box;width:40px;height:40px;margin:0;padding:10px}#tab-politica .policy-list .policy-label{display:block;min-height:0;margin:0;padding:0;color:#26344a;font-size:14px;font-weight:700;line-height:1.3}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-right{display:flex;align-items:center;justify-content:center;min-width:92px;min-height:34px;box-sizing:border-box;gap:6px;padding:7px 11px}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-right>svg{width:15px;height:15px}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-val{display:block;line-height:1;white-space:nowrap}#tab-politica .policy-row--detail .policy-right>svg{display:none}#tab-politica .policy-row--restrictions,#tab-politica .policy-list>.policy-row--restrictions{display:block;padding:20px 22px 22px;border-color:#e4eaf2!important}#tab-politica .policy-row--restrictions .policy-left,#tab-politica .policy-list>.policy-row--restrictions .policy-left{width:100%;padding:0 0 15px;border-bottom:1px solid #EDF1F6}#tab-politica .policy-row--restrictions .policy-left>svg{background:#fff3e8}#tab-politica .policy-row--restrictions .policy-right,#tab-politica .policy-list>.policy-row--restrictions .policy-right{display:block;width:100%;margin-top:16px}#tab-politica .policy-row--restrictions .policy-detail-kicker{margin:0 0 11px;color:#8290a5}#tab-politica .policy-row--restrictions .policy-detail-content li{min-height:44px;box-sizing:border-box;padding:11px 13px 11px 33px}#tab-politica .policy-row--restrictions .policy-detail-content li:before{top:9px}#tab-politica .policy-row--restrictions .policy-right>.policy-val{display:block;width:100%;padding:16px 18px;border-radius:13px;color:#3b4a60!important;background:#f7f9fc;font-size:14px;font-weight:500;line-height:1.75;text-align:left}#tab-politica .policy-row--fee,#tab-politica .policy-list>.policy-row--fee{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:24px;min-height:82px;padding:16px 22px;border-color:#dce8fa!important;background:linear-gradient(100deg,#fff,#f4f8ff)}#tab-politica .policy-row--fee .policy-left{width:auto;padding:0}#tab-politica .policy-row--fee .policy-left>svg{background:#fff3e8}#tab-politica .policy-row--fee .policy-left .policy-label{padding:0;white-space:nowrap}#tab-politica .policy-row--fee .policy-right{display:flex;width:100%;margin:0}#tab-politica .policy-row--fee .policy-fee-content{min-height:50px;box-sizing:border-box;padding:10px 16px}#tab-politica .policy-row--fee .policy-right>.policy-val{display:flex;align-items:center;min-height:50px;width:100%;box-sizing:border-box;padding:10px 16px;border:1px solid #DBEAFE;border-radius:13px;color:#1d4ed8!important;background:#eff6ff;font-size:15px;font-weight:750;line-height:1.35;text-align:left}@media (max-width: 768px){#tab-politica .policy-list>.policy-row:not(.policy-row--detail){height:76px;min-height:76px}#tab-politica .policy-list .policy-left{grid-template-columns:40px minmax(0,1fr)}#tab-politica .policy-row--restrictions{display:block;padding:17px!important}#tab-politica .policy-row--restrictions .policy-left{padding-bottom:13px}#tab-politica .policy-row--restrictions .policy-right{margin-top:13px}#tab-politica .policy-row--restrictions .policy-detail-content li{min-height:0}#tab-politica .policy-row--fee{display:grid;grid-template-columns:1fr;gap:12px;padding:17px!important}#tab-politica .policy-row--fee .policy-left .policy-label{white-space:normal}#tab-politica .policy-row--fee .policy-fee-content{align-items:flex-start}}.policy-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:24px 26px;overflow:hidden;border:1px solid #D9E7FF;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eef5ff 58%,#ecfdf5)}.policy-intro__eyebrow{display:inline-flex;align-items:center;gap:7px;color:#2563eb;font-size:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.policy-intro__eyebrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.policy-intro h2{margin:7px 0 5px;color:#0f172a;font-size:24px;letter-spacing:-.025em}.policy-intro p{max-width:650px;margin:0;color:#52627a;font-size:14px;line-height:1.6}.policy-intro__date{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(37,99,235,.12);border-radius:12px;color:#64748b;background:#ffffffb3;font-size:11px;line-height:1.35;text-align:right}.policy-intro__date strong{color:#0f172a;font-size:12px}#tab-politica .policy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#tab-politica .policy-list>.policy-row:not(.policy-row--detail){min-height:78px;margin:0;padding:17px 18px;border:1px solid #E4EAF2;border-radius:16px;background:#fff;box-shadow:0 7px 20px #0f172a09}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-left{gap:11px}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-left>svg{box-sizing:content-box;flex:0 0 auto;width:20px;height:20px;padding:9px;border-radius:12px;background:#f1f5f9;stroke:#52627a}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-label{color:#334155;font-size:14px;font-weight:650}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-right{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#f8fafc}#tab-politica .policy-list>.policy-row:not(.policy-row--detail) .policy-val{font-size:13px;font-weight:750}#tab-politica .policy-val.val-unknown{color:#64748b}#tab-politica .policy-row--detail{grid-column:1 / -1;margin:0;padding:22px;border:1px solid #E2E8F0!important;background:#fff;box-shadow:0 8px 24px #0f172a0a}#tab-politica .policy-row--detail .policy-left{align-items:flex-start;padding-top:1px}#tab-politica .policy-row--detail .policy-left>svg{box-sizing:content-box;width:20px;height:20px;padding:9px;border-radius:12px;background:#fff7ed;stroke:#ea580c}#tab-politica .policy-row--detail .policy-left .policy-label{padding-top:10px;color:#0f172a;font-weight:750}.policy-detail-content{width:100%}.policy-detail-kicker{display:block;margin-bottom:10px;color:#64748b;font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.policy-detail-content ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:0;padding:0;list-style:none}.policy-detail-content li{position:relative;padding:10px 12px 10px 31px;border-radius:11px;color:#334155;background:#f8fafc;font-size:13px;font-weight:500;line-height:1.55}.policy-detail-content li:before{content:"\2022";position:absolute;left:13px;top:9px;color:#f97316;font-size:18px;font-weight:800}.policy-consult{display:block;padding:12px 14px;border-radius:11px;color:#64748b!important;background:#f8fafc}.policy-fee-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:18px;padding:14px 16px;border:1px solid #DBEAFE;border-radius:13px;background:#eff6ff}.policy-fee-content span{color:#64748b;font-size:12px}.policy-fee-content strong{color:#1d4ed8;font-size:15px;text-align:right}#tab-politica .policy-warning-box{margin-top:16px;border-color:#e0e7ff;background:linear-gradient(90deg,#eef2ff,#f5f7ff)}@media (max-width: 768px){.policy-intro{align-items:flex-start;padding:20px;border-radius:16px}.policy-intro h2{font-size:21px}.policy-intro__date{display:none}#tab-politica .policy-list{grid-template-columns:1fr;padding:0;background:transparent}#tab-politica .policy-list>.policy-row:not(.policy-row--detail){min-height:70px;padding:14px}#tab-politica .policy-row--detail{padding:17px!important}#tab-politica .policy-row--detail .policy-left{padding:0}#tab-politica .policy-row--detail .policy-left .policy-label{padding-top:10px}.policy-detail-content ul{grid-template-columns:1fr;gap:8px}.policy-fee-content{align-items:flex-start;flex-direction:column;gap:4px}.policy-fee-content strong{text-align:left}}@media (max-width: 768px){.hero h1{font-size:2.2rem}.place-layout{grid-template-columns:1fr}.map-container-full{flex-direction:column-reverse}.map-sidebar{width:100%;height:50vh}.map-wrapper{height:50vh}.header__inner{display:flex;justify-content:space-between;padding:0 20px}.header__center{display:none}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 24px #0f172a14;z-index:9999;padding:24px;border-top:1px solid rgba(15,23,42,.05);animation:slideUp .4s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-banner__inner{max-width:var(--container-max);margin:0 auto;display:flex;flex-direction:column;gap:20px}@media (min-width: 1024px){.cookie-banner__inner{flex-direction:row;align-items:center;justify-content:space-between}}.cookie-banner__content{flex:1}.cookie-banner__title{font-size:18px;font-weight:700;color:var(--color-dark);margin-bottom:8px;display:flex;align-items:center;gap:8px}.cookie-banner__text{font-size:14px;color:var(--color-mid);line-height:1.6}.cookie-banner__actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-banner__btn{padding:10px 20px;font-size:14px}.cookie-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}.cookie-modal[hidden]{display:none}.cookie-modal__overlay{position:absolute;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cookie-modal__box{position:relative;background:#fff;width:100%;max-width:560px;border-radius:var(--radius-md);box-shadow:0 24px 48px #0f172a1f;display:flex;flex-direction:column;max-height:90vh;animation:modalScale .3s cubic-bezier(.16,1,.3,1)}@keyframes modalScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cookie-modal__header{padding:24px;border-bottom:1px solid var(--color-light);display:flex;align-items:center;justify-content:space-between}.cookie-modal__title{font-size:20px;font-weight:700;color:var(--color-dark);margin:0}.cookie-modal__close{background:none;border:none;color:var(--color-mid);cursor:pointer;padding:4px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.cookie-modal__close:hover{background:var(--color-light);color:var(--color-dark)}.cookie-modal__body{padding:24px;overflow-y:auto}.cookie-modal__desc{font-size:14px;color:var(--color-mid);margin-bottom:24px;line-height:1.6}.cookie-option{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--color-light)}.cookie-option:last-child{border-bottom:none;padding-bottom:0}.cookie-option__info{flex:1}.cookie-option__title{font-size:15px;font-weight:600;color:var(--color-dark);margin-bottom:4px}.cookie-option__desc{font-size:13px;color:var(--color-mid);line-height:1.5}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;margin-top:2px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-slider.disabled{cursor:not-allowed;background-color:var(--color-primary);opacity:.6}.cookie-modal__footer{padding:24px;border-top:1px solid var(--color-light);display:flex;justify-content:flex-end}.cookie-modal__btn-save{width:100%}@media (min-width: 640px){.cookie-modal__btn-save{width:auto}}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#fff;width:100%;box-shadow:0 24px 48px #00000026;transform:translateY(20px) scale(.95);transition:all .3s ease;display:flex;flex-direction:column;overflow:hidden}.modal-overlay.active .modal-content{transform:translateY(0) scale(1)}.modal-content--premium{max-width:720px;border-radius:24px;background:#fff;box-shadow:0 20px 40px -10px #0000001a,0 0 20px #00000008;border:1px solid rgba(0,0,0,.05)}.modal-handle{display:none}@media (max-width: 640px){.modal-overlay{align-items:flex-end;padding:0}.modal-content--premium{border-radius:28px 28px 0 0;max-height:90vh;box-shadow:0 -10px 40px #0000001a;border:none}.modal-handle{display:block;width:40px;height:4px;background:#fff6;border-radius:2px;margin:-8px auto 16px}.modal-header{padding:20px 24px 24px!important}.modal-body--premium{padding:32px 24px 24px!important}.modal-close-premium{top:20px!important;right:20px!important}}.modal-header{padding:32px 40px 24px;border-bottom:none;display:block;text-align:center;position:relative;flex-shrink:0;background-color:#1d4ed8;border-radius:24px 24px 0 0}@media (max-width: 640px){.modal-header{border-radius:28px 28px 0 0}}.modal-header>div{display:flex;flex-direction:column;align-items:center}.modal-title-premium{font-size:24px;font-weight:800;color:#fff;margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:12px;letter-spacing:-.02em}.title-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff3;color:#fff;border-radius:50%;flex-shrink:0}.modal-subtitle{font-size:14px;color:#ffffffe6;margin:0 auto;line-height:1.5;max-width:90%}.modal-close-premium{position:absolute;top:32px;right:40px;background:transparent;border:1px solid rgba(255,255,255,.3);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s;flex-shrink:0}.modal-close-premium:hover{background:#ffffff1a;border-color:#ffffff80;transform:rotate(90deg)}.modal-body--premium{padding:40px 40px 32px;flex:1;overflow-y:auto}.form-group--premium{margin-bottom:32px}.form-group--premium>label{display:block;font-size:16px;font-weight:700;color:#1e293b;margin-bottom:16px;text-align:center;letter-spacing:-.01em}.star-rating-input--huge{display:flex;justify-content:center;flex-direction:row-reverse;gap:16px;margin:16px 0}.star-rating-input--huge svg{width:56px;height:56px;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 640px){.star-rating-input--huge svg{width:48px;height:48px}}.star-rating-input--huge input{display:none}.star-rating-input--huge label{color:#cbd5e1;fill:#f8fafc;cursor:pointer;transition:all .2s}.star-rating-input--huge label:hover svg,.star-rating-input--huge label:hover~label svg{transform:scale(1.15)}.star-rating-input--huge label:hover,.star-rating-input--huge label:hover~label,.star-rating-input--huge input:checked~label{color:#2563eb;fill:#3b82f6}.star-rating-hint{font-size:14px;color:#64748b;margin-top:12px;text-align:center;display:block;font-weight:500}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:transparent}.segmented-option input{display:none}.segmented-inner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 12px;background:#f8fafc;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:15px;font-weight:600;color:#475569;border:1px solid #E2E8F0;border-radius:16px;cursor:pointer}.segmented-inner svg{width:24px;height:24px}.segmented-option:hover .segmented-inner{border-color:#cbd5e1;background:#f1f5f9;transform:translateY(-2px);box-shadow:0 4px 12px #0000000a}.segmented-option input:checked+.segmented-inner--ok{border-color:#10b981;background:#f0fdf4;color:#065f46;box-shadow:0 0 0 4px #10b9811a;transform:translateY(0)}.segmented-inner--ok svg{color:#10b981}.segmented-option input:checked+.segmented-inner--no{border-color:#ef4444;background:#fef2f2;color:#991b1b;box-shadow:0 0 0 4px #ef44441a;transform:translateY(0)}.segmented-inner--no svg{color:#ef4444}.segmented-option input:checked+.segmented-inner--neutral{border-color:#64748b;background:#f8fafc;color:#1e293b;box-shadow:0 0 0 4px #64748b1a;transform:translateY(0)}.segmented-inner--neutral svg{color:#64748b}.review-step{display:none}.review-step.active{display:block}.mobile-only-footer{margin-top:32px;margin-bottom:8px}.desktop-only-btn{display:none!important}.mobile-only-btn{display:inline-flex!important}.modal-overlay[data-step="1"] #review-footer-desktop{display:none}.form-row--premium{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}@media (max-width: 640px){.form-row--premium{grid-template-columns:1fr}}.form-row--premium .form-group--premium{margin-bottom:0}.custom-select-wrapper{position:relative;width:100%}.custom-select--premium{width:100%;-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:16px 16px 16px 44px;font-size:15px;color:#1e293b;outline:none;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #00000005}.custom-select--premium:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.custom-select-leading-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.custom-select-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:#64748b}.custom-textarea--premium{width:100%;border:1px solid #E2E8F0;border-radius:16px;padding:16px;font-size:15px;outline:none;resize:vertical;min-height:80px;font-family:inherit;transition:all .2s;background:#f8fafc;color:#1e293b}.custom-textarea--premium:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.textarea-counter{text-align:right;font-size:12px;color:#94a3b8;margin-top:8px}.modal-footer-wrapper{border-top:1px solid #F1F5F9;flex-shrink:0}.modal-secure-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-size:12px;color:#64748b;background:#f8fafc}.modal-secure-notice svg{color:#94a3b8}.modal-footer--premium{padding:20px 32px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff}@media (max-width: 640px){.modal-footer--premium{padding:16px 24px 24px}}.btn-modal-cancel{background:transparent;border:none;color:#475569;font-weight:600;padding:14px 24px;border-radius:12px;cursor:pointer;font-size:16px;flex:1;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-modal-cancel:hover{background:#f1f5f9;color:#0f172a}.btn-modal-submit{background:#2563eb;border:none;color:#fff;font-weight:600;padding:14px 24px;border-radius:12px;cursor:pointer;font-size:16px;flex:1.5;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 14px #2563eb33}.btn-modal-submit:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 20px #2563eb4d}@media (max-width: 768px){.place-detail{padding-bottom:100px}.place-tabs-nav{margin:0 -20px;padding:0 20px}.w-50{width:100%}.pr-2,.pl-2{padding:0}.sidebar-card{margin-bottom:40px}}.place-detail-page{background-color:#f7f9fc;min-height:100vh;min-height:100dvh;font-family:Inter,sans-serif;color:#0f172a;overflow-x:hidden;width:100%;box-sizing:border-box}@media (max-width: 768px){.place-detail-page{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}}.place-main-layout{max-width:100%;margin:0;padding:0 40px}.place-hero{position:relative;border-radius:0 24px 24px 0;overflow:hidden;min-height:240px;display:flex;flex-direction:column;justify-content:center;padding-top:0;padding-bottom:12px;margin-top:0;margin-left:-40px;width:calc(100% + 40px)}@media (max-width: 768px){html,body{overflow-x:hidden!important;width:100%!important;max-width:100%!important;margin:0!important}.place-detail-page *,.place-detail-page *:before,.place-detail-page *:after{box-sizing:border-box!important}.place-hero{border-radius:0;margin:-16px -16px 0;width:calc(100% + 32px)!important;max-width:calc(100% + 32px)!important;padding:24px 16px 40px;min-height:200px;justify-content:flex-end;box-sizing:border-box}.place-hero__rating-row,.hide-on-mobile{display:none!important}.place-hero__title{margin-bottom:0!important;font-size:28px;word-break:break-word;line-height:1.2}}.place-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.place-hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,#061a3af2,#061a3a99,#061a3a1a),linear-gradient(to top,#061a3ae6,#061a3a00 70%);z-index:2}.place-hero__content{padding:0 32px 0 72px;margin:0 auto;position:relative;z-index:3;width:100%;max-width:1280px;color:#fff}@media (max-width: 768px){.place-hero__content{padding:0;text-align:left}}.place-hero__chips-top{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.chip-location,.chip-category{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.2)}.place-hero__title{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.1;margin:0 0 16px;letter-spacing:-.02em;max-width:900px}.place-hero__rating-row{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.rating-badge-inline{display:flex;align-items:center;gap:6px;font-size:16px}.rating-badge-inline strong{font-weight:700;font-size:16px}.rating-badge-inline .stars{display:flex;align-items:center;margin-top:-2px}.rating-badge-inline .reviews-count{font-size:14px;font-weight:400;opacity:.8;margin-left:4px}.btn-hero-review{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:100px;padding:6px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-hero-review:hover{background:#ffffff40;border-color:#fff}.place-hero__pet-chips{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.pet-chip{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:100px;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pet-chip--no{opacity:.5}.place-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.btn-hero-primary,.btn-hero-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;cursor:pointer}.btn-hero-primary{background-color:#2563eb;color:#fff;border:1px solid #2563EB}.btn-hero-primary:hover{background-color:#1d4ed8}.btn-hero-secondary{background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-hero-secondary:hover{background-color:#fff3;border-color:#fff}@media (max-width: 768px){.place-main-layout{margin:0 auto!important;padding:16px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important;display:flex;flex-direction:column;align-items:center}.place-columns{width:100%!important;max-width:100%!important;margin:0 auto}}.mobile-hero-ctas,.mobile-accordion-header{display:none}.premium-mobile-ctas{background-color:#112d64;display:flex;flex-direction:row;padding:24px 20px;gap:20px;color:#fff;margin-bottom:24px}@media (min-width: 769px){.premium-mobile-ctas{display:none!important}}@media (max-width: 768px){.mobile-hero-ctas.premium-mobile-ctas{display:flex;flex-direction:column;margin:16px auto 24px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;align-items:stretch;border-radius:16px;box-shadow:0 8px 24px #112d6426;padding:20px!important;gap:16px}}.premium-mobile-ctas-left{flex:auto;display:flex;flex-direction:column;align-items:center;text-align:center;border-right:none;border-bottom:1px solid rgba(255,255,255,.15);padding-right:0;padding-bottom:16px}.premium-mobile-ctas-left .btn-premium-outline-mobile{width:100%}.premium-mobile-ctas-right{flex:1;display:flex;flex-direction:column;justify-content:center}.mobile-rating-score{display:flex;align-items:center;gap:6px;font-size:28px;font-weight:800;line-height:1;margin-bottom:4px}.mobile-rating-text{font-size:13px;font-weight:500;margin-bottom:12px;color:#ffffffe6}.mobile-rating-stars{display:flex;gap:4px;margin-bottom:16px}.btn-premium-outline-mobile{background:#ffffff0d;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:12px;padding:10px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;cursor:pointer;box-sizing:border-box}.btn-premium-outline-mobile:hover{background:#ffffff26}.btn-premium-primary-mobile{background-color:#2563eb;color:#fff;border:none;border-radius:12px;padding:12px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;width:100%;box-sizing:border-box}.btn-premium-primary-mobile:hover{background-color:#1d4ed8}.premium-mobile-ctas-row{display:flex;gap:12px}.summary-cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;margin-top:-32px;position:relative;z-index:10;padding:0 16px}@media (max-width: 1024px){.summary-cards-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.summary-cards-row{margin:0 auto!important;padding:0!important;gap:12px;grid-template-columns:repeat(2,1fr);width:100%!important;max-width:100%!important;box-sizing:border-box!important}.summary-card{padding:12px;gap:10px;border-radius:12px;box-sizing:border-box!important;width:100%!important;margin:0!important}.summary-icon{width:36px;height:36px;padding:8px}.summary-label{font-size:12px;margin-bottom:2px}.summary-val{font-size:14px}.mobile-accordion-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:8px;font-weight:600;color:#0f172a;font-size:15px;cursor:pointer;transition:all .2s ease;box-sizing:border-box}.mobile-accordion-header svg{color:#64748b;flex-shrink:0}.mobile-accordion-header span{flex:1;text-align:left;white-space:normal;word-break:break-word;margin-right:8px}.mobile-accordion-header.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.mobile-accordion-header.active svg{color:#2563eb}.mobile-accordion-header .chevron{transition:transform .3s ease}.mobile-accordion-header.active .chevron{transform:rotate(180deg)}.tab-content{display:none;margin-bottom:24px;padding:8px 4px;box-sizing:border-box;width:100%}.tab-content.mobile-open{display:block!important;animation:fadeIn .3s ease}}@media (max-width: 640px){.summary-cards-row{grid-template-columns:repeat(2,1fr)}}.summary-card{background:#fff;border-radius:20px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 12px #0f172a08;border:1px solid #E5EAF2;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a0f}.summary-icon{color:#2563eb;flex-shrink:0;background:#eff6ff;padding:12px;border-radius:12px;width:44px;height:44px;box-sizing:border-box}.summary-text{display:flex;flex-direction:column}.summary-label{font-size:13px;color:#64748b;margin-bottom:4px;font-weight:500}.summary-val{font-size:15px;font-weight:700;color:#0f172a}.summary-val.val-ok{color:#10b981}.summary-val.val-no{color:#ef4444}.summary-val.val-blue{color:#2563eb}.place-columns{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0}@media (max-width: 1024px){.place-columns{grid-template-columns:1fr}}.content-card{background:#fff;border-radius:24px;padding:32px;box-shadow:0 4px 12px #0f172a05;border:1px solid #E5EAF2;position:relative;overflow:hidden}#seccion-principal{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important;margin-top:40px!important}@media (max-width: 768px){.content-card{margin:0 auto!important;padding:16px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;border-radius:16px}}.content-card-title{font-size:20px;font-weight:700;margin:0 0 20px;color:#0f172a}.content-card-tabs{display:flex;gap:24px;border-bottom:1px solid #E5EAF2;margin-bottom:24px;overflow-x:auto;scrollbar-width:none}.content-card-tabs::-webkit-scrollbar{display:none}@media (max-width: 768px){.content-card-tabs{display:none!important}}.tab-link{display:flex;align-items:center;gap:8px;padding:0 0 16px;font-size:15px;font-weight:600;color:#64748b;text-decoration:none;border:none;background:none;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;cursor:pointer}.tab-link:hover{color:#0f172a}.tab-link.active{color:#2563eb;border-bottom-color:#2563eb}.tab-content{display:none;animation:fadeInTab .3s ease}.tab-content.active{display:block}@keyframes fadeInTab{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.policy-list{display:flex;flex-direction:column}.policy-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #F1F5F9}.policy-row:last-child{border-bottom:none;padding-bottom:0}.policy-label{font-size:15px;color:#475569;font-weight:500}.policy-val{font-size:15px;font-weight:600;text-align:right}@media (max-width: 768px){.policy-row{flex-direction:column;align-items:flex-start;gap:4px;padding:12px 0}.policy-val{text-align:left;width:100%;word-break:break-word}}.policy-warning-box{display:flex;align-items:flex-start;gap:12px;background:#eef2ff;padding:16px;border-radius:12px;border:1px solid #E0E7FF;margin-top:24px}.policy-warning-box p{margin:0;font-size:14px;color:#3730a3;line-height:1.5;font-weight:500}.place-description{font-size:15px;line-height:1.6;color:#334155;position:relative}.place-description p{margin:0 0 16px}.place-description p:last-child{margin:0}.bg-icon{position:absolute;right:-20px;bottom:-20px;color:#0f172a08;transform:rotate(-10deg);z-index:0;pointer-events:none}.bg-icon svg{width:120px;height:120px}.place-about-intro{position:relative;overflow:hidden;padding:30px 32px;margin-bottom:24px;border:1px solid #DBEAFE;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eff6ff 58%,#f0fdfa)}.place-about-intro h2{margin:7px 0 12px;color:#0f172a;font-size:26px;line-height:1.2;letter-spacing:-.025em}.place-about-intro .place-description{max-width:850px;font-size:16px;line-height:1.75}.place-about-intro .place-description p{position:relative;z-index:1}.place-about-kicker,.place-info-eyebrow{color:#2563eb;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.place-about-kicker{display:flex;align-items:center;gap:8px}.place-about-kicker span{width:20px;height:3px;border-radius:9px;background:#2563eb}.place-information{display:grid;gap:24px;color:#334155}.place-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.place-info-card,.place-info-section,.place-sources{border:1px solid #E2E8F0;border-radius:20px;background:#fff;box-shadow:0 10px 30px #0f172a0b}.place-info-card{padding:22px}.place-info-section,.place-sources{padding:24px}.place-info-heading,.place-section-heading,.place-sources-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.place-info-heading{justify-content:flex-start;margin-bottom:18px}.place-info-heading h3,.place-section-heading h3,.place-sources-heading h3{margin:3px 0 0;color:#0f172a;font-size:19px;line-height:1.25}.place-info-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px}.place-info-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.place-info-icon--blue{color:#2563eb;background:#eff6ff}.place-info-icon--mint{color:#059669;background:#ecfdf5}.place-contact-list{display:grid;gap:8px}.place-contact-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:11px 12px;color:#0f172a;text-decoration:none;border-radius:12px;background:#f8fafc;transition:background .2s,transform .2s}.place-contact-link:hover{background:#eff6ff;transform:translate(2px)}.place-contact-link>span{flex:0 0 auto;color:#64748b;font-size:13px}.place-contact-link strong{min-width:0;overflow-wrap:anywhere;color:#1d4ed8;font-size:14px;text-align:right}.place-contact-link strong span{color:inherit}.place-hours-list{margin:0}.place-hours-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:7px 2px;border-bottom:1px dashed #E2E8F0}.place-hours-row:last-child{border-bottom:0}.place-hours-row dt{color:#475569;font-size:14px;text-transform:capitalize}.place-hours-row dd{margin:0;color:#0f172a;font-size:14px;font-weight:650;text-align:right}.place-info-note{margin:12px 0 0;color:#94a3b8;font-size:12px}.place-section-heading{margin-bottom:18px}.place-section-count{padding:6px 10px;border-radius:999px;color:#475569;background:#f1f5f9;font-size:12px;font-weight:650;white-space:nowrap}.place-amenities{display:flex;flex-wrap:wrap;gap:10px}.place-amenity{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #DCE7F5;border-radius:999px;color:#334155;background:#f8fbff;font-size:13px;font-weight:600}.place-amenity svg{width:15px;height:15px;fill:none;stroke:#10b981;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.place-social-links{display:flex;flex-wrap:wrap;gap:10px}.place-social-links a{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;color:#1d4ed8;background:#eff6ff;border-radius:11px;font-size:14px;font-weight:650;text-decoration:none}.place-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.place-photo-card{margin:0;overflow:hidden;border:1px solid #E2E8F0;border-radius:15px;background:#f8fafc}.place-photo-card img{display:block;width:100%;height:180px;object-fit:cover}.place-photo-card figcaption{padding:9px 11px;color:#64748b;font-size:11px;line-height:1.45}.place-external-rating{display:flex;align-items:center;gap:14px;padding:18px 22px;border:1px solid #FDE68A;border-radius:18px;background:#fffbeb}.place-rating-star{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#d97706;background:#fef3c7;font-size:22px}.place-external-rating div{display:grid;flex:1}.place-external-rating div>span,.place-external-rating small{color:#78716c;font-size:12px}.place-external-rating strong{color:#0f172a;font-size:20px}.place-external-rating>a{color:#92400e;font-size:13px;font-weight:700;text-decoration:none}.place-sources{background:#f8fafc;box-shadow:none}.place-sources-heading{margin-bottom:15px}.place-verified-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;color:#047857;background:#d1fae5;font-size:12px;font-weight:700}.place-verified-badge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5}.place-source-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.place-source-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 12px;border:1px solid #E2E8F0;border-radius:12px;color:#0f172a;background:#fff;font-size:13px;text-decoration:none}.place-source-domain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.place-source-action{flex:0 0 auto;color:#2563eb}.place-sources-note,.place-location-credit{margin:14px 0 0;color:#64748b;font-size:12px;line-height:1.55}.place-location-credit{margin-top:4px}.policy-row--detail{align-items:flex-start;gap:20px;margin-top:12px;padding:18px 20px;border:1px solid #E2E8F0!important;border-radius:16px;background:#f8fafc}.policy-row--detail+.policy-row--detail{margin-top:10px}.policy-row--detail .policy-left{flex:0 0 145px}.policy-row--detail .policy-right{width:auto;min-width:0;flex:1;align-items:flex-start}.policy-row--detail .policy-val{width:100%;color:#334155!important;font-size:14px;font-weight:550;line-height:1.65;text-align:left;overflow-wrap:anywhere}.policy-row--detail .policy-right>svg{flex:0 0 auto;margin-top:4px}@media (max-width: 768px){.place-about-intro{padding:24px 20px;margin-bottom:18px;border-radius:16px}.place-about-intro h2{font-size:23px}.place-about-intro .place-description{font-size:15px;line-height:1.7}.place-information{gap:18px}.place-info-grid{grid-template-columns:1fr}.place-info-card,.place-info-section,.place-sources{padding:20px;border-radius:16px}.place-contact-link{align-items:flex-start;flex-direction:column;gap:3px}.place-contact-link strong{text-align:left}.place-section-heading,.place-sources-heading{align-items:flex-start}.place-external-rating{flex-wrap:wrap}.place-external-rating>a{margin-left:56px}.policy-row--detail{flex-direction:column;align-items:flex-start;gap:9px;padding:16px}.policy-row--detail .policy-left{flex:none}.policy-row--detail .policy-right{width:100%}}.reviews-summary-block{display:flex;align-items:center;gap:32px;background:#f8fafc;padding:24px;border-radius:16px;border:1px solid #E5EAF2}@media (max-width: 640px){.reviews-summary-block{flex-direction:column;align-items:center;text-align:center;gap:20px}}.reviews-avg-display{display:flex;flex-direction:column;align-items:center;border-right:1px solid #E2E8F0;padding-right:32px;min-width:140px}@media (max-width: 640px){.reviews-avg-display{border-right:none;border-bottom:1px solid #E2E8F0;padding-right:0;padding-bottom:20px;width:100%}}.avg-number{font-size:48px;font-weight:800;line-height:1;color:#0f172a}.avg-stars{margin:8px 0 4px}.avg-text{font-size:13px;color:#64748b}.first-review-cta{display:flex;flex-direction:column;align-items:flex-start;gap:16px}@media (max-width: 640px){.first-review-cta{align-items:center}}.first-review-icon{width:48px;height:48px;background:#eff6ff;border-radius:12px;display:flex;align-items:center;justify-content:center}.first-review-text{display:flex;flex-direction:column;gap:4px}.first-review-text strong{font-size:16px;color:#0f172a}.first-review-text span{font-size:14px;color:#64748b}.place-col-right{margin-top:0;width:calc(100% + 40px)}@media (max-width: 768px){.place-col-right{display:none}}.sticky-sidebar{position:sticky;top:80px}.sidebar-card{background:#fff;border-radius:24px;padding:32px;box-shadow:0 12px 32px #0f172a0a;border:1px solid #E5EAF2;position:relative;overflow:hidden}.premium-sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:#0f172a;border-radius:24px 24px 0 0}.sidebar-address{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:#334155;line-height:1.5;margin-bottom:24px}.sidebar-address svg{color:#64748b;flex-shrink:0;margin-top:2px}.sidebar-grid-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-outline-primary{background:#fff;color:#2563eb;border:1px solid #2563EB}.btn-outline-primary:hover{background:#eff6ff}.btn-outline-gray{background:#fff;color:#334155;border:1px solid #E2E8F0}.btn-outline-gray:hover{background:#f8fafc;border-color:#cbd5e1}.w-100{width:100%}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.sidebar-rating-mini{background:#f8fafc;padding:20px;border-radius:16px;border:1px solid #F1F5F9;display:flex;flex-direction:column;align-items:center;text-align:center}.rating-mini-score{display:flex;align-items:center;gap:6px;font-size:28px;font-weight:800;color:#0f172a;line-height:1}.rating-mini-text{font-size:13px;color:#64748b;margin-top:4px}.rating-mini-stars{display:flex;gap:2px;align-items:center}.verified-info-block{display:flex;align-items:flex-start;gap:12px;background:#eff6ff;padding:16px;border-radius:16px;border:1px solid #DBEAFE;margin-top:24px;position:relative}.verified-icon{color:#3b82f6;flex-shrink:0;margin-top:2px}.verified-text{display:flex;flex-direction:column;gap:2px}.verified-text strong{font-size:14px;color:#1e3a8a}.verified-text span{font-size:13px;color:#60a5fa;line-height:1.4}.verified-check{position:absolute;top:16px;right:16px}@media (max-width: 768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}.show-on-mobile.mobile-tabs-bar,.show-on-mobile.mobile-actions-row,.show-on-mobile.mobile-actions-block,.show-on-mobile.mobile-rating-card{display:flex!important}.show-on-mobile.place-hero__top-nav{display:flex!important;justify-content:space-between!important}.show-on-mobile.summary-cards-row{display:grid!important}.place-main-layout{padding:0!important;background-color:#061a3a}.place-columns{display:block!important}.place-hero{position:relative;width:100%!important;max-width:100%!important;border-radius:0;margin:0!important;padding:0!important;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.place-hero__overlay{background:linear-gradient(to bottom,#061a3a66,#061a3a1a 40%,#061a3acc)}.place-hero__top-nav{position:absolute;top:env(safe-area-inset-top,20px);left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px;z-index:10;box-sizing:border-box}.btn-hero-icon{background:#ffffffe6;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0f172a;box-shadow:0 4px 12px #0000001a;cursor:pointer}.place-hero__top-actions{display:flex;gap:12px}.place-hero__content{position:absolute;bottom:32px;left:0;padding:0 16px;z-index:10;width:100%;box-sizing:border-box}.mobile-main-card{background:#fff;border-radius:24px 24px 0 0;position:relative;margin-top:-24px;z-index:15;padding:24px 16px 40px;min-height:500px;width:100%;box-sizing:border-box;box-shadow:0 -4px 16px #0000000d}.mobile-place-title{font-size:24px;font-weight:800;color:#0f172a;margin:0 0 8px;line-height:1.2;font-family:Inter,sans-serif}.mobile-rating-summary{display:flex;align-items:center;gap:6px;margin-bottom:24px;color:#64748b;font-size:14px}.mobile-rating-summary .score{color:#0f172a;font-weight:700;font-size:15px}.summary-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px!important;padding:0!important}.summary-card{padding:16px;border-radius:16px;flex-direction:column;align-items:flex-start;gap:12px;border:1px solid #F1F5F9;box-shadow:0 2px 8px #0f172a05}.summary-icon{width:32px;height:32px;padding:6px;background:#f8fafc;border-radius:8px;color:#4f46e5}.summary-label{font-size:12px;color:#64748b;margin-bottom:2px}.summary-val{font-size:14px;font-weight:700}.summary-val.val-ok{color:#10b981}.summary-val.val-no{color:#ef4444}.mobile-actions-block{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.btn-action-primary{background-color:#061a3a;color:#fff;border-radius:12px;padding:14px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center;width:100%;box-sizing:border-box}.btn-action-secondary{background:#fff;border:1px solid #E2E8F0;color:#0f172a;border-radius:12px;padding:12px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;flex:1}.mobile-actions-row{display:flex;gap:12px}.mobile-rating-card{background:#fff;border:1px solid #F1F5F9;border-radius:16px;padding:20px;display:flex;gap:24px;box-shadow:0 2px 12px #0f172a08;margin-bottom:32px}.rating-card-left{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:90px}.rating-big-score{font-size:40px;font-weight:800;line-height:1;color:#0f172a;display:flex;align-items:center;gap:4px}.rating-word{font-size:13px;color:#64748b;margin:4px 0 8px}.rating-total-stars{display:flex;gap:2px;margin-bottom:4px}.rating-total-count{font-size:12px;color:#94a3b8}.rating-card-right{flex:1;display:flex;flex-direction:column;justify-content:space-between}.rating-bar-row{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}.bar-track{flex:1;height:4px;background:#f1f5f9;border-radius:2px;overflow:hidden}.bar-fill{height:100%;background:#0f172a;border-radius:2px}.bar-pct{min-width:24px;text-align:right}.mobile-tabs-bar{display:flex;justify-content:center;gap:16px;border-bottom:1px solid #F1F5F9;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mobile-tabs-bar::-webkit-scrollbar{display:none}.mobile-tab-btn{background:none;border:none;padding:0 0 12px;font-size:15px;font-weight:600;color:#64748b;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}.mobile-tab-btn.active{color:#061a3a;border-bottom-color:#4f46e5}.content-card{padding:0!important;border:none!important;box-shadow:none!important;background:transparent!important}.policy-list{background:#f8fafc;border-radius:16px;padding:4px 16px;margin-bottom:16px}.policy-row{display:flex;justify-content:space-between;align-items:center;flex-direction:row;padding:16px 0;border-bottom:1px solid #F1F5F9;gap:12px}.policy-row:last-child{border-bottom:none}.policy-left{display:flex;align-items:center;gap:12px}.policy-label{font-size:15px;color:#334155;font-weight:500}.policy-right{display:flex;align-items:center;gap:8px}.policy-val{font-size:14px;text-align:right}.policy-val.val-ok{color:#10b981}.policy-val.val-no{color:#ef4444}.policy-val.val-blue{color:#4f46e5}.policy-warning-box{display:flex;align-items:flex-start;gap:12px;background:#eef2ff;padding:16px;border-radius:12px;border:1px solid #E0E7FF}.policy-warning-box p{margin:0;font-size:13px;color:#3730a3;line-height:1.5}}@media (min-width: 769px){.hide-on-desktop,.show-on-mobile,.place-hero__top-nav{display:none!important}}.review-list-compact{display:flex;flex-direction:column;gap:16px;margin-top:24px}.review-item-compact{background:#fff;border:1px solid #F1F5F9;border-radius:20px;padding:24px;box-shadow:0 8px 24px #0f172a0a,0 1px 3px #0f172a05;transition:transform .2s ease,box-shadow .2s ease;margin-bottom:20px}.review-item-compact:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0f172a14,0 2px 6px #0f172a0a}.review-item__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.review-item__user{display:flex;align-items:center;gap:14px}.review-item__avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;border:2px solid #FFFFFF;box-shadow:0 2px 8px #2563eb26}.review-item__meta h5{margin:0 0 4px;font-size:16px;font-weight:700;color:#0f172a;line-height:1.2}.review-item__meta span{font-size:13px;color:#64748b;font-weight:500}.review-item__rating-stars{display:flex;gap:2px;background:#f8fafc;padding:6px 10px;border-radius:100px;border:1px solid #F1F5F9}.review-item__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.review-item__tag{background:#f8fafc;border:1px solid #E2E8F0;color:#475569;font-size:13px;font-weight:600;padding:6px 14px;border-radius:100px;display:inline-flex;align-items:center;transition:background .2s}.review-item__tag:hover{background:#f1f5f9}.review-item__tag.tag-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.review-item__text{margin:0;font-size:15px;color:#334155;line-height:1.7}#tab-politica .policy-list .policy-left{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:center!important;column-gap:12px!important}#tab-politica .policy-list .policy-left>svg{display:block!important;box-sizing:border-box!important;width:40px!important;height:40px!important;margin:0!important;padding:10px!important}#tab-politica .policy-list .policy-left .policy-label{align-self:center!important;min-height:0!important;margin:0!important;padding:0!important;line-height:1.3!important}#tab-politica .policy-list>.policy-row:not(.policy-row--detail){height:82px!important;min-height:82px!important;box-sizing:border-box!important}#tab-politica .policy-row--restrictions{display:block!important;padding:20px 22px 22px!important}#tab-politica .policy-row--restrictions .policy-left{width:100%!important;padding:0 0 15px!important;border-bottom:1px solid #EDF1F6}#tab-politica .policy-row--restrictions .policy-right{display:block!important;width:100%!important;margin:16px 0 0!important}#tab-politica .policy-row--fee{display:grid!important;grid-template-columns:minmax(190px,240px) minmax(0,1fr)!important;align-items:center!important;gap:24px!important;min-height:82px!important;padding:16px 22px!important}#tab-politica .policy-row--fee .policy-left,#tab-politica .policy-list>.policy-row--fee .policy-left{width:auto!important;padding:0!important}#tab-politica .policy-row--fee .policy-left .policy-label,#tab-politica .policy-list>.policy-row--fee .policy-left .policy-label{white-space:nowrap}#tab-politica .policy-row--fee .policy-right,#tab-politica .policy-list>.policy-row--fee .policy-right{display:flex!important;width:100%!important;margin:0!important}#tab-politica .policy-row--detail .policy-right>svg{display:none!important}@media (max-width: 768px){#tab-politica .policy-list>.policy-row:not(.policy-row--detail){height:76px!important;min-height:76px!important}#tab-politica .policy-row--restrictions,#tab-politica .policy-list>.policy-row--restrictions{display:block!important;padding:17px!important}#tab-politica .policy-row--restrictions .policy-left,#tab-politica .policy-list>.policy-row--restrictions .policy-left{padding:0 0 13px!important}#tab-politica .policy-row--restrictions .policy-right,#tab-politica .policy-list>.policy-row--restrictions .policy-right{margin-top:13px!important}#tab-politica .policy-row--fee,#tab-politica .policy-list>.policy-row--fee{grid-template-columns:1fr!important;gap:12px!important;padding:17px!important}#tab-politica .policy-row--fee .policy-left .policy-label,#tab-politica .policy-list>.policy-row--fee .policy-left .policy-label{white-space:normal}}@media (max-width: 768px){.policy-list .policy-row--detail{flex-direction:column;align-items:flex-start;gap:9px;padding:16px}.policy-list .policy-row--detail .policy-left{flex:none}.policy-list .policy-row--detail .policy-right{width:100%;align-items:flex-start}.policy-list .policy-row--detail .policy-val{width:100%;text-align:left}}#tab-politica .policy-list>.policy-row--restrictions{display:block!important;padding:20px 22px 22px!important}#tab-politica .policy-list>.policy-row--restrictions .policy-left{width:100%!important;padding:0 0 15px!important;border-bottom:1px solid #EDF1F6}#tab-politica .policy-list>.policy-row--restrictions .policy-right{display:block!important;width:100%!important;margin:16px 0 0!important}#tab-politica .policy-list>.policy-row--restrictions .policy-right>.policy-val{display:block;width:100%;box-sizing:border-box;padding:16px 18px;border-radius:13px;color:#3b4a60!important;background:#f7f9fc;font-size:14px;font-weight:500;line-height:1.75;text-align:left}#tab-politica .policy-list>.policy-row--fee{display:grid!important;grid-template-columns:minmax(190px,240px) minmax(0,1fr)!important;align-items:center!important;gap:24px!important;min-height:82px!important;padding:16px 22px!important}#tab-politica .policy-list>.policy-row--fee .policy-left{width:auto!important;padding:0!important}#tab-politica .policy-list>.policy-row--fee .policy-left .policy-label{white-space:nowrap}#tab-politica .policy-list>.policy-row--fee .policy-right{display:flex!important;width:100%!important;margin:0!important}#tab-politica .policy-list>.policy-row--fee .policy-right>.policy-val{display:flex;align-items:center;min-height:50px;width:100%;box-sizing:border-box;padding:10px 16px;border:1px solid #DBEAFE;border-radius:13px;color:#1d4ed8!important;background:#eff6ff;font-size:15px;font-weight:750;line-height:1.35;text-align:left}@media (max-width: 768px){#tab-politica .policy-list>.policy-row--restrictions{padding:17px!important}#tab-politica .policy-list>.policy-row--restrictions .policy-left{padding-bottom:13px!important}#tab-politica .policy-list>.policy-row--restrictions .policy-right{margin-top:13px!important}#tab-politica .policy-list>.policy-row--fee{grid-template-columns:1fr!important;gap:12px!important;padding:17px!important}#tab-politica .policy-list>.policy-row--fee .policy-left .policy-label{white-space:normal}}
/* /assets/css/header.css */
.site-header{background:#fff;border-bottom:1px solid rgba(15,23,42,.05);box-shadow:0 4px 12px #0f172a05;position:sticky;top:0;z-index:200}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 40px;max-width:1400px;margin:0 auto;gap:24px}.site-header__logo{flex:1;display:flex;align-items:center;gap:8px;text-decoration:none;transition:opacity .2s}.site-header__logo:hover{opacity:.8}.site-header__logo-img{height:48px;width:auto;object-fit:contain}.site-header__nav{display:flex;align-items:center;justify-content:center;gap:32px}.site-header__link{font-size:15px;color:#475569;text-decoration:none;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;transition:all .2s cubic-bezier(.2,.8,.2,1);padding:8px 12px;border-radius:8px;white-space:nowrap}.site-header__link:hover{color:#0f172a;background:#f8fafc}.site-header__link--active{color:#0f172a;font-weight:600;background:#f1f5f9}.site-header__actions{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:16px}.site-header__icon-btn{background:none;border:none;padding:10px;cursor:pointer;color:#64748b;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s cubic-bezier(.2,.8,.2,1)}.site-header__icon-btn:hover{color:#e11d48;background:#fff1f2;transform:scale(1.05)}.site-header__btn{padding:10px 24px;background:#0f172a;color:#fff;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;transition:all .2s cubic-bezier(.2,.8,.2,1);white-space:nowrap}.site-header__btn:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a26}.site-header__btn:active{transform:translateY(0)}.site-header__user{font-size:14px;color:#4a90d9;text-decoration:none;font-weight:500}.site-header__hamburger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;background:none;border:none;margin-left:8px;flex-shrink:0}.site-header__hamburger span{display:block;width:22px;height:1.5px;background:#0b1d35;border-radius:2px;transition:all .2s}.site-header__hamburger[aria-expanded=true] span:nth-child(1){transform:rotate(45deg) translateY(9px)}.site-header__hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.site-header__hamburger[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg) translateY(-9px)}.site-header__mobile-menu{display:none}.site-header__mobile-link{padding:11px 12px;font-size:15px;color:#333;text-decoration:none;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}.site-header__mobile-link:hover{background:#f5f5f5}.site-header__mobile-btn{margin-top:8px;padding:12px;background:#0b1d35;color:#fff;text-align:center;border-radius:10px;font-size:15px;font-weight:500;text-decoration:none;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}@media (max-width: 768px){.site-header{padding-top:env(safe-area-inset-top,0px)}.site-header__inner{padding:0 16px;justify-content:center;height:56px}.site-header__search-container{display:none!important}.site-header__logo{width:auto;margin:0 auto;justify-content:center}.site-header__nav,.site-header__actions,.site-header__hamburger{display:none}.site-header__logo-img{height:44px}.site-header__logo-text{font-size:18px}.site-header__mobile-menu.is-open{display:flex;flex-direction:column;gap:4px;border-top:1px solid #f0f0f0;padding:8px 16px 16px;background:#fff}}@media (max-width: 360px){.site-header__btn{padding:7px 14px;font-size:13px}}.mobile-bottom-nav{display:none}@media (max-width: 768px){.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;width:100%;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.08);z-index:9999;justify-content:space-around;align-items:center}.mobile-bottom-nav__item{display:flex;align-items:center;justify-content:center;flex:1;height:100%;color:#94a3b8;transition:color .2s}.mobile-bottom-nav__item svg{transition:all .2s}.mobile-bottom-nav__item.active{color:#2563eb}html,body{overflow-x:hidden;width:100%;max-width:100%}body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}}.page-home .site-header{background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.04);box-shadow:none}.page-home .site-header__inner{height:72px}.page-home .site-header__search{background:#f8fafc;border:1px solid transparent;box-shadow:inset 0 2px 4px #00000005}.page-home .site-header__search:focus-within{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 12px #0000000d}@media (max-width: 768px){body.page-guest-plan-preparation{padding-bottom:env(safe-area-inset-bottom,0px)}.page-guest-plan-preparation .site-header__hamburger,.page-guest-plan-preparation .site-header__mobile-menu{display:none!important}}@media (max-width: 768px){.mobile-bottom-nav__business{flex-direction:column;gap:2px}.mobile-bottom-nav__business svg{width:24px;height:24px}.mobile-bottom-nav__business span{font-size:11px;line-height:1.2;font-weight:600}}
/* /assets/css/map.css */
/* ===== MAP PAGE BASE V2 (IMMERSIVE PREMIUM) ===== */

body.page-map {
    font-family: 'Inter', sans-serif;
    background: #F8FAFC;
    color: #0F172A;
    margin: 0;
    overflow: hidden;
}
body.page-map main { padding: 0; }
body.page-map footer { display: none; }

/* Global Header over map (Deprecated - now using site-header) */

/* Map Layout */
.map-layout-v2 {
  display: block;
  height: calc(100svh - 60px);
  width: 100%;
  position: relative;
  overscroll-behavior-y: none;
  touch-action: pan-x pan-y;
}

.map-fullscreen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100; /* Leaflet needs to be at bottom */
}

@media (min-width: 769px) {
  body.page-map .site-header {
    display: none !important;
  }

  .map-layout-v2 {
    height: 100vh;
    height: 100dvh;
  }

  /* Hide mobile elements on desktop */
  .m-map-popup,
  .m-search-wrap,
  .bottom-sheet,
  .m-filters-overlay,
  .m-filters-sheet {
    display: none !important;
  }

  .map-fullscreen {
    top: 0;
    left: 400px;
    width: calc(100% - 400px);
    height: 100%;
  }
}

/* Override Leaflet z-index to stay below UI */
.leaflet-top, .leaflet-bottom { z-index: 400 !important; }
.map-credits{position:absolute;right:10px;bottom:10px;z-index:510;font:600 11px/1.35 Inter,sans-serif;color:#526279}.map-credits summary{display:grid;place-items:center;margin-left:auto;width:24px;height:24px;border:1px solid rgba(148,163,184,.45);border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 2px 8px rgba(15,23,42,.12);cursor:pointer;list-style:none}.map-credits summary::-webkit-details-marker{display:none}.map-credits div{position:absolute;right:0;bottom:31px;width:max-content;max-width:260px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(15,23,42,.15)}.map-credits a{color:#314867}.leaflet-control-attribution{display:none!important}

/* ===== FLOATING SIDEBAR (DESKTOP) ===== */
.floating-sidebar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 400px;
  background: #FFFFFF;
  border-radius: 0;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  z-index: 500;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-right: 1px solid #E2E8F0;
}

.floating-sidebar__header {
  padding: 16px;
  border-bottom: 1px solid #F1F5F9;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #FFFFFF;
  z-index: 10;
}

/* Sidebar Brand Block (Logo + Back) */
.sidebar-brand-block {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  position: relative;
  width: 100%;
  min-height: 44px;
}
.sidebar-back-btn {
  display: flex;
  justify-self: end;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #475569;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.03);
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  text-decoration: none;
}
.sidebar-back-btn:hover {
  background: #F8FAFC;
  border-color: #CBD5E1;
  color: #0F172A;
  transform: translateX(-2px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}
.sidebar-logo {
  display: flex;
  justify-self: center;
}
.sidebar-logo img {
  display: block;
  height: 52px;
  width: auto;
}

/* Premium Search */
.map-search-wrap { position: relative; width: 100%; display: flex; align-items: center; }
.map-search-input {
  width: 100%;
  height: 60px;
  padding: 0 48px 0 56px;
  border: 1px solid #E5EAF2;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 500;
  color: #0F172A;
  background: #FFFFFF;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  font-family: inherit;
}
.map-search-input:hover {
  border-color: #CBD5E1;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
}
.map-search-input::placeholder { color: #94A3B8; font-weight: 400; }
.map-search-input:focus {
  outline: none;
  border-color: #3B82F6;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.08), 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.map-search-icon {
  position: absolute;
  left: 20px;
  color: #94A3B8;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
  transition: color 0.2s;
}
.map-search-wrap:focus-within .map-search-icon { color: #3B82F6; }

.map-search-btn {
  position: absolute;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: #64748B;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}
.map-search-btn:hover { color: #2563EB; transform: scale(1.05); }


/* Quick Filters */
.map-quick-filters {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.map-quick-filters::-webkit-scrollbar { display: none; }
.quick-filter-pill {
  padding: 8px 16px;
  border: 1px solid #F1F5F9;
  border-radius: 12px;
  background: #F8FAFC;
  font-size: 13px;
  font-weight: 500;
  color: #475569;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.quick-filter-pill:hover { background: #F1F5F9; color: #0F172A; }
.quick-filter-pill.active { background: #0F172A; color: #FFFFFF; border-color: #0F172A; }
.quick-filter-pill.active span { color: #10B981 !important; }

/* Category Chips */
.map-chips-container { margin: 0; padding: 0; position: relative; }
.map-chips-scroll {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 8px;
  padding-bottom: 4px;
}
.map-chips-scroll::-webkit-scrollbar { display: none; }
.filter-chip {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  border: none;
  border-radius: 24px;
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  color: #64748B;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  white-space: nowrap;
  flex-shrink: 0;
}
.filter-chip:hover { color: #0F172A !important; background: rgba(0,0,0,0.02); }
.filter-chip:hover .filter-chip__icon { color: #0F172A !important; opacity: 1; }
.filter-chip--active {
  color: #FFFFFF;
  font-weight: 600;
  background: #3B82F6;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}
.filter-chip--active:hover { color: #FFFFFF !important; background: #2563EB; }

.filter-chip__icon { 
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7; 
  transition: all 0.2s ease;
}
.filter-chip__icon svg {
  width: 18px;
  height: 18px;
}
.filter-chip--active .filter-chip__icon { opacity: 1; }

/* Toolbar */
.map-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.btn-sidebar-action {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #0F172A;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  font-family: inherit;
  box-sizing: border-box;
  gap: 8px;
  flex: 1;
}
.btn-sidebar-action:hover {
  border-color: #CBD5E1; 
  background: #F8FAFC; 
}
.btn-sidebar-action:active {
  transform: scale(0.98);
}

/* Sidebar Content */
.floating-sidebar__content {
  flex: 1;
  overflow-y: auto;
  position: relative;
  background: #F8FAFC;
}
.floating-sidebar__content::-webkit-scrollbar { width: 6px; }
.floating-sidebar__content::-webkit-scrollbar-track { background: transparent; }
.floating-sidebar__content::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 10px; }
.floating-sidebar__content::-webkit-scrollbar-thumb:hover { background: #94A3B8; }
.sidebar-results-header {
  padding: 16px;
  font-size: 15px;
  font-weight: 700;
  color: #0F172A;
}
.sidebar-list { list-style: none; padding: 0 16px 16px; margin: 0; display: flex; flex-direction: column; gap: 16px; }

/* ===== PREMIUM CARD V2 COMPACTA ===== */
.premium-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 12px;
  border: none;
  border-radius: 16px;
  cursor: pointer;
  position: relative;
  text-decoration: none;
  transition: all 0.2s ease;
  background: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.premium-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.premium-card__image-wrap {
  width: 88px;
  height: 88px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background: #E2E8F0;
  flex-shrink: 0;
}
.premium-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.premium-card:hover .premium-card__img { transform: scale(1.04); }

.premium-card__rating-badge {
  display: none; /* Oculto en imagen, se pasa al texto si aplica */
}

.premium-card__save-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.premium-card__save-btn:hover svg { stroke: #EF4444; }
.premium-card__save-btn[data-saved="true"] svg { fill: #EF4444; stroke: #EF4444; }

.premium-card__info { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.premium-card__header { display: flex; justify-content: space-between; align-items: flex-start; }
.premium-card__title {
  font-size: 15px;
  font-weight: 600;
  color: #0F172A;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: inherit;
  line-height: 1.3;
}
.premium-card__meta { font-size: 13px; color: #64748B; display: flex; align-items: center; gap: 6px; }
.premium-card__pets { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.premium-card__pets span {
  font-size: 11px;
  font-weight: 600;
  color: #10B981;
  background: #ECFDF5;
  padding: 2px 6px;
  border-radius: 4px;
}
.premium-card__price { margin-top: auto; font-size: 13px; font-weight: 600; color: #0F172A; }

/* Skeletons */
.skeleton-premium-card { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px;}
.skeleton-img { width: 100%; aspect-ratio: 4/3; border-radius: 16px; background: #E2E8F0; animation: pulse 1.5s infinite; }
.skeleton-info { display: flex; flex-direction: column; gap: 8px; }
.skeleton-line { height: 16px; border-radius: 4px; background: #E2E8F0; animation: pulse 1.5s infinite; }
.skeleton-line.title { width: 70%; height: 20px; }
.skeleton-line.sub { width: 40%; }
.skeleton-line.pets { width: 50%; height: 14px;}
@keyframes pulse { 0% {opacity: 1;} 50% {opacity: 0.6;} 100% {opacity: 1;} }

/* Empty state */
.sidebar-empty { padding: 48px 24px; text-align: center; }
.sidebar-empty__icon { color: #64748B; opacity: 0.4; margin-bottom: 16px; }
.sidebar-empty__title { font-weight: 600; font-size: 18px; color: #0F172A; margin: 0 0 8px 0; }
.sidebar-empty__sub { font-size: 14px; color: #64748B; margin-bottom: 24px; line-height: 1.5;}
.btn-load-more {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid #0F172A;
  background: transparent;
  color: #0F172A;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
}
.btn-load-more:hover { background: #F8FAFC; }

/* ===== PLACE DRAWER V2 ===== */
.place-drawer {
  position: absolute;
  top: 0; left: -100%; width: 100%; height: 100%;
  background: #FFFFFF;
  z-index: 2000;
  transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  border-radius: 0; /* Inherits from floating sidebar */
}
.place-drawer--open { left: 0; }
.drawer-hero-wrap { position: relative; }
.place-drawer__close {
  position: absolute;
  top: 16px; left: 16px; right: auto;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(4px);
  border: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: #0F172A;
}
.place-drawer__close:hover { background: #fff; transform: scale(1.05); }

.place-drawer__actions {
  position: absolute;
  top: 16px; right: 16px;
  display: flex; gap: 8px;
  z-index: 10;
}

.drawer-action-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(4px);
  border: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: #0F172A;
  transition: transform 0.2s, background 0.2s;
}
.drawer-action-btn:hover { background: #fff; transform: scale(1.05); }

.drawer-hero { width: 100%; height: 240px; object-fit: cover; }
.drawer-body { padding: 24px; }
.drawer-top-chips { display: flex; gap: 8px; margin-bottom: 12px; overflow-x: auto; scrollbar-width: none; }
.drawer-top-chips::-webkit-scrollbar { display: none; }
.drawer-top-chip {
  display: flex; align-items: center; gap: 4px;
  padding: 6px 12px; border: 1px solid #E2E8F0; border-radius: 999px;
  font-size: 13px; font-weight: 500; color: #475569; white-space: nowrap;
}
.drawer-header-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
.drawer-title { font-size: 24px; font-weight: 700; color: #0F172A; margin: 0; line-height: 1.2; }
.drawer-fav-btn {
  background: transparent; border: none; color: #94A3B8; cursor: pointer; padding: 4px; margin-top: -4px;
}
.drawer-fav-btn:hover { color: #EF4444; }
.drawer-meta { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #64748B; margin-bottom: 24px; }
.drawer-meta-star { color: #0F172A; font-weight: 600; display: flex; align-items: center; gap: 4px; }

.drawer-section--pet {
  background: #F8FAFC;
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 24px;
  border-bottom: none;
}
.drawer-section--pet h4 { font-size: 15px; font-weight: 600; color: #0F172A; margin: 0 0 12px 0; display: flex; align-items: center; gap: 8px; }
.drawer-pet-chips-container { display: flex; gap: 8px; flex-wrap: wrap; }
.drawer-pet-chip {
  display: flex; align-items: center; gap: 6px;
  background: #ECFDF5; color: #10B981;
  padding: 6px 12px; border-radius: 8px;
  font-size: 13px; font-weight: 600;
}
.drawer-pet-chip svg { width: 16px; height: 16px; }

.drawer-summary-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 32px;
}
.summary-col { display: flex; flex-direction: column; gap: 4px; }
.summary-col-icon { color: #64748B; margin-bottom: 4px; display: flex; align-items: center; justify-content: flex-start; }
.summary-col-label { font-size: 12px; color: #64748B; font-weight: 500; }
.summary-col-val { font-size: 14px; color: #0F172A; font-weight: 600; line-height: 1.2; }

.drawer-actions { display: flex; gap: 12px; }
.drawer-btn { flex: 1; padding: 14px; border-radius: 12px; font-weight: 600; font-size: 14px; text-align: center; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.2s;}
.drawer-btn--primary { background: #3B82F6; color: white; border: 1px solid #3B82F6; }
.drawer-btn--primary:hover { background: #2563EB; border-color: #2563EB; color: white !important; }
.drawer-btn--outline { border: 1px solid #E2E8F0; color: #0F172A; background: #FFFFFF; }
.drawer-btn--outline:hover { background: #F8FAFC; border-color: #CBD5E1; color: #0F172A !important; }

/* ===== MAP CONTROLS ===== */
.map-floating-btn {
  position: absolute;
  z-index: 600;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 28px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
  color: #0F172A;
  font-family: inherit;
}
.map-floating-btn:hover { transform: scale(1.03); box-shadow: 0 6px 16px rgba(0,0,0,0.12); }

.map-floating-btn--locate {
  bottom: 40px;
  right: 32px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #3B82F6;
}

.map-zoom-controls {
  position: absolute;
  right: 32px;
  bottom: 100px;
  z-index: 600;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 48px;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .10);
}
.map-zoom-button {
  display: flex;
  flex: 0 0 46px;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 46px;
  padding: 0;
  border: 0;
  background: #fff;
  color: #3B82F6;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .15s, color .15s;
}
.map-zoom-button + .map-zoom-button { border-top: 1px solid #E8EEF6; }
.map-zoom-button:active:not(:disabled) { background: #DBEAFE; color: #1D4ED8; }
.map-zoom-button:focus-visible { outline: 3px solid #2563EB; outline-offset: -4px; border-radius: 12px; }
.map-zoom-button:disabled { color: #A6B3C5; background: #F8FAFC; cursor: default; }
.map-zoom-button svg { pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .map-zoom-button:hover:not(:disabled) { background: #EFF6FF; color: #1D4ED8; }
}
@media (max-width: 768px) {
  .map-zoom-controls {
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: max(clamp(80px, 14svh, 120px), var(--map-zoom-clearance, 0px));
    z-index: 900;
  }
}
@media (prefers-reduced-motion: reduce) {
  .map-zoom-button { transition: none; }
}

.map-floating-btn--list-toggle {
  display: none;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  padding: 14px 28px;
  background: #0F172A;
  color: #fff;
  gap: 8px;
  border: none;
}
.map-floating-btn--list-toggle:hover { transform: translateX(-50%) scale(1.03); }

/* ===== PREMIUM CUSTOM MARKERS ===== */
.custom-pin span {
  transform: rotate(45deg);
  font-size: 18px;
  line-height: 1;
}
.custom-pin:hover, .custom-pin.active {
  transform: rotate(-45deg) scale(1.3);
  z-index: 1000 !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.35);
  border-width: 2px;
}
.leaflet-div-icon { background: transparent; border: none; }

/* LEAFLET POPUP MINI CARD V2 */
.leaflet-popup-content-wrapper {
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.15) !important;
}
.leaflet-popup-content { margin: 0 !important; width: 260px !important; cursor: pointer; font-family: 'Inter', sans-serif !important;}
.leaflet-popup-close-button {
  width: 32px !important;
  height: 32px !important;
  background: rgba(255,255,255,0.9) !important;
  backdrop-filter: blur(4px);
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  top: 10px !important; right: 10px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  color: #0F172A !important;
}
.map-popup-card { display: flex; flex-direction: column;}
.map-popup-card__img { width: 100%; height: 140px; object-fit: cover; }
.map-popup-card__info { padding: 16px; }
.map-popup-card__title { font-size: 16px; font-weight: 600; margin-bottom: 6px; color: #0F172A; }
.map-popup-card__meta { font-size: 13px; color: #64748B; display: flex; justify-content: space-between; align-items: center;}
.map-popup-card__star { color: #0F172A; font-weight: 600; }
.map-popup-card__actions { padding: 0 16px 16px; }
.leaflet-popup-content a.map-popup-card__details {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 44px; padding: 11px 16px; border-radius: 12px;
  background: #2860f5; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none;
}
.leaflet-popup-content a.map-popup-card__details:hover { background: #1d4ed8; }
.map-popup-card__details:focus-visible { outline: 3px solid #93baff; outline-offset: 3px; }

/* Vista previa del explorador: una miniatura y una sola acción, con más mapa visible. */
.map-popup--compact .leaflet-popup-content { width: 300px !important; cursor: default; }
.map-popup--compact .leaflet-popup-content-wrapper { border: 1px solid #e0e7f1; box-shadow: 0 8px 24px #16345e24 !important; }
.map-popup--compact a.map-popup-card {
  display: grid; grid-template-columns: 68px minmax(0, 1fr); align-items: center;
  gap: 12px; padding: 14px 14px 10px; color: inherit; text-decoration: none;
}
.map-popup--compact .map-popup-card__img { display: block; width: 68px; height: 72px; border-radius: 10px; object-fit: cover; background: #f1f5f9; }
.map-popup--compact .map-popup-card__info { min-width: 0; padding: 0; }
.map-popup--compact .map-popup-card__title {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden; padding-right: 20px; margin: 0 0 4px;
  font-size: 14px; line-height: 1.35; font-weight: 700; color: #19365c;
}
.map-popup--compact .map-popup-card__meta { display: grid; gap: 3px; font-size: 12px; line-height: 1.4; }
.map-popup--compact .map-popup-card__category { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.map-popup--compact .map-popup-card__rating { font-size: 11px; color: #6b7c92; }
.map-popup--compact .map-popup-card__rating.has-reviews { font-weight: 650; color: #355984; }
.map-popup--compact .map-popup-card__actions { padding: 0 14px 12px; }
.map-popup--compact a.map-popup-card__details { min-height: 40px; padding: 9px 12px; border-radius: 10px; font-size: 13px; }
.map-popup--compact .leaflet-popup-close-button { top: 4px !important; right: 4px !important; width: 28px !important; height: 28px !important; background: #fff !important; box-shadow: none; color: #64748b !important; }
.map-popup--compact .map-popup-card:focus-visible { outline: 3px solid #93baff; outline-offset: -3px; border-radius: 12px; }

/* Primera visita al explorador: ayuda ligera y opcional en móvil y escritorio. */
.map-explorer-guide {
  display: block; position: fixed; z-index: 10020; box-sizing: border-box;
  padding: 14px 16px 10px; border: 1px solid #b8cff5; border-radius: 16px;
  background: #fff; color: #19365c; box-shadow: 0 8px 24px #153a6326;
}
.map-explorer-guide[hidden], .map-explorer-guide-ring[hidden] { display: none; }
.map-explorer-guide strong { display: block; font-size: 15px; line-height: 1.4; }
.map-explorer-guide p { margin: 4px 0 0; color: #536c8c; font-size: 13px; line-height: 1.5; }
.map-explorer-guide button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 8px 0 0; padding: 0 12px; border: 0; background: #eef4ff; color: #2459bc; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; border-radius: 10px; }
.map-explorer-guide button:hover { background: #dfeaff; }
.map-explorer-guide button:focus-visible { outline: 3px solid #2860f5; outline-offset: -4px; }
.map-explorer-guide::after { content: ''; position: absolute; left: var(--guide-arrow, 50%); width: 12px; height: 12px; background: #fff; transform: rotate(45deg); }
.map-explorer-guide[data-placement="above"]::after { bottom: -7px; border-right: 1px solid #b8cff5; border-bottom: 1px solid #b8cff5; }
.map-explorer-guide[data-placement="below"]::after { top: -7px; border-left: 1px solid #b8cff5; border-top: 1px solid #b8cff5; }
.map-explorer-guide[data-placement="right"]::after { left: -7px; top: var(--guide-arrow-y); border-left: 1px solid #b8cff5; border-bottom: 1px solid #b8cff5; }
.map-explorer-guide[data-placement="left"]::after { left: auto; right: -7px; top: var(--guide-arrow-y); border-right: 1px solid #b8cff5; border-top: 1px solid #b8cff5; }
.map-explorer-guide-ring { display: block; position: fixed; z-index: 10010; box-sizing: border-box; border: 3px solid #2860f5; border-radius: 18px; box-shadow: 0 0 0 3px #fff; pointer-events: none; }
.map-explorer-guide-ring::after { content: ''; position: absolute; inset: -6px; border: 2px solid #2860f5; border-radius: 22px; animation: explorer-guide-pulse 1.3s ease-out 3; pointer-events: none; }
@keyframes explorer-guide-pulse { from { opacity: .7; transform: scale(.95); } to { opacity: 0; transform: scale(1.2); } }
@media (prefers-reduced-motion: reduce) { .map-explorer-guide-ring::after { animation: none; display: none; } }

/* ===== DESKTOP PREMIUM FLOATING FILTERS BAR ===== */
.desktop-map-filters-bar {
  display: none; /* Default hidden, shown in media query */
}

@media (min-width: 769px) {
  .desktop-map-filters-bar {
    display: flex;
    position: absolute;
    top: 24px;
    left: 424px; /* 400 sidebar width + 24 gap */
    z-index: 800; /* Over Leaflet, under modals */
    background: #FFFFFF;
    border: 1px solid #E5EAF2;
    border-radius: 999px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.10);
    padding: 8px 10px;
    gap: 8px;
    align-items: center;
    max-width: calc(100vw - 468px);
  }

  /* City Dropdown */
  .desktop-city-dropdown {
    position: relative;
    flex-shrink: 0;
  }
  .city-dropdown-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    height: 40px;
  }
  .city-dropdown-btn:hover { background: #F1F5F9; border-color: #CBD5E1; }
  .city-dropdown-btn:active { transform: scale(0.98); }
  .city-dropdown-btn .loc-icon { color: #3B82F6; }
  .city-dropdown-btn .chevron { color: #64748B; transition: transform 0.2s; }
  .city-dropdown-btn[aria-expanded="true"] .chevron { transform: rotate(180deg); }

  .city-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(15,23,42,0.05);
    min-width: 200px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 900;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.2s, transform 0.2s;
    pointer-events: none;
  }
  .city-dropdown-menu:not([hidden]) {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  .city-dropdown-item {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    background: transparent;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
    width: 100%;
  }
  .city-dropdown-item:hover { background: #F8FAFC; color: #0F172A; }
  .city-dropdown-item.active { background: #EFF6FF; color: #1D4ED8; font-weight: 600; }

  /* Category Chips inside the bar */
  .desktop-category-chips {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    mask-image: linear-gradient(to right, black 95%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, black 95%, transparent 100%);
    padding-right: 20px;
  }
  .desktop-category-chips::-webkit-scrollbar { display: none; }

  .desktop-category-chips .filter-chip {
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    background: #FFFFFF;
    border: 1px solid transparent;
    height: 40px;
    transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .desktop-category-chips .filter-chip:hover {
    color: #0F172A !important;
    background: #F8FAFC;
    border-color: #E2E8F0;
  }
  .desktop-category-chips .filter-chip--active {
    color: #FFFFFF;
    background: #2563EB;
    border-color: #2563EB;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22);
  }
  .desktop-category-chips .filter-chip--active:hover {
    color: #FFFFFF !important;
    background: #1D4ED8;
    box-shadow: 0 8px 18px rgba(29, 78, 216, 0.22);
  }

  .scroll-hint-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    color: #64748B;
    flex-shrink: 0;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15,23,42,0.04);
    transition: all 0.2s;
    margin-left: 4px;
  }
  .scroll-hint-btn--previous { margin-left: 0; margin-right: 4px; }
  .scroll-hint-btn:hover {
    background: #F8FAFC;
    color: #0F172A;
    border-color: #CBD5E1;
  }
  .scroll-hint-btn:disabled {
    opacity: .38;
    cursor: default;
    background: #F8FAFC;
    color: #94A3B8;
    box-shadow: none;
  }
}

/* ===== MOBILE PREMIUM MAP EXPERIENCE ===== */
@media (max-width: 768px) {
  body:has(.map-layout-v2) {
    height: 100svh;
    overflow: hidden;
    position: fixed;
    inset: 0;
    width: 100%;
  }

  .floating-sidebar { display: none; }
  .map-floating-btn--list-toggle { display: none; }
  
  /* Floating Buttons */
  .map-layout-v2 {
    height: calc(100svh - 56px - 56px - env(safe-area-inset-bottom, 0px)) !important;
  }
  .map-floating-btn {
    position: absolute;
    z-index: 1000;
    background: #fff;
    border: none;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  .map-floating-btn--locate {
    display: none !important;
  }
  .map-floating-btn--search-area {
    top: 140px;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 20px;
    border-radius: 24px;
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
    white-space: nowrap;
    transition: opacity 0.3s, transform 0.3s;
  }

  /* Floating Search Wrap */
  .m-search-wrap {
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .m-search-bar {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 999px;
    height: 56px;
    padding: 0 8px 0 20px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
  }
  .m-search-bar__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
  }
  .m-search-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 500;
    color: #0F172A;
    background: transparent;
    padding: 0;
  }
  .m-search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
  }
  .m-search-input::placeholder { color: #64748B; }
  .m-search-filter-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #F3F6FA;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0F172A;
    margin-left: 8px;
    cursor: pointer;
    transition: background 0.2s;
    position: relative;
  }
  .m-search-filter-btn:active {
    background: #E2E8F0;
  }
  .m-filter-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
    background: #EF4444;
    border-radius: 50%;
    border: 2px solid #F1F5F9;
  }
  .m-filter-badge[hidden] {
    display: none !important;
  }
  
  /* Category Chips under search */
  .m-search-cats {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px; /* Room for shadow */
    margin-bottom: -8px;
  }
  .m-search-cats::-webkit-scrollbar { display: none; }
  .m-cat-chip {
    background: #fff;
    border: 1px solid #E2E8F0;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(15,23,42,0.03);
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .m-cat-chip--active {
    background: #3B82F6;
    color: #fff;
    border-color: #3B82F6;
  }
  .m-cat-chip--more {
    padding-right: 8px; /* Slight tweak for the chevron */
  }

  /* Filters Bottom Sheet (Premium Redesign) */
  .m-filters-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(2px);
    z-index: 2500;
  }
  .m-filters-sheet {
    position: fixed;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    left: 0;
    right: 0;
    background: #ffffff;
    border-radius: 32px 32px 0 0;
    z-index: 2600;
    display: flex;
    flex-direction: column;
    max-height: 85dvh;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.08);
  }
  .m-filters-sheet--open { transform: translateY(0); }
  
  .m-filters-sheet__handle {
    width: 36px;
    height: 5px;
    background: #E2E8F0;
    border-radius: 4px;
    margin: 12px auto 4px;
  }
  
  .m-filters-sheet__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 24px 16px;
    border-bottom: 1px solid #F1F5F9;
  }
  .m-filters-sheet__header h3 { margin: 0; font-size: 20px; font-weight: 700; color: #0F172A; }
  .m-filters-sheet__close { 
    background: none; 
    border: none; 
    padding: 8px; 
    margin-right: -8px;
    display: flex; 
    color: #64748B; 
    border-radius: 50%;
    transition: background 0.2s;
  }
  .m-filters-sheet__close:active { background: #F1F5F9; }
  
  .m-filters-sheet__body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 36px;
  }

  /* Block Titles */
  .m-filter-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px 0;
    font-size: 16px;
    font-weight: 700;
    color: #0F172A;
  }
  .m-filter-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #EFF6FF;
    color: #3B82F6;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Pills Grid */
  .m-filter-pills { display: flex; flex-wrap: wrap; gap: 12px; }
  .m-filter-scroll-horizontal { 
    flex-wrap: nowrap; 
    overflow-x: auto; 
    -webkit-overflow-scrolling: touch; 
    padding-bottom: 8px; 
    scrollbar-width: none; 
    margin-right: -24px;
    padding-right: 24px;
  }
  .m-filter-scroll-horizontal::-webkit-scrollbar { display: none; }
  .m-filter-scroll-horizontal .m-filter-pill { flex-shrink: 0; white-space: nowrap; }
  
  /* Pill Styles */
  .m-filter-pill {
    padding: 12px 20px;
    border-radius: 999px;
    border: 1px solid #E2E8F0;
    background: #FFFFFF;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .m-filter-pill.active {
    background: #1D4ED8;
    border-color: #1D4ED8;
    color: #FFFFFF;
    font-weight: 600;
  }
  /* The checkmark icon for active pills */
  .m-filter-pill.active::after {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-color: #FFFFFF;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain;
  }
  
  /* Footer Wrap (Count + Buttons) */
  .m-filters-sheet__footer-wrap {
    position: sticky;
    bottom: 0;
    background: #FFFFFF;
    border-top: 1px solid #F1F5F9;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-shadow: 0 -4px 24px rgba(0,0,0,0.04);
  }
  
  .m-filters-sheet__count {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px 8px;
    color: #64748B;
    font-size: 13px;
    font-weight: 500;
  }

  .m-filters-sheet__footer {
    display: flex;
    gap: 12px;
    padding: 8px 24px 20px;
  }
  
  .m-filters-sheet__footer .btn {
    flex: 1;
    padding: 16px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    justify-content: center;
  }
  .m-btn-reset {
    background: #F1F5F9 !important;
    color: #0F172A !important;
    border: none !important;
  }
  .m-btn-apply {
    background: #1D4ED8 !important;
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(29, 78, 216, 0.2) !important;
  }

  /* Mobile Map Popup */
  .m-map-popup {
    position: fixed;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px) + 16px);
    left: 16px;
    right: 16px;
    background: #fff;
    border-radius: 20px;
    padding: 12px;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(15, 23, 42, 0.04);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    pointer-events: auto;
  }
  .m-map-popup[hidden] {
    display: none !important;
  }
  .m-map-popup__close { 
    position: absolute; 
    top: -16px; 
    right: -4px; 
    width: 40px; 
    height: 40px; 
    border-radius: 999px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    background: #FFFFFF; 
    border: 1px solid #E5E7EB; 
    box-shadow: 0 8px 20px rgba(15,23,42,0.10); 
    color: #0F172A; 
    cursor: pointer; 
    z-index: 100; 
    padding: 0; 
    outline: none;
    transition: transform 0.2s, background 0.2s;
  }
  .m-map-popup__close:active {
    background: #F3F4F6;
    transform: scale(0.95);
  }
  .m-map-popup__wrapper { display: flex; gap: 12px; align-items: center; width: 100%; }
  .m-map-popup__img-wrapper { position: relative; width: 64px; height: 64px; flex-shrink: 0; }
  .m-map-popup__img { width: 100%; height: 100%; border-radius: 12px; object-fit: cover; }
  .place-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.2;
    color: #475569;
  }
  .place-rating-star { color: #F59E0B; font-size: 14px; }
  .place-rating-value { font-weight: 700; color: #0F172A; }
  .place-rating-count { color: #64748B; }
  .place-no-rating { margin-top: 4px; font-size: 13px; color: #64748B; font-style: italic; display: block; }
  
  .place-title-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #0F172A;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 2px 0;
    padding-right: 0;
    transition: color 0.2s;
  }
  .place-title-link:hover, .place-title-link:active {
    color: #2563EB;
  }

  .m-map-popup__info { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding-right: 4px; }
  .m-map-popup__meta { display: flex; align-items: center; gap: 4px; font-size: 13px; color: #64748B; flex-wrap: wrap; }
  .m-map-popup__cat { font-weight: 500; font-size: 12px; color: #64748B; }
  
  .m-popup-details-btn {
    min-height: 44px;
    padding: 0 13px;
    border-radius: 12px;
    background: #2563EB;
    color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-shrink: 0;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: background 0.2s;
    white-space: nowrap;
  }
  .m-popup-details-btn:hover, .m-popup-details-btn:active { background: #1D4ED8; }
  .m-popup-details-btn:focus-visible { outline: 3px solid #93C5FD; outline-offset: 3px; }
  .m-map-popup__rating { position: absolute; top: -6px; left: -6px; display: flex; align-items: center; gap: 2px; font-weight: 700; color: #1E293B; background: rgba(255,255,255,0.85); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); padding: 2px 6px; border-radius: 8px; font-size: 11px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); border: 1px solid rgba(255,255,255,0.5); }

  /* Mobile Premium Bottom Sheet (Results) */
  .bottom-sheet {
    display: none !important;
    position: fixed;
    left: 0; right: 0; 
    bottom: 56px;
    background: #fff;
    border-radius: 28px 28px 0 0;
    z-index: 2000;
    box-shadow: 0 -8px 32px rgba(0,0,0,0.12);
    height: calc(100svh - 56px - 56px - env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    
    /* Default state (collapsed) - 90px of peek height */
    transform: translateY(calc(100% - 90px)); 
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    touch-action: none;
  }
  
  .bottom-sheet[data-state="half"] { transform: translateY(45%); }
  .bottom-sheet[data-state="expanded"] { transform: translateY(0); }
  
  .bottom-sheet__handle-wrap {
    padding: 16px 0 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: grab;
    width: 100%;
    touch-action: none;
  }
  .bottom-sheet__handle {
    width: 48px; height: 5px;
    background: #CBD5E1;
    border-radius: 3px;
    margin-bottom: 12px;
  }
  .bottom-sheet__peek { padding: 0 24px; width: 100%; text-align: center; display: flex; flex-direction: column; gap: 4px; }
  .bottom-sheet__title { font-weight: 700; font-size: 16px; color: #0F172A;}
  .bottom-sheet__subtitle { font-size: 13px; color: #64748B; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 4px;}
  
  .bottom-sheet__content {
    flex: 1;
    overflow-y: auto;
    padding: 0 24px 24px;
    touch-action: pan-y;
  }
  
  .bottom-sheet__scroll { padding: 0 24px 24px; }
  
  .bottom-sheet__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }

  /* Compact Mobile Card */
  .premium-card {
    flex-direction: row;
    height: auto;
    padding: 12px;
    gap: 16px;
    border-radius: 20px;
    border: 1px solid #F1F5F9;
    box-shadow: none;
  }
  .premium-card__image-wrap {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    border-radius: 12px;
  }
  .premium-card__img { height: 100%; border-radius: 12px; }
  .premium-card__rating-badge { display: none; } /* Hide overlay rating */
  .premium-card__save-btn { display: none; }
  .premium-card__info { padding: 0; justify-content: center; }
  .premium-card__title { font-size: 15px; margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
  .premium-card__meta { font-size: 13px; margin-bottom: 4px; }
  
  /* Mobile Empty Sheet */
  .m-empty-sheet {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 24px 24px 0 0;
    padding: 32px 24px calc(90px + env(safe-area-inset-bottom));
    box-shadow: 0 -8px 30px rgba(15, 23, 42, 0.08);
    z-index: 1000;
    text-align: center;
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  }
  
  .m-empty-sheet[hidden] {
    display: none !important;
  }
  
  .m-empty-sheet__icon {
    width: 64px;
    height: 64px;
    background: #F1F5F9;
    color: #94A3B8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
  }
  
  .m-empty-sheet__icon svg {
    width: 32px;
    height: 32px;
  }
  
  .m-empty-sheet__title {
    font-size: 20px;
    font-weight: 700;
    color: #0F172A;
    margin-bottom: 8px;
    line-height: 1.3;
  }
  
  .m-empty-sheet__sub {
    font-size: 15px;
    color: #64748B;
    line-height: 1.5;
    margin-bottom: 24px;
  }
  
  .m-empty-sheet__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  
  .m-empty-sheet__actions .btn {
    width: 100%;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
  }

  /* Inline rating for mobile */
  .m-inline-rating { font-size: 12px; font-weight: 600; color: #0F172A; display: flex; align-items: center; gap: 4px;}
  .m-inline-rating svg { width: 12px; height: 12px; color: #F59E0B; }
  .m-no-rating { font-size: 12px; color: #64748B; font-style: italic;}
  
  /* Make sure leaflet controls are above the collapsed bottom sheet AND the nav bar (90+65=155) */
  .leaflet-bottom { bottom: calc(155px + env(safe-area-inset-bottom)) !important; }
}

/* Autocomplete Premium */
.map-autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  left: 0; right: 0;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.12), 0 0 0 1px #E2E8F0;
  max-height: 340px;
  overflow-y: auto;
  z-index: 100;
}
.ac-item { padding: 14px 20px; display: flex; align-items: center; gap: 14px; cursor: pointer; border-bottom: 1px solid #F1F5F9; }
.ac-item:last-child { border-bottom: none; }
.ac-item:hover { background: #F8FAFC; }
.ac-item__icon { font-size: 20px; }
.ac-item__name { font-size: 15px; font-weight: 500; color: #0F172A; }
.ac-item__sub { font-size: 13px; color: #64748B; margin-top: 2px;}

/* Extra panels */

/* Premium Extra Filters */
.extra-filters-panel {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 24px;
  margin-top: 12px;
  margin-bottom: 24px;
  box-shadow: 0 10px 30px -10px rgba(0,0,0,0.1);
  animation: slideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 400px;
  overflow-y: auto;
}
.extra-filters-panel::-webkit-scrollbar { width: 6px; }
.extra-filters-panel::-webkit-scrollbar-track { background: transparent; }
.extra-filters-panel::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 10px; }
.extra-filters-panel::-webkit-scrollbar-thumb:hover { background: #94A3B8; }
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.extra-filters__inner { display: flex; flex-direction: column; gap: 24px; }
.extra-filters__row { display: flex; flex-direction: column; gap: 12px; }
.filter-label { font-size: 15px; font-weight: 600; color: #0F172A; margin: 0; }

/* Premium Pills (Pets & Price) */
.premium-filter-pills {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 12px;
}
.premium-filter-pills--small { grid-template-columns: repeat(2, 1fr); }
.premium-pill { cursor: pointer; }
.premium-pill input { display: none; }
.premium-pill__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  background: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  color: #64748B;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.premium-pill input:checked + .premium-pill__content {
  background: #EFF6FF;
  border-color: #2563EB;
  color: #1D4ED8;
  box-shadow: 0 0 0 1px #2563EB;
}
.premium-pill:hover .premium-pill__content { border-color: #CBD5E1; color: #0F172A; }

/* Premium Segmented Control (Size) */
.premium-segmented {
  display: flex;
  background: #F1F5F9;
  padding: 4px;
  border-radius: 12px;
}
.premium-segmented__option { flex: 1; text-align: center; cursor: pointer; }
.premium-segmented__option input { display: none; }
.premium-segmented__option span {
  display: block;
  padding: 10px 0;
  font-size: 13px;
  font-weight: 600;
  color: #64748B;
  border-radius: 8px;
  transition: all 0.2s;
}
.premium-segmented__option input:checked + span {
  background: #FFFFFF;
  color: #0F172A;
  box-shadow: 0 2px 4px rgba(0,0,0,0.06);
}

/* Actions */
.extra-filters__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  margin-top: 8px;
  border-top: 1px solid #F1F5F9;
}
.btn--secondary {
  background: transparent;
  border: 1px solid #E2E8F0;
  color: #0F172A;
  padding: 10px 16px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.btn--secondary:hover { background: #F8FAFC; border-color: #CBD5E1; }
.btn--primary {
  background: #2563EB;
  color: #FFFFFF;
  border: none;
  padding: 10px 24px;
  border-radius: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.btn--primary:hover { background: #1D4ED8; }

/* ===== PREMIUM MAP PINS ===== */
.premium-pin {
  position: relative;
  width: 40px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1));
}
.premium-pin:hover {
  transform: scale(1.1) translateY(-4px);
  z-index: 1000 !important;
}
.premium-pin.active {
  transform: scale(1.2) translateY(-6px);
  z-index: 1001 !important;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.2));
}
.premium-pin__inner {
  width: 36px;
  height: 36px;
  background: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--pin-color, #3B82F6);
  color: var(--pin-color, #3B82F6);
  z-index: 2;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}
.premium-pin.active .premium-pin__inner {
  background: var(--pin-color, #3B82F6);
  color: #FFFFFF;
  border-color: #FFFFFF;
}
.premium-pin__tail {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 12px solid var(--pin-color, #3B82F6);
  z-index: 1;
}
.premium-pin.active .premium-pin__tail {
  border-top-color: #FFFFFF;
}

/* ===== CUSTOM SORT DROPDOWN ===== */
.custom-sort-dropdown {
  position: relative;
  display: inline-block;
}
.custom-sort-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #0F172A;
  cursor: pointer;
  transition: all 0.2s ease;
  height: 44px; /* Same height as btn-more-filters */
  font-family: inherit;
}
.custom-sort-btn:hover {
  background: #F8FAFC;
  border-color: #CBD5E1;
}
.custom-sort-btn[aria-expanded="true"] {
  border-color: #94A3B8;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.custom-sort-list {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1), 0 4px 10px rgba(0,0,0,0.04);
  border: 1px solid #E2E8F0;
  padding: 8px;
  margin: 0;
  list-style: none;
  z-index: 1000;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.custom-sort-list:not([hidden]) {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.custom-sort-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
}
.custom-sort-list li:hover {
  background: #F1F5F9;
  color: #0F172A;
}
.custom-sort-list li[aria-selected="true"] {
  background: #EFF6FF;
  color: #2563EB;
}
.custom-sort-list li[aria-selected="true"] svg {
  color: #2563EB;
}
.custom-sort-list li svg {
  width: 18px;
  height: 18px;
  color: #64748B;
}

/* Toolbar adjustments */
.map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 24px 16px;
}


/* Results header adjustment */
.sidebar-results-header {
  padding: 16px 24px;
  font-size: 16px;
  font-weight: 600;
  color: #0F172A;
  border-bottom: 1px solid #F1F5F9;
  margin-bottom: 16px;
}

.premium-pin.hovered {
  transform: scale(1.1) translateY(-4px);
  z-index: 1000 !important;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,0.15));
}
.premium-pin.hovered .premium-pin__inner {
  border-color: var(--pin-color, #3B82F6);
  box-shadow: 0 0 0 2px rgba(255,255,255,1), 0 0 0 4px var(--pin-color, #3B82F6);
}

  .m-empty-card {
    position: fixed;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 84px);
    left: 16px;
    right: 16px;
    background: #fff;
    border-radius: 20px;
    padding: 16px 20px;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(15, 23, 42, 0.04);
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 12px;
    pointer-events: auto;
  }
  .m-empty-card[hidden] {
    display: none !important;
  }
  .m-empty-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #F1F5F9;
    color: #64748B;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .m-empty-card__content {
    flex: 1;
    min-width: 0;
  }
  .m-empty-card__title {
    margin: 0 0 2px 0;
    font-size: 15px;
    font-weight: 700;
    color: #0F172A;
  }
  .m-empty-card__sub {
    margin: 0;
    font-size: 13px;
    color: #64748B;
  }
  .m-empty-card__btn {
    background: #EEF5FF;
    color: #2563EB;
    border: none;
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    flex-shrink: 0;
  }
.map-credits { display: none !important; }

.visit-filter{padding:18px;margin-bottom:22px;border:1px solid #dbe5f5;border-radius:16px;background:#f5f8ff;color:#142b4c}.visit-filter h4{margin:0 0 14px;font-size:16px}.visit-filter__dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.visit-filter__dates label{min-width:0;font-size:13px;font-weight:650}.visit-filter__dates input{display:block;box-sizing:border-box;min-width:0;width:100%;padding:10px 6px;border:1px solid #ccd9ed;border-radius:9px;margin-top:6px;background:white;color:#142b4c;font:inherit}.visit-filter__unknown{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px}.visit-filter p{font-size:12px;line-height:1.6;color:#63738b;margin:10px 0 0}.visit-filter [data-visit-error]{color:#b42318}

/* Ciudad agregada: mismo componente en escritorio y móvil. */
.city-map-marker { background: none; border: 0; }
.city-map-cluster { display: flex; box-sizing: border-box; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; border: 2px solid #2563eb; border-radius: 16px; background: #fff; color: #0d1b3f; box-shadow: 0 4px 18px #0d1b3f30; font: 12px/1.3 Inter, sans-serif; }
.city-map-cluster strong { max-width: calc(100% - 12px); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; font-size: 14px; }
.city-map-cluster span { color: #1d4ed8; }
.city-map-marker:hover .city-map-cluster { background: #eff6ff; }
/* Variantes cuando no hay sitio para la etiqueta completa: número, o punto. El nombre aparece al pasar el ratón o con el teclado. */
.city-map-cluster { position: relative; }
.city-map-cluster--compact { border-radius: 50%; padding: 0; }
.city-map-cluster--group { border-color: #1d4ed8; background: #1d4ed8; color: #fff; }
.city-map-cluster--group span { color: #dbe7ff; }
.city-map-marker:hover .city-map-cluster--group { background: #1e40af; }
.city-map-cluster--compact strong { max-width: none; font-size: 14px; color: #1d4ed8; }
.city-map-cluster--dot { border: 2px solid #fff; border-radius: 50%; background: #2563eb; box-shadow: 0 0 0 2px #2563eb, 0 2px 8px #0d1b3f40; }
.city-map-marker:hover .city-map-cluster--dot { background: #1d4ed8; }
.city-map-marker--compact:hover, .city-map-marker--dot:hover, .city-map-marker--compact:focus-visible, .city-map-marker--dot:focus-visible { z-index: 5000 !important; }
.city-map-marker:hover .city-map-cluster[data-name]::after, .city-map-marker:focus-visible .city-map-cluster[data-name]::after { content: attr(data-name); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-50%); white-space: nowrap; padding: 6px 10px; border-radius: 8px; background: #0d1b3f; color: #fff; font: 600 12px/1.3 Inter, sans-serif; box-shadow: 0 4px 14px #0d1b3f40; pointer-events: none; }
.city-map-marker:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 4px; }

/* v30 · Navegación de escritorio. */
@media (min-width: 769px) {
  .map-city-context { padding: 0 16px 16px; }
  .map-back-cities { border: 1px solid #dbe4f0; border-radius: 12px; background: #fff; color: #1d4ed8; padding: 12px 14px; font: 600 14px/1.3 inherit; cursor: pointer; }
  .map-back-cities[hidden], .map-city-navigation[hidden], #map-error[hidden] { display: none; }
  .map-city-navigation p { margin: 2px 0 10px; font-size: 14px; font-weight: 650; color: #334155; }
  .map-city-links { display: flex; flex-wrap: wrap; gap: 8px; }
  .map-city-links button { min-height: 44px; border: 1px solid #dbe4f0; border-radius: 12px; background: #fff; color: #1d4280; padding: 9px 12px; cursor: pointer; font: inherit; font-size: 13px; }
  .map-city-links button:hover, .map-back-cities:hover { background: #eff6ff; border-color: #93b8ff; }
  .premium-card__city { font-size: 12px; color: #1d4ed8; font-weight: 600; }
  .premium-card--selected { outline: 2px solid #2563eb; background: #eff6ff; }
  .premium-card:focus-visible, .city-map-marker:focus-visible, .leaflet-marker-icon:focus-visible, .map-city-context button:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 4px; }
  .place-drawer:focus { outline: none; }
  .place-drawer[aria-hidden="true"] { visibility: hidden; }
  #map-error { padding: 16px; margin: 0 16px 16px; background: #fff7ed; border-radius: 12px; color: #9a3412; }
  #map-retry { display: block; min-height: 44px; margin-top: 8px; cursor: pointer; }
  .map-location-unavailable { color: #92400e; font-size: 14px; }
}

/* v30.2 · Vista de ciudades adaptada al espacio y al uso táctil. */
@media (max-width: 768px) {
  .city-map-cluster { position: relative; border-radius: 13px; font-size: 11px; }
  .city-map-cluster strong { font-size: 13px; }
  .m-search-input { min-width: 0; width: 100%; }
  .m-search-filter-btn { flex-shrink: 0; }
}

/* v30.4 · Fechas del mapa con la misma presentación móvil que la home. */
@media (max-width: 768px) {
  .m-visit-filter { min-width: 0; margin: 0; padding: 0 0 24px; border: 0; border-bottom: 1px solid #F1F5F9; background: transparent; }
  .m-visit-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: #0F172A; font-size: 15px; font-weight: 700; text-transform: none; letter-spacing: normal; }
  .m-visit-icon { display: flex; flex: 0 0 28px; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #EFF6FF; color: #3B82F6; }
  .m-visit-help { margin: -7px 0 14px; color: #64748B; font-size: 13px; line-height: 1.5; }
  .m-visit-dates { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .m-visit-field { display: flex; min-width: 0; flex-direction: column; gap: 7px; color: #64748B; font-size: 12px; font-weight: 700; }
  .m-visit-field input { display: block; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; height: 46px; border: 1px solid #DCE5F0; border-radius: 12px; background: #F8FAFC; color: #17233B; padding: 0 13px; font: inherit; font-size: 14px; color-scheme: light; }
  .m-visit-field input:focus { outline: 3px solid rgba(37, 99, 235, .12); border-color: #3B82F6; background: #FFF; }
  .m-visit-unknown { display: flex; align-items: flex-start; gap: 10px; margin-top: 13px; padding: 12px 13px; border: 1px solid #E4EAF2; border-radius: 12px; background: #FAFCFF; cursor: pointer; }
  .m-visit-unknown input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #1D4ED8; flex: 0 0 auto; }
  .m-visit-unknown span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
  .m-visit-unknown strong { color: #334155; font-size: 13px; }
  .m-visit-unknown small { color: #7A899D; font-size: 11px; line-height: 1.4; }
  .m-visit-error { margin: 10px 0 0; color: #b42318; font-size: 13px; line-height: 1.5; }
}
@media (min-width: 769px) and (prefers-reduced-motion: reduce) {
  .map-layout-v2 *, .map-layout-v2 *::before, .map-layout-v2 *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* v35 · EYPET Business: pin y tarjeta promocionados en el mapa */
.premium-pin--business{position:relative}
.premium-pin--business .premium-pin__inner{box-shadow:0 0 0 2px #fff,0 0 0 4.5px #F59E0B,0 8px 18px rgba(15,23,42,.35)}
.premium-pin__badge{position:absolute;top:-9px;right:-9px;width:21px;height:21px;border-radius:999px;background:linear-gradient(135deg,#FBBF24,#F59E0B);border:2px solid #fff;color:#fff;font-size:10px;line-height:17px;text-align:center;font-weight:800;box-shadow:0 3px 8px rgba(180,83,9,.5);z-index:5;pointer-events:none}
.premium-card--business{background:linear-gradient(135deg,#F5F9FF,#EDF4FF);box-shadow:inset 0 0 0 1.5px #BFDBFE,0 4px 14px rgba(37,99,235,.10)}
.premium-card--business:hover{box-shadow:inset 0 0 0 1.5px #93C5FD,0 10px 26px rgba(37,99,235,.16)}
.premium-card__topline{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap}
.premium-card__promo{color:#1C60B0;font-size:11.5px;font-weight:700;letter-spacing:.2px}
.premium-card__promo::before{content:'|';margin:0 7px;color:#B6C6DB;font-weight:400}
.m-popup-business{color:#1C60B0;font-weight:800}

/* Information which changes the visit decision; independent of Business status. */
.map-facts{display:grid;gap:7px;margin-top:10px;color:#49627f;font-size:12px;line-height:1.5;white-space:normal}.map-facts strong{font-size:12px;font-weight:600;color:#264967}.map-facts small{font-size:11px;color:#637a92}.map-facts a{color:#2855b3;text-decoration:underline}.map-opening{display:inline-block;font-size:12px;line-height:1.5;color:#66788c}.map-opening--open{color:#21694e}.map-opening--closed{color:#95513d}.map-vet-call{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 13px;background:#eff8f3;color:#20684b!important;border:1px solid #cfe5da;border-radius:11px;font-weight:700;font-size:13px;text-decoration:none!important}.map-popup-card__actions:has(.map-vet-call){display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-popup-card__actions:has(.map-vet-call) .map-popup-card__details{padding:10px}.m-popup-action-group{display:grid;gap:6px}.map-coverage-link{display:inline-flex;margin-top:16px;padding:12px 18px;background:#285bf1;color:white!important;border-radius:12px;font-weight:650;text-decoration:none}.premium-card__distance{white-space:normal!important}.drawer-actions>.map-vet-call{grid-column:1/-1}.m-map-popup__wrapper:has(.map-vet-call){align-items:center}.m-map-popup__info .map-opening{margin:4px 0}.m-empty-sheet:has([data-coverage-cities]) .m-empty-sheet__actions{display:none}

.m-popup-facts{padding:0 14px 12px}.m-popup-facts .map-facts{margin-top:0}.m-popup-facts .map-facts strong{font-size:12px}.m-popup-facts .map-facts small{font-size:11px}

/* Tarjetas escaneables y datos útiles sin estados vacíos. */
.map-facts{gap:10px;color:#47617b;font-size:12px;line-height:1.5}
.map-facts--hotel{padding:12px 14px;background:#f5f8fc;border:1px solid #e5ecf5;border-radius:12px}
.map-fact-weight{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;background:#e8f4ee;border-radius:7px;color:#28644e;font-size:11px;font-weight:650}
.map-fact-weight:before{content:'';width:6px;height:6px;border-radius:50%;background:#519f7c}
.map-fact-fee{display:flex;gap:9px;align-items:flex-start;min-width:0}
.map-fact-fee>svg{width:17px;height:17px;flex-shrink:0;color:#6585ad;margin-top:2px}
.map-fact-fee>div{min-width:0}.map-fact-fee span{display:block;font-size:10px;color:#6e8096;margin-bottom:3px;font-weight:500}
.map-fact-fee strong{display:block;font-size:12px;line-height:1.55;font-weight:550;color:#2e4966;overflow-wrap:anywhere}
.map-facts__evidence{font-size:10px;color:#657d98}.map-facts__evidence summary{cursor:pointer;width:fit-content;min-height:20px;line-height:20px}
.map-facts .map-facts__source{margin:0;font-size:10px}.map-facts__evidence[open] .map-facts__source{display:block;margin-top:5px}
.map-facts--vet{border-top:1px solid #e8eef5;padding-top:10px;gap:5px}
.map-opening,.map-fact-emergency{font-size:11px;line-height:1.5}
.map-fact-emergency{color:#345974;font-weight:600}
.premium-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:12px;padding:15px;border:1px solid #e3eaf3;border-radius:17px;box-shadow:0 2px 5px #203c5d04}
.premium-card__image-wrap{width:88px;height:105px;border-radius:11px}
.premium-card__info{gap:5px}.premium-card__title{font-size:15px;line-height:1.4;font-weight:700;color:#1b3554}
.premium-card__meta{font-size:11px;flex-wrap:wrap;gap:4px}.premium-card__pets{margin:3px 0 0;gap:5px}
.premium-card__pets span{background:#f0f5fa;color:#55718b;border-radius:5px;padding:3px 6px;font-size:10px}
.premium-card>.map-facts{grid-column:1/-1;margin:0}
.premium-card__city{font-size:10px!important;color:#6b839c!important;font-weight:550!important}
.premium-card__topline{flex-wrap:wrap;gap:4px}.premium-card__promo{font-size:9px;padding:2px 5px;border-radius:4px;background:#eaf2ff;color:#4775ae}.premium-card__promo::before{content:none}
.premium-card--business{background:#fff;box-shadow:none;border-color:#cbdcf1}
.premium-card--selected{outline:0;border-color:#82aaff;box-shadow:0 0 0 1px #82aaff;background:#fafdff}
.premium-card:hover{transform:translateY(-1px);border-color:#b8cde8;box-shadow:0 5px 15px #173c6b0a}
.premium-card__price{font-size:11px;color:#46627c}
@media(max-width:768px){
 .m-map-popup{padding:16px!important;border-radius:20px!important;max-height:55dvh;overflow:auto;overscroll-behavior:contain}
 .m-map-popup__wrapper{display:grid!important;grid-template-columns:56px minmax(0,1fr);gap:12px!important;align-items:start!important;padding-right:20px}
 .m-map-popup__img-wrapper{width:56px!important;height:64px!important}.m-map-popup__info{padding:0!important;min-width:0}
 .m-map-popup__info .place-title-link{font-size:16px!important;line-height:1.3!important;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .m-map-popup__cat{font-size:11px!important;line-height:1.5;margin-top:5px}
 .m-map-popup__close{top:8px!important;right:8px!important;width:28px!important;height:28px!important;box-shadow:none!important;border:0!important;background:#f3f6fa!important}
 .m-map-popup>.map-facts{margin:12px 0 0;padding:10px 12px}.m-map-popup>.map-facts--vet{padding:8px 0 0}
 .m-map-popup .map-fact-fee strong{font-size:11.5px;line-height:1.5}.m-map-popup .map-fact-weight{font-size:10px}
 .m-popup-action-group{display:flex;gap:8px;margin-top:12px;width:100%}.m-popup-action-group>*{flex:1;min-width:0}
 .m-popup-action-group .m-popup-details-btn,.m-popup-action-group .map-vet-call{display:flex;align-items:center;justify-content:center;padding:10px 12px;min-height:40px;height:auto;font-size:13px;line-height:1.3;border-radius:10px;width:auto}
 .premium-card{grid-template-columns:70px minmax(0,1fr);padding:13px;gap:10px}
 .premium-card__image-wrap{width:70px;height:80px}.premium-card__info{justify-content:start}
 .premium-card__meta{font-size:11px}.premium-card__title{font-size:14px}.premium-card>.map-facts{padding:10px 12px}
}

/* Selected place: a compact editorial panel with clear next actions. */
@media(min-width:769px){
 .place-drawer{background:#f7f9fc}
 .drawer-hero-wrap{margin:12px 12px 0;border-radius:18px;overflow:hidden}
 .drawer-hero{height:210px;display:block}
 .drawer-body{padding:22px 20px 28px}
 .drawer-top-chips{flex-wrap:wrap;overflow:visible;gap:6px;margin-bottom:14px}
 .drawer-top-chip{padding:5px 9px;font-size:11px;background:#fff;border-color:#e2e9f2;color:#586f89}
 .drawer-title{font-size:25px;line-height:1.22;letter-spacing:-.6px;color:#173254}
 .drawer-meta{font-size:12px;margin:12px 0 20px;color:#738298;flex-wrap:wrap}
 .drawer-meta-star{font-weight:500;color:#667a92;gap:6px}
 .drawer-section--pet{background:#fff;border:1px solid #e3eaf2;border-radius:16px;padding:17px;margin:16px 0}
 .drawer-section--pet h4{font-size:13px;color:#294565;margin-bottom:12px}
 .drawer-pet-chip{font-size:12px;padding:7px 10px;background:#edf8f2;color:#27765b;border-radius:9px}
 .drawer-body>.map-facts{padding:15px;background:#fff;border:1px solid #e3eaf2;border-radius:16px;margin:16px 0}
 .drawer-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}
 .drawer-btn{min-height:48px;padding:12px 16px;font-size:14px;border-radius:12px;gap:10px}
 .drawer-btn svg{flex:0 0 18px}
 .drawer-btn--outline{grid-row:1;background:#2b5df5;border-color:#2b5df5;color:#fff}
 .drawer-btn--outline:hover{background:#214ddd;color:#fff!important}
 .drawer-btn--primary{background:#fff;border-color:#dce5ef;color:#355878}
 .drawer-btn--primary:hover{background:#edf3ff;color:#244f9a!important}
 .drawer-actions>.map-vet-call{grid-row:1}
 .drawer-actions:has(.map-vet-call) .drawer-btn--outline{grid-row:2}
}
