/* Costa Blanca Mosaic V24 - unified components. Loaded after legacy CSS on purpose. */
:root{--v24-ink:#173344;--v24-muted:#657681;--v24-line:rgba(13,82,91,.14);--v24-accent:var(--season-primary,#087d88);--v24-deep:var(--season-deep,#173f52);--v24-soft:var(--season-soft,#effafa)}
.cbm-season-picks{display:block!important;padding:44px 0!important;background:linear-gradient(135deg,var(--v24-soft),#fff)!important;border-block:1px solid var(--v24-line)!important}
.cbm-season-picks>.wrap{max-width:1180px!important;margin:0 auto!important;padding:0 24px!important}.cbm-picks-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:24px!important;margin:0 0 24px!important}.cbm-picks-head span{display:block!important;color:var(--v24-accent)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em!important;text-transform:uppercase!important}.cbm-picks-head h2{margin:7px 0 9px!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.05!important;color:var(--v24-deep)!important}.cbm-picks-head p{margin:0!important;max-width:760px!important;line-height:1.55!important;color:var(--v24-muted)!important}.cbm-picks-badge{display:grid!important;place-items:center!important;width:68px!important;height:68px!important;flex:0 0 68px!important;border-radius:50%!important;background:#fff!important;border:1px solid var(--v24-line)!important;box-shadow:0 10px 30px rgba(17,52,67,.08)!important;font-size:30px!important}.cbm-picks-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}.cbm-pick{display:flex!important;flex-direction:column!important;min-height:205px!important;padding:22px!important;border-radius:22px!important;background:#fff!important;border:1px solid var(--v24-line)!important;box-shadow:0 10px 28px rgba(17,52,67,.07)!important;text-decoration:none!important;color:inherit!important;overflow:hidden!important;transition:transform .2s,box-shadow .2s!important}.cbm-pick:hover{transform:translateY(-4px)!important;box-shadow:0 18px 38px rgba(17,52,67,.13)!important}.cbm-pick i{display:block!important;font-style:normal!important;font-size:30px!important;margin:0 0 14px!important}.cbm-pick strong{display:block!important;margin:0 0 8px!important;font-size:18px!important;line-height:1.2!important;color:var(--v24-deep)!important}.cbm-pick span{display:block!important;flex:1!important;font-size:14px!important;line-height:1.5!important;color:var(--v24-muted)!important}.cbm-pick em{display:block!important;margin-top:16px!important;font-style:normal!important;font-weight:900!important;color:var(--v24-accent)!important}
/* Shared carousel shell */
.v24-carousel{position:relative!important;margin:10px 0 30px!important;min-width:0!important}.v24-carousel-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:0 0 16px!important}.v24-carousel-title{display:grid!important;gap:3px!important}.v24-carousel-title small{font-size:11px!important;letter-spacing:.14em!important;font-weight:900!important;color:var(--v24-accent)!important}.v24-carousel-title strong{font-size:18px!important;color:var(--v24-ink)!important}.v24-carousel-arrows{display:flex!important;gap:9px!important}.v24-carousel-arrows button{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;border:1px solid var(--v24-line)!important;background:#fff!important;color:var(--v24-accent)!important;font-size:30px!important;line-height:1!important;box-shadow:0 8px 22px rgba(17,52,67,.09)!important;cursor:pointer!important}.v24-carousel-arrows button:hover:not(:disabled){background:var(--v24-accent)!important;color:#fff!important}.v24-carousel-arrows button:disabled{opacity:.28!important;cursor:default!important}.v24-carousel-dots{display:flex!important;justify-content:center!important;gap:7px!important;min-height:12px!important;margin-top:10px!important}.v24-carousel-dots button{display:block!important;width:8px!important;height:8px!important;padding:0!important;border:0!important;border-radius:999px!important;background:#c9d7da!important}.v24-carousel-dots button.active{width:28px!important;background:var(--v24-accent)!important}.v24-carousel .v22-slider-controls,.v24-carousel .cbm-carousel-top,.v24-carousel .cbm-carousel-dots{display:none!important}
.restaurant-grid.v24-track{display:flex!important;grid-template-columns:none!important;gap:20px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;overscroll-behavior-x:contain!important;scrollbar-width:none!important;padding:6px 3px 18px!important;background:transparent!important;border:0!important}.restaurant-grid.v24-track::-webkit-scrollbar{display:none!important}.restaurant-grid.v24-track>.restaurant-card{display:flex!important;flex:0 0 calc((100% - 40px)/3)!important;min-width:0!important;scroll-snap-align:start!important;scroll-snap-stop:always!important;border-radius:24px!important;overflow:hidden!important;background:#fff!important;border:1px solid var(--v24-line)!important;box-shadow:0 12px 34px rgba(17,52,67,.09)!important}.restaurant-grid.v24-track>.restaurant-card[hidden]{display:none!important}.restaurant-grid.v24-track .restaurant-card-visual{min-height:200px!important;margin:0!important;border-radius:0!important}.restaurant-grid.v24-track .restaurant-actions{margin-top:auto!important}.restaurant-grid.v24-track .action-detail{background:var(--v24-accent)!important;border-color:var(--v24-accent)!important;color:#fff!important}
.v9-destinations.v24-track{display:flex!important;grid-template-columns:none!important;gap:18px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;scrollbar-width:none!important;padding:5px 3px 18px!important}.v9-destinations.v24-track::-webkit-scrollbar{display:none!important}.v9-destinations.v24-track>.v9-destination{flex:0 0 calc((100% - 54px)/4)!important;min-width:0!important;scroll-snap-align:start!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 10px 28px rgba(17,52,67,.08)!important}
/* Reviews */
.review-source-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:14px!important;margin:22px 0!important}.review-source-card{display:flex!important;flex-direction:column!important;gap:9px!important;min-height:145px!important;padding:18px!important;border-radius:18px!important;background:#fff!important;border:1px solid var(--v24-line)!important;box-shadow:0 8px 22px rgba(17,52,67,.06)!important}.review-source-card>span{display:block!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--v24-accent)!important}.review-source-card strong{display:block!important;font-size:19px!important;color:#25141a!important}.review-source-card .review-live{display:block!important;font-size:12px!important;color:#39735b!important}.review-source-card a{display:inline-flex!important;align-items:center!important;margin-top:auto!important;min-height:38px!important;font-weight:900!important;color:var(--v24-accent)!important;text-decoration:none!important}.review-method-note{display:block!important;margin:14px 0 0!important;line-height:1.55!important;color:var(--v24-muted)!important}
/* Reservation */
.reservation-panel{display:block!important;max-width:1100px!important;margin:30px auto!important;padding:clamp(24px,4vw,40px)!important;border-radius:26px!important;border:1px solid var(--v24-line)!important;background:#fff!important;box-shadow:0 16px 42px rgba(17,52,67,.08)!important}.reservation-panel h2{margin:8px 0 12px!important;font-size:clamp(30px,4vw,50px)!important;line-height:1.06!important;color:var(--v24-deep)!important}.reservation-note{margin:0 0 22px!important;font-size:15px!important;line-height:1.55!important;color:var(--v24-muted)!important}.reservation-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.reservation-grid label{display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important;font-size:13px!important;font-weight:800!important;color:#4b303a!important}.reservation-grid input,.reservation-grid textarea,.reservation-grid select{display:block!important;width:100%!important;min-width:0!important;min-height:49px!important;box-sizing:border-box!important;border:1px solid #d6cbd0!important;border-radius:12px!important;padding:12px 13px!important;background:#fff!important;font:inherit!important;color:#241c1f!important}.reservation-grid textarea{min-height:120px!important;resize:vertical!important}.reservation-grid .wide{grid-column:1/-1!important}.reservation-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:18px!important}.reservation-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:13px 24px!important;border:0!important;border-radius:999px!important;background:var(--v24-accent)!important;color:#fff!important;font-weight:900!important;cursor:pointer!important}.reservation-disclaimer{margin-top:16px!important;padding-top:16px!important;border-top:1px solid var(--v24-line)!important;line-height:1.5!important;color:var(--v24-muted)!important}
@media(max-width:900px){.cbm-picks-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.restaurant-grid.v24-track>.restaurant-card{flex-basis:calc((100% - 20px)/2)!important}.v9-destinations.v24-track>.v9-destination{flex-basis:calc((100% - 18px)/2)!important}}
@media(max-width:620px){.cbm-season-picks{padding:30px 0!important}.cbm-season-picks>.wrap{padding:0 16px!important}.cbm-picks-grid{grid-template-columns:1fr!important}.cbm-picks-badge{display:none!important}.v24-carousel-head{align-items:center!important}.v24-carousel-title strong{font-size:15px!important}.v24-carousel-arrows button{width:42px!important;height:42px!important}.restaurant-grid.v24-track{gap:14px!important;padding-right:10vw!important}.restaurant-grid.v24-track>.restaurant-card{flex-basis:88%!important}.v9-destinations.v24-track{gap:14px!important;padding-right:10vw!important}.v9-destinations.v24-track>.v9-destination{flex-basis:88%!important}.review-source-grid{grid-template-columns:1fr!important}.reservation-panel{margin:18px 12px!important;padding:20px!important;border-radius:20px!important}.reservation-grid{grid-template-columns:1fr!important}.reservation-grid .wide{grid-column:auto!important}.reservation-actions>*{width:100%!important}}

/* V25 — idiomas visibles en portada + catálogo ampliado */
.v25-home-languages{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center;margin-left:auto}
.v25-home-languages a{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--season-primary,#087d88) 25%,#d9e4e8);background:#fff;color:var(--season-deep,#075d61);font-size:11px;font-weight:900;letter-spacing:.03em;text-decoration:none;transition:.2s ease}
.v25-home-languages a:hover,.v25-home-languages a.active{background:var(--season-primary,#087d88);border-color:var(--season-primary,#087d88);color:#fff;transform:translateY(-1px)}
.v25-live-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#087d88;background:#e8fbfa;border:1px solid #bfece9;padding:5px 8px;border-radius:999px}
.v25-live-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#21a179;box-shadow:0 0 0 3px rgba(33,161,121,.12)}
.restaurant-grid.v24-track>.restaurant-card.v25-generated .restaurant-card-visual{background:linear-gradient(135deg,var(--season-deep,#075d61),var(--season-primary,#087d88))}
.restaurant-card.v25-generated .restaurant-meta{padding:0 20px}
.restaurant-card.v25-generated>p{padding:0 20px}
.restaurant-card.v25-generated .restaurant-actions{padding:0 20px 20px}
@media(max-width:1180px){.v9-nav{flex-wrap:wrap}.v25-home-languages{order:5;width:100%;padding:8px 0 2px}}
@media(max-width:720px){.v25-home-languages{display:flex!important;order:3;width:100%;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;padding:10px 0 2px;scrollbar-width:none}.v25-home-languages::-webkit-scrollbar{display:none}.v25-home-languages a{flex:0 0 36px;width:36px;height:36px}.v9-domus-mini{display:none!important}}
/* V26 */
.v26-restaurant-count{font-weight:800;margin:10px 0 18px;color:var(--season-accent,#7b1635)}
.v26-open{color:#087d61!important}.v26-legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:18px 0;font-size:.92rem}.v26-legal-links a{color:inherit;text-decoration:none;font-weight:700}.v26-legal-links a:hover{text-decoration:underline}
.legal-page{max-width:920px;margin:0 auto;padding:54px 24px 80px}.legal-page h1{font-size:clamp(2rem,5vw,3.5rem);color:#7b1635}.legal-page h2{margin-top:2rem}.legal-page p,.legal-page li{line-height:1.7}.legal-alert{padding:16px 18px;border:1px solid #e6cbd5;border-radius:14px;background:#fff7fa}
