/* V20 — additions only; the approved V19 hero, courses and shop stay intact. */
.v20-root [hidden],.v20-root[hidden]{display:none!important}
.v20-root button,.v20-root a{touch-action:manipulation}
.v20-root button:focus-visible,.v20-root a:focus-visible{outline:2px solid var(--gold,#f4bf2d);outline-offset:5px}
.v20-pill{appearance:none;border:1px solid #49443a;border-radius:999px;background:#111;color:#f5f1e8;padding:11px 18px;font:700 .78rem/1.3 Arial,sans-serif;cursor:pointer;white-space:nowrap;text-decoration:none}
.v20-pill:hover{border-color:var(--gold);color:var(--gold)}
.hero-location-row{display:flex;align-items:baseline;gap:12px;justify-content:space-between;position:relative;max-width:720px}
.hero-location-row>.eyebrow{flex:1}
.weather-inline{position:relative;flex:none;z-index:5}
.weather-badge{display:inline-flex;gap:6px;align-items:center;border:1px solid #eee4b44d;border-radius:30px;padding:5px 8px;color:#fff;background:#080808b8;cursor:pointer;font:700 12px/1.3 Arial,sans-serif;white-space:nowrap}
.weather-badge>span:first-child{color:#f4c53e;font-size:17px}.weather-place{font-size:9px;letter-spacing:.08em}
.weather-info{position:absolute;top:calc(100% + 12px);right:0;width:260px;padding:14px;border:1px solid #4c4534;border-radius:12px;background:#111;color:#ddd;box-shadow:0 15px 30px #0008;font:12px/1.6 Arial,sans-serif}
.weather-info p{font:inherit!important;color:inherit!important;margin:0 0 7px!important}.weather-info a{color:#f1bd2d;text-decoration:underline}
@media(max-width:450px){.hero-location-row{gap:6px}.hero-location-row>.eyebrow{font-size:.57rem!important;letter-spacing:.11em!important}.weather-badge{font-size:10px;padding:4px 6px}.weather-place{display:none}}
/* The temporary notice is deliberately below the original first viewport. */
.important-strip{border-block:1px solid #54431d;background:#1b170d;color:#fff}
.important-inner{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:17px}
.important-inner strong{font:800 .86rem/1.35 Arial,sans-serif;letter-spacing:.035em;color:#f5ce68}
.important-inner p{margin:5px 0 0;font:14px/1.5 Arial,sans-serif;color:#d7d0c0;max-width:740px}
.important-dot{display:inline-block;width:7px;height:7px;background:#f6c94e;border-radius:50%;margin-right:8px}
@media(max-width:600px){.important-inner{align-items:flex-start;flex-direction:column;gap:11px;padding-block:15px}.important-inner strong{font-size:.76rem}.important-inner p{font-size:12px}.important-inner .v20-pill{font-size:.72rem;padding:8px 13px}}
.notice-dialog{width:min(96vw,1000px);max-width:1000px;max-height:90dvh;padding:0;border:1px solid #494136;border-radius:20px;color:#f3eee4;background:#0e0e0e}
.notice-dialog::backdrop{background:#000d;backdrop-filter:blur(4px)}
.notice-dialog-inner{padding:clamp(18px,4vw,32px);overflow:auto;max-height:88dvh}
.notice-close{float:right;background:#191919;border:1px solid #555;color:#fff;padding:9px 13px;border-radius:20px;cursor:pointer;margin:0 0 12px 12px}
.notice-dialog h2{font-size:clamp(1.4rem,5vw,2.8rem);margin:8px 0 16px;line-height:1.05}
.notice-dialog p{font-size:14px;line-height:1.65;color:#c8c3b9}
.schedule-table-wrap{margin-top:20px;border:1px solid #39352e;border-radius:12px;overflow:hidden}
.schedule-table{border-collapse:collapse;width:100%;font:13px/1.45 Arial,sans-serif;table-layout:fixed}
.schedule-table th,.schedule-table td{padding:12px;border-bottom:1px solid #302d27;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.schedule-table thead{background:#1d1b17}.schedule-table thead th:nth-child(2){color:#ff7676}.schedule-table thead th:nth-child(3){color:#6ed6ff}.schedule-table th:first-child{width:22%}
.schedule-table tbody th{font-weight:700;color:#eee}.schedule-table tbody tr:last-child>*{border-bottom:0}.schedule-closed{color:#ffb0a8}.schedule-time{display:block;font-weight:bold;color:#fff;white-space:nowrap}
@media(max-width:550px){.schedule-table{font-size:11px}.schedule-table th,.schedule-table td{padding:9px 6px}.schedule-table th:first-child{width:23%}}
.notice-posters{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start;margin-top:16px}.notice-posters a{min-width:0;color:#efc350;font-size:12px}.notice-posters img{display:block;max-width:100%;height:auto;border-radius:10px;margin-bottom:10px}.notice-posters span{display:block}.poster-caption{margin-top:24px!important}
@media(max-width:550px){.notice-posters{grid-template-columns:1fr}.notice-posters img{max-height:75vh;object-fit:contain}}
/* A slow right-moving ribbon of original photographs; full frames preserve credits. */
.mijas-moments{padding:clamp(40px,6vw,85px) 0 0;overflow:hidden;isolation:isolate}
.moments-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.moments-heading h2{font-size:clamp(2rem,5vw,4.6rem);line-height:.97;letter-spacing:-.025em;max-width:850px;margin:12px 0 14px}
.moments-heading>div>p:last-child{font-size:clamp(.82rem,1.4vw,1rem);max-width:630px;color:#bcb6ab;line-height:1.6}
.moments-heading .eyebrow{font-size:.7rem;letter-spacing:.17em;color:#d8b768}
.reel-controls{display:flex;gap:6px;align-items:center;flex:none;padding-bottom:4px}
.reel-controls button{border:1px solid #45423b;background:#111;color:#e9e2d6;border-radius:999px;min-width:38px;min-height:36px;font:700 12px/1 Arial,sans-serif;cursor:pointer;padding:8px 13px}
.reel-controls button:hover{border-color:#dbbd70;color:#f1cc6a}
.photo-reel{--frame-w:clamp(245px,48vw,610px);width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:20px 0;touch-action:pan-x pan-y;cursor:grab;outline:none;overscroll-behavior-x:contain}
.photo-reel::-webkit-scrollbar{display:none}.photo-reel.dragging{cursor:grabbing}
.photo-reel-track{display:flex;align-items:center;width:max-content}
.reel-slot{flex:0 0 var(--frame-w);width:var(--frame-w);height:calc(var(--frame-w) * .69);display:flex;align-items:center;justify-content:center}
.reel-card{width:100%;height:auto;max-height:100%;appearance:none;padding:0;border:0;border-radius:14px;background:#080808;cursor:pointer;transform:scale(var(--scale,.5));opacity:var(--opacity,.7);will-change:transform;box-shadow:0 16px 44px #0008;overflow:hidden;user-select:none}
.reel-card img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.moments-footer{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;padding-top:4px}
.moments-footer .photo-credit{font:12px/1.6 Arial,sans-serif;color:#aaa399;margin:0}.photo-credit a{color:#d8b768;text-decoration:underline;text-underline-offset:3px}
.moments-footer>span{font:11px/1.5 Arial,sans-serif;color:#938d83}.moments-footer .v20-pill{font-size:11px;padding:9px 15px}
@media(max-width:600px){.moments-heading{display:block}.moments-heading h2{font-size:2.1rem}.reel-controls{margin-top:14px;justify-content:flex-end}.photo-reel{--frame-w:76vw;padding:9px 0 15px}.moments-footer{gap:8px}.moments-footer .photo-credit{font-size:10px}.moments-footer>span{font-size:10px}.moments-heading .eyebrow{font-size:.62rem}.mijas-moments{padding-top:38px}}
/* Four headlines, no third-party images, trackers, autoplay or translations. */
.disc-news{border-block:1px solid #25231e;background:#0b0b0a;padding:48px 0!important}
.news-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:23px}
.news-heading h2{font-size:clamp(2rem,5vw,4rem);line-height:.98;margin:10px 0 0}.news-heading>.eyebrow{font-size:.65rem}
.news-heading>p{font-size:.9rem;line-height:1.65;color:#aba599;max-width:400px;margin:0}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.news-card{border:1px solid #36312a;border-radius:16px;background:#12110f;padding:22px;display:flex;flex-direction:column;gap:15px;min-width:0}
.news-card-meta{display:flex;gap:12px;justify-content:space-between;font:11px/1.5 Arial,sans-serif;color:#b5ab93}.news-card-meta strong{color:#e2bf67}.news-card h3{font:700 clamp(1rem,1.5vw,1.25rem)/1.4 Arial,sans-serif;margin:0;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}
.news-card a{color:inherit;text-decoration:none}.news-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}.news-card .news-link{font-size:.75rem;color:#eccb77;margin-top:auto;align-self:flex-start}
.news-status{font:12px/1.6 Arial,sans-serif!important;color:#a7a096!important;margin:17px 0 9px!important}
.news-sources{font:11px/1.7 Arial,sans-serif;color:#8d887f}.news-sources a{color:#b5ac9c;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.news-heading{display:block}.news-heading>p{margin-top:16px;font-size:.8rem}.news-grid{grid-template-columns:1fr}.news-card{padding:18px}.disc-news{padding:34px 0!important}}
/* Dialogs added by V20 can always be closed without losing the page position. */
.gallery-credit a{color:inherit;text-decoration:underline}
.gallery-media-error{font:14px/1.6 Arial,sans-serif;color:#eee;padding:30px;text-align:center}
@media(prefers-reduced-motion:reduce){.photo-reel{scroll-behavior:auto}.reel-card{transition:none}}
/* Keep neighbours visible on phones too: overlap the slots, not the photographs. */
.reel-slot{flex-basis:calc(var(--frame-w)*.78);width:calc(var(--frame-w)*.78)}
.reel-card{flex:0 0 var(--frame-w);width:var(--frame-w)}
