@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&family=Lora:wght@400;500&display=swap');
@font-face{font-family:"Dune Rise";src:url("images/Dune_Rise.ttf") format("truetype");font-display:swap}
html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
:root{--ink:#233128;--blue:#3c5244;--sky:#e4e7e4;--paper:#f4f3ef;--white:#ffffff;--yellow:#cfc1b0;--muted:#7d8780;--line:rgba(35,49,40,.12)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--ink)}body{font-family:"DM Sans",sans-serif;color:var(--ink);line-height:1.55}.app-shell{position:relative;width:100%;max-width:440px;min-height:100dvh;margin:auto;background:var(--paper);box-shadow:0 0 50px rgba(0,0,0,.5)}button,a{font:inherit;border:none;background:none}.appbar{height:75px;position:absolute;top:0;left:0;right:0;z-index:20;background:transparent;display:flex;justify-content:space-between;align-items:center;padding:0 20px;color:var(--ink);transition:color .3s}.appbar.detail-mode{color:white}.mini-logo{font:25px "Italiana",serif}.back{width:42px;height:42px;font-size:25px;text-align:left;cursor:pointer;color:inherit}.lang{display:flex;justify-content:flex-end;gap:3px}.lang button{padding:6px;font-size:10px;font-weight:700;color:inherit;opacity:.5;cursor:pointer;border-bottom:2px solid transparent}.lang button.on{opacity:1;border-bottom-color:currentColor}.home{padding:80px 14px 55px}.welcome-strip{margin:14px 0 30px;background:var(--ink);color:white;padding:22px;display:flex;align-items:center;gap:20px;border-radius:18px}.welcome-strip p{font:20px/1.15 "Italiana",serif}.welcome-strip b{margin-left:auto;font:32px "Italiana",serif;color:var(--yellow)}.menu-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin:0 6px 16px}.menu{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 12px}.menu button{border:1px solid var(--line);background:var(--white);border-radius:50%;aspect-ratio:1;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--ink);cursor:pointer;box-shadow:0 5px 16px rgba(19,37,54,.04);transition:.18s}.menu button:active{transform:scale(.95);background:var(--sky)}.menu-icon{height:40px;width:40px;border-radius:50%;background:var(--sky);display:grid;place-items:center}.menu svg,.detail-head svg,.wifi-art svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.menu button strong{display:block;font-size:11px;line-height:1.15;font-weight:600}.detail{padding:0 18px 50px;animation:enter .25s ease}.detail-head{background:var(--ink);color:white;margin:0 -18px 28px;padding:85px 26px 30px;position:relative;overflow:hidden}.detail-head:after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-55px;top:-60px}.detail-head svg{color:var(--yellow);margin-bottom:24px;width:34px;height:34px}.detail-head small{display:block;font-size:8px;letter-spacing:.2em;color:var(--sky)}.detail-head h1{font:44px/1 "Italiana",serif;margin-top:7px;color:var(--yellow)}.detail>p{margin:18px 3px;font-size:15px}.detail .lead{font:27px/1.2 "Italiana",serif}.detail blockquote{font:33px/1.12 "Italiana",serif;background:var(--yellow);padding:28px;margin-top:28px;border-radius:18px}.info{background:var(--white);border:1px solid var(--line);padding:20px;border-radius:18px;margin-bottom:12px}.info>small,.hours small,.quiet small,.breakfast-card small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#527086;margin-bottom:8px}.info div{font-size:14px}.info div>strong{font-weight:600;font-size:17px;letter-spacing:-.01em;display:block;color:var(--ink)}.info div>small{display:block;color:var(--muted);margin-top:5px}.action{display:flex;justify-content:space-between;background:var(--blue);color:white;padding:16px 20px;border-radius:15px;text-decoration:none;margin:15px 0}.hours{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white;border-radius:18px;overflow:hidden;margin-bottom:14px}.hours div{padding:25px 18px;border-right:1px solid rgba(255,255,255,.15)}.hours small{color:var(--sky)}.hours strong{font-weight:600;font-size:19px;color:var(--yellow);white-space:nowrap}.tip{border-left:4px solid var(--yellow);background:var(--white);padding:17px!important;margin-top:14px!important}.iban{width:100%;background:var(--yellow);color:var(--ink);padding:20px;border-radius:18px;text-align:left;margin-bottom:12px;cursor:pointer}.iban small,.iban strong,.iban span{display:block}.iban small{font-size:9px;letter-spacing:.16em}.iban strong{font-weight:600;font-size:18px;letter-spacing:1px;margin:10px 0;font-family:monospace}.iban span{font-size:10px;font-weight:700;text-transform:uppercase}.wifi-art{height:160px;background:var(--blue);border-radius:80px 80px 18px 18px;display:grid;place-items:center;color:var(--yellow)}.wifi-art svg{width:85px;height:85px}.quiet{background:var(--ink);color:white;border-radius:18px;padding:25px;margin:13px 0}.quiet small{color:var(--sky)}.quiet strong{display:block;font-weight:600;font-size:24px;color:var(--yellow)}.detail h2{font:27px "Italiana",serif;margin:30px 3px 10px}.price{display:flex;justify-content:space-between;padding:17px 3px;border-bottom:1px solid var(--line);font-size:14px}.breakfast-card{background:var(--yellow);border-radius:18px;padding:28px;margin-top:14px}.breakfast-card small{color:var(--ink)}.breakfast-card strong{font:67px/.9 "Italiana",serif}.breakfast-card span{font-size:10px;text-transform:uppercase}.breakfast-card p{margin-top:22px}.toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,100px);background:var(--ink);color:white;padding:12px 18px;border-radius:30px;font-size:12px;transition:.25s;pointer-events:none}.toast.show{transform:translate(-50%,0)}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--white);border:1px solid var(--line);padding:14px 10px;border-radius:16px;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:0 4px 12px rgba(19,37,54,.03)}.action-btn svg{width:18px;height:18px}@keyframes enter{from{opacity:0;transform:translateY(8px)}}@media(max-width:390px){.hours strong{font-size:23px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.nowrap{white-space:nowrap}
/* Identity Card (cover-fix) */
.identity-card {
  position: relative;
  overflow: hidden;
  min-height: 380px;
  margin: 0;
  padding: 28px 26px 34px;
  background: var(--ink);
  color: white;
  border-radius: 220px 220px 22px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.identity-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0.75;
  pointer-events: none;
}
.identity-copy {
  position: relative;
  z-index: 2;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}
.identity-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(circle at center, rgba(20, 30, 25, 0.45) 0%, rgba(20, 30, 25, 0) 65%);
  pointer-events: none;
}
.identity-card small {
  font-size: 8px;
  letter-spacing: .19em;
  color: var(--sky);
}
.identity-card h1 {
  font: 58px/1 "Italiana", serif;
  color: var(--yellow);
  margin: 13px 0 10px;
}
.identity-card p {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .15em;
}
.identity-arch {
  position: absolute;
  inset: 12px;
  border: 1.5px solid rgba(255, 255, 255, .7);
  border-radius: 208px 208px 14px 14px;
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 390px) {
  .identity-card { min-height: 340px; }
  .identity-card h1 { font-size: 49px; }
}
/* JS view and lang state management classes */
[data-view] { display: none; }
[data-view].active { display: block; }
[data-lang] { display: none; }
[data-lang].active { display: block; }
html[lang="en"] [data-lang="en"] { display: block; }
html[lang="en"] [data-lang="it"] { display: none; }
html[lang="it"] [data-lang="it"] { display: block; }
html[lang="it"] [data-lang="en"] { display: none; }

