@font-face{font-family:Outfit;src:url('/fuengirola/lunch/outfit-v1.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  color-scheme:light;
  --bg:#FFFDF8;--card:#FFFFFF;--ink:#18313A;--muted:#405861;--accent:#006B66;--accent-ink:#FFFFFF;
  --line:#D6E2E0;--tint:#E4F2F0;--sand:#FBF1DF;--ended:#EEF1F1;--hit:#E0F3EF;
  --navy:#0B202B;--navy-ink:#F4F9FA;--cyan:#22D3EE;--lime:#E6F45C;
  --tap:48px;--radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.4 Outfit,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-wrap:anywhere}
h1,h2,h3,p{margin:0}
a{color:var(--accent)}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:640px;margin:0 auto;padding:10px 16px 0;position:relative;z-index:1}
.logo{display:block;min-height:var(--tap)}
.logo img{display:block;height:58px;width:auto}
.lang select{min-height:var(--tap);padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-weight:500}

.hero{max-width:640px;margin:0 auto}
.scene{display:block;width:100%;height:44px;stroke:none;margin-top:4px}
.hero-text{padding:4px 16px 0}
.hero h1{font-size:28px;line-height:1.12;font-weight:700;letter-spacing:-.01em;max-width:13em}
.hero p{color:var(--muted);margin-top:2px;font-size:17px}

.wrap{max-width:640px;margin:0 auto;padding:4px 16px 32px}
.search{display:flex;align-items:center;gap:10px;min-height:var(--tap);padding:0 14px;background:var(--card);border:1px solid var(--line);border-radius:24px}
.search svg{width:22px;height:22px;flex:none;color:var(--accent)}
.search input{flex:1;min-width:0;height:46px;border:0;background:transparent;font-size:16px;outline:0;appearance:none}
.search:focus-within{outline:3px solid var(--accent);outline-offset:2px}

.days{display:flex;gap:8px;overflow-x:auto;margin:12px -16px 0;padding:2px 16px;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:16px}
.days::-webkit-scrollbar{display:none}
.chip{flex:none;min-height:var(--tap);padding:6px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-weight:500;cursor:pointer;scroll-snap-align:start;text-align:center}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.filters .chip{padding:6px 14px;background:transparent;white-space:nowrap}
.filters .chip[aria-pressed="true"]{background:var(--tint);color:var(--accent);border-color:var(--accent);font-weight:600}

.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px}
.list-head h2{font-size:22px;line-height:1.2;font-weight:700}
.ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:var(--tap);padding:0 14px;border:1px solid var(--accent);border-radius:12px;background:transparent;color:var(--accent);font-weight:500;cursor:pointer;text-decoration:none}
.ghost svg{width:20px;height:20px;flex:none}
.note{color:var(--muted);font-size:16px}
#count{flex:none}
.map-panel{margin-top:10px}
.map{height:300px;border-radius:var(--radius);overflow:hidden;background:var(--tint)}
.pin-btn{display:block;min-height:40px;padding:6px 8px;border:0;background:none;color:var(--accent);font:600 16px Outfit,sans-serif;text-decoration:underline;cursor:pointer;text-align:left}