/* Welcome Section Background */
.detail-welcome {
  position: relative;
  isolation: isolate;
  color: white;
  min-height: 100vh;
}
.detail-welcome .detail-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: -2;
}
.detail-welcome .detail-shade {
  position: absolute;
  inset: 0;
  background: rgba(20, 30, 25, 0.75);
  z-index: -1;
}
.detail-welcome .detail-head {
  background: transparent;
  margin-bottom: 5px;
}

/* Eco Tour and local experiences */
.discovery-detail{padding-top:0}.discovery-hero{position:relative;height:390px;margin:0 -18px 28px;overflow:hidden;border-radius:0 0 24px 24px;background:var(--ink)}.discovery-hero img{width:100%;height:100%;object-fit:cover}.discovery-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,25,.08) 30%,rgba(20,30,25,.9) 100%)}.discovery-title{position:absolute;left:26px;right:26px;bottom:30px;color:white}.discovery-title small{font-size:8px;letter-spacing:.2em;color:var(--sky)}.discovery-title h1{font:44px/1.02 "Italiana",serif;color:var(--yellow);margin-top:7px}.experience-note{display:flex;flex-direction:column;gap:8px;background:var(--yellow);border-radius:18px;padding:22px;margin:22px 0}.experience-note strong{font:24px/1.1 "Italiana",serif}.experience-note span{font-size:14px}.experience-grid{display:grid;gap:14px;margin:22px 0}.experience-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--white)}.experience-card img{display:block;width:100%;height:190px;object-fit:cover}.experience-card div{padding:20px}.experience-card small{font-size:9px;letter-spacing:.16em;font-weight:700;color:#527086}.experience-card h2{font:25px/1.1 "Italiana",serif;margin:7px 0 10px}.experience-card p{font-size:14px;color:var(--ink)}
.experiences-head{background:var(--ink)}.detail .experiences-quote{font:30px/1.16 "Italiana",serif;background:var(--yellow);padding:28px;margin:28px 0;border-radius:18px}

.guide-credit{text-align:center;margin:46px 6px 0;padding-top:2px}.credit-line{display:flex;align-items:center;gap:10px;margin-bottom:20px}.credit-line:before,.credit-line:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--yellow))}.credit-line:after{background:linear-gradient(90deg,var(--yellow),transparent)}.credit-line span{width:7px;height:7px;border:1px solid var(--yellow);transform:rotate(45deg)}.credit-content{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.credit-content>small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.bewpot-brand{display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none}.bewpot-brand img{display:block;width:auto;height:22px;object-fit:contain}.bewpot-brand strong{font:20px/1 "Dune Rise",sans-serif;letter-spacing:.08em;color:var(--ink)}
.bewpot-brand strong span{display:inline;transform:none;border:0;width:auto;height:auto}.bewpot-blue{color:#0066cc}.bewpot-orange{color:#ff6a00}

/* Clearer display type: keeps the elegant serif style without thin, faded strokes. */
.welcome-strip p,
.welcome-strip b,
.identity-card h1,
.detail-head h1,
.detail .lead,
.detail blockquote,
.detail h2,
.breakfast-card strong,
.discovery-title h1,
.experience-note strong,
.experience-card h2,
.detail .experiences-quote {
  font-family: "Lora", Georgia, serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media (min-width: 700px) {
  body { padding: 28px 0; }
  .app-shell {
    width: 390px;
    min-height: calc(100dvh - 56px);
    border-radius: 24px;
    overflow: hidden;
  }
}