.list{display:grid;gap:12px;margin-top:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;scroll-margin-top:12px}
.card.ended{background:var(--ended)}
.card h3{font-size:21px;line-height:1.2;font-weight:700}
.price{color:var(--accent);font-size:20px;font-weight:700;line-height:1.25;margin-top:1px}
.time{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--tint)}
.time svg{width:16px;height:16px;flex:none}
.ended .time{background:#DDE3E3}
.time.now{background:var(--tint)}
.dist{margin-left:8px;color:var(--muted);white-space:nowrap}
.menu{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}
.menu li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.menu li.hit{background:var(--hit);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:6px}
.menu .amt{flex:none;font-weight:600;white-space:nowrap}
.menu .course{display:block}
.menu .course b{font-weight:600}
.card:not(.open) .menu li.more{display:none}
.card:not(.open) .menu .course{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.includes{margin-top:8px;color:var(--muted)}
.source{margin-top:6px;color:var(--muted)}
.source{display:flex;flex-wrap:wrap;align-items:center;column-gap:.3em}
.source a{display:inline-flex;align-items:center;min-height:44px}
.expand{display:block;width:100%;min-height:var(--tap);margin-top:4px;border:0;background:none;color:var(--accent);font-weight:600;text-align:left;cursor:pointer;padding:0}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.primary{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:6px 12px;border-radius:12px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;text-align:center}
.primary svg,.secondary svg{width:20px;height:20px;flex:none}
.secondary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:6px 10px;border:1px solid var(--accent);border-radius:12px;background:transparent;color:var(--accent);font-weight:500;cursor:pointer}
.secondary[aria-pressed="true"] svg{fill:currentColor}
.card:not(.open) .secondary,.card:not(.open) .includes{display:none}

.state{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 16px;text-align:center}
.state h3{font-size:20px;font-weight:700}
.state p{color:var(--muted);margin-top:4px}
.state button{margin-top:12px}
.skeleton{height:190px;border-radius:var(--radius);background:linear-gradient(100deg,var(--tint) 40%,#F3F9F8 50%,var(--tint) 60%);background-size:300% 100%;animation:sh 1.4s linear infinite}
@keyframes sh{to{background-position:-150% 0}}
@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}

.foot{margin-top:16px}
.lang-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0}
.lang-links a[aria-current]{color:inherit;font-weight:600;text-decoration:none}

.toast{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto;padding:12px 16px;border-radius:12px;background:var(--navy);color:var(--navy-ink);z-index:5}

.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.chip.clear{border:0;color:var(--accent);text-decoration:underline;padding:6px 8px;background:none}
.selects{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.selects select{width:100%;min-height:var(--tap);padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.place{color:inherit;text-decoration:none}
.place:hover{text-decoration:underline}
.updated{margin-left:auto}
.actions .wide{grid-column:1/-1}
.report{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--muted);text-decoration:underline}
.card:not(.open) .report,.card:not(.open) .wide{display:none}
.ended-group summary{display:flex;align-items:center;min-height:var(--tap);font-weight:600;cursor:pointer}
.pin{display:block;padding:3px 8px;border-radius:999px;background:var(--accent);color:#fff;font:600 14px Outfit,sans-serif;white-space:nowrap;cursor:pointer;box-shadow:0 2px 6px rgba(11,32,43,.35)}
.pin-ended{background:#6B7B80}
.only-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--sand);color:var(--ink);font-size:16px;font-weight:600;vertical-align:middle}

/* Sizes from the 2 November 2026 lunch mockup. */
.top{min-height:68px;padding:2px 16px 0}
.logo img{height:64px;width:113px;object-fit:contain}
.lang select{min-width:96px}
.scene{height:28px}
.hero-text{padding:2px 16px 0}
.hero h1{line-height:1.08}
.search{border-radius:14px}
.days{margin-top:8px}
.tools .ghost{width:100%}
.ghost svg{stroke-width:1.8}
#filter-box{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.filters .chip{width:100%;padding:6px 8px;white-space:normal;background:transparent}
.filters .chip[aria-pressed="true"]::before{content:"✓ "}
.filters .chip.clear{grid-column:1/-1;width:auto;justify-self:start;text-align:left;padding:6px 0}
.selects{grid-template-columns:1fr;margin-top:10px}
.selects label{display:grid;gap:4px;color:var(--muted)}
.selects select{color:var(--ink)}
.list-head{margin:12px 0 10px}
.list-head h2{font-size:22px}
.load-note{margin:0 0 8px}
.list{gap:12px;margin-top:0}
.card{padding:15px;border-radius:16px}
.card h3{font-size:22px}
.price{font-size:22px;margin-top:2px}
.only-tag{font-weight:600}
.time{padding:4px 10px;border-radius:10px;background:var(--tint)}
.ended .time{background:#DDE3E3}
.menu li{padding:8px 0}
.menu li>span:first-child{min-width:0}
.menu .amt{font-weight:700}
.menu .below{display:block;margin-top:2px;color:var(--accent);font-weight:700}
.menu li.hit{margin:0 -8px;padding-left:8px;padding-right:8px}
.expand{display:flex;align-items:center;justify-content:space-between;gap:8px}
.expand svg{width:20px;height:20px;flex:none}
.includes{margin-top:8px;padding:10px 12px;border-radius:10px;background:#EEF4F2}
.source{display:block;margin-top:8px}
.source a{min-height:44px;margin-left:.3em}
.updated{display:block;margin:0}
.state{padding:20px 16px;text-align:left}
.state-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:12px;border-radius:12px;background:var(--tint);color:var(--accent)}
.state-icon svg{width:24px;height:24px}
.state .primary{margin-top:12px}
.ended-group{border-top:1px solid var(--line)}
.ended-group summary{justify-content:space-between;list-style:none;font-size:18px}
.ended-group summary::-webkit-details-marker{display:none}
.ended-group summary::after{content:"";width:9px;height:9px;margin-right:6px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.ended-group[open] summary::after{transform:rotate(225deg)}
.legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 4px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.legend i.off{background:#53666B}
.pin{position:relative;padding:4px 9px;border-radius:999px;background:var(--accent);font-size:15px;line-height:1.2;box-shadow:0 2px 6px rgba(11,32,43,.35)}
.pin::after{content:"";position:absolute;inset:-10px -4px}
.pin-ended{background:#53666B}

.promo{position:relative;padding:0;border-radius:22px;background:#061D2B;color:var(--navy-ink);overflow:hidden;box-shadow:0 10px 30px rgba(11,32,43,.28)}
.promo-link{display:block}
.promo-art{display:block;width:100%;height:auto;aspect-ratio:3/4;background:#061D2B}
.promo-fine{margin:0;padding:10px 14px 14px;color:#C7DCE4;font-size:16px;line-height:1.35}
.promo-stores{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px 0}
.promo-stores a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:#D3FF27;color:#14242C;font-weight:700;text-decoration:none;text-align:center}
.promo-link:focus-visible,.promo-stores a:focus-visible,.promo-later:focus-visible,.promo-close:focus-visible{outline:3px solid #D3FF27;outline-offset:-3px}
.promo-close{position:absolute;top:8px;right:8px;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:rgba(6,29,43,.78);color:#F7FAFC;font-size:26px;line-height:1;cursor:pointer}
.promo-later{display:block;width:100%;min-height:48px;margin:0;padding:0 14px;border:0;background:none;color:#F7FAFC;font-weight:600;cursor:pointer}
.sheet{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0;background:rgba(11,32,43,.6)}
.sheet .promo{width:100%;max-width:440px;max-height:min(600px,100vh);max-height:min(600px,100dvh);overflow-y:auto;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:rise .28s ease-out}
@keyframes rise{from{transform:translateY(24px);opacity:0}}
@media (prefers-reduced-motion:reduce){.sheet .promo{animation:none}}
@media (min-width:700px){.sheet{justify-content:center}.sheet .promo{border-radius:24px;max-height:min(760px,92vh)}}
.source a{min-height:0}
.sheet .promo-link{max-width:calc((min(600px,100vh) - 124px)*.75);max-width:calc((min(600px,100dvh) - 124px)*.75);margin:0 auto}
@media (min-width:700px){.sheet .promo-link{max-width:none}}
.card.short .includes{display:block}
@media (min-width:1024px){
  .top,.hero,.wrap{max-width:1180px}
  .hero h1{font-size:36px}
  .wrap{padding-bottom:48px}
  .tools{grid-template-columns:repeat(2,minmax(0,220px));justify-content:start}
  #filter-box{max-width:760px}
  .filters{grid-template-columns:repeat(4,minmax(0,1fr))}
  .selects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map{height:420px}
  #list{grid-template-columns:repeat(2,minmax(0,1fr)) 340px;align-items:start}
  #list>.promo{grid-column:3;grid-row:1/span 40;position:sticky;top:16px}
  #list>.state,#list>.load-note,#list>.ended-group{grid-column:1/3}
  #list>.ended-group .list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  #list>.skeleton{grid-column:span 1}
}
.list-head.day-done h2{font-size:28px;line-height:1.15}
.next-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.next-line h3{margin:0;font-size:20px;line-height:1.25;font-weight:600}
.next-line .note{flex:none;margin:0}
@media (min-width:1024px){#list>.next-line{grid-column:1/3}}
.listing{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--sand)}
.listing[hidden],.listing form[hidden]{display:none}
.listing h2{margin:0 0 4px;font-size:22px;line-height:1.2;font-weight:700}
.listing p{margin:0}
.listing form{display:grid;gap:12px;margin-top:12px}
.listing label{display:grid;gap:4px;font-weight:500}
.listing input{width:100%;min-height:var(--tap);padding:0 12px;border:1px solid var(--muted);border-radius:12px;background:var(--card);color:var(--ink);font:inherit}
.listing .hp{position:absolute;left:-9999px;width:1px;height:1px;min-height:0;padding:0;border:0}
.listing button{min-height:var(--tap);padding:6px 20px;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}
.listing button:disabled{opacity:.6;cursor:default}
.listing .listing-note{color:var(--muted);font-size:14px}
#listing-status{margin-top:8px;font-weight:600}
#listing-status:empty{display:none}
@media (min-width:1024px){
  .listing form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}
  .listing .listing-note{grid-column:1/-1}
}
.link-btn{display:inline;padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}
.consent{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;max-width:520px;max-height:calc(100vh - 24px);overflow-y:auto;margin:0 auto;padding:16px;border-radius:16px;background:var(--navy);color:var(--navy-ink);box-shadow:0 12px 36px rgba(11,32,43,.45)}
.consent h2{font-size:20px;line-height:1.2;margin-bottom:4px}
.consent a{color:#BFE9F2}
.consent-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.consent button{min-height:48px;padding:6px 12px;border:1px solid var(--navy-ink);border-radius:12px;background:transparent;color:var(--navy-ink);font-weight:600;cursor:pointer}
.consent .consent-choice{background:var(--navy-ink);color:var(--navy)}
.consent .consent-more{display:block;width:100%;margin-top:8px;border-color:transparent;text-decoration:underline;font-weight:500}
.consent label{display:flex;align-items:center;gap:10px;min-height:48px;margin-top:4px}
.consent input{flex:none;width:22px;height:22px}
.consent :focus-visible{outline:3px solid var(--lime);outline-offset:2px}
#near-toggle{grid-column:1/-1}
#near-toggle[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
#near-toggle[aria-busy="true"]{opacity:.6}
@media (min-width:640px){
  .tools{grid-template-columns:repeat(3,minmax(0,1fr))}
  #near-toggle{grid-column:auto}
}
@media (min-width:1024px){.tools{grid-template-columns:repeat(3,minmax(0,220px))}}
