
.stavino-app{--forest:#0b241a;--gold:#d9b66a;--gold2:#efd69b;--cream:#f6f0e5;--paper:#fffdf8;--ink:#14251e;--muted:#6f7a73;--line:#e6ddcf;max-width:430px;min-height:100vh;margin:0 auto;background:var(--cream);color:var(--ink);position:relative;overflow:hidden;padding-bottom:82px;box-shadow:0 0 80px rgba(0,0,0,.12);font-family:Inter,Arial,sans-serif}
.stavino-app *{box-sizing:border-box}.stavino-app button,.stavino-app input,.stavino-app select,.stavino-app textarea{font:inherit}
.stavino-topbar{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px 20px;color:#fff}
.stavino-logo{font:27px Georgia,serif;letter-spacing:3px}.stavino-logo b{color:var(--gold);font-weight:500}
.stavino-top-pill{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);border-radius:99px;padding:8px 11px;font-size:10px;font-weight:800}
.stavino-screen{display:none}.stavino-screen.is-active{display:block}
.stavino-hero{min-height:640px;padding:135px 22px 28px;color:#fff;position:relative;overflow:hidden;background:radial-gradient(circle at 82% 15%,rgba(217,182,106,.26),transparent 28%),linear-gradient(155deg,#164431,#0b241a 58%,#071a13)}
.stavino-hero:before{content:"";position:absolute;width:520px;height:220px;border-radius:50%;right:-230px;bottom:130px;background:#2a5b44;transform:rotate(-10deg);opacity:.34}
.stavino-hero:after{content:"";position:absolute;width:560px;height:235px;border-radius:50%;left:-235px;bottom:45px;background:#15392b;transform:rotate(8deg);opacity:.8}
.stavino-sun{position:absolute;right:48px;bottom:185px;width:54px;height:54px;border-radius:50%;background:var(--gold);opacity:.84}
.stavino-hero-content{position:relative;z-index:2}.stavino-eyebrow,.stavino-kicker.light{color:var(--gold2)}
.stavino-eyebrow,.stavino-kicker{font-size:10px;font-weight:950;letter-spacing:1.7px}.stavino-kicker{color:#876d3d}
.stavino-hero h1{font:400 48px/.99 Georgia,serif;margin:13px 0 16px}.stavino-hero p{color:#dfe7e2;font-size:13px;line-height:1.58}
.stavino-actions{display:flex;gap:10px;margin-top:24px}.stavino-btn{border:0;border-radius:17px;padding:15px 17px;font-weight:900;cursor:pointer}.stavino-btn.is-gold{background:var(--gold);color:#17271f}.stavino-btn.is-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.22)}.stavino-btn.is-dark{background:var(--forest);color:#fff}.stavino-btn.is-wide{width:100%}
.stavino-stats{position:absolute;z-index:3;left:20px;right:20px;bottom:24px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:22px;padding:14px}.stavino-stats div{text-align:center}.stavino-stats strong{display:block;color:var(--gold2);font-size:17px}.stavino-stats span{font-size:9px;color:#d3ddd7}
.stavino-section{padding:28px 20px}.stavino-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.stavino-section-head h2,.stavino-section h2{font:400 30px Georgia,serif;margin:5px 0 0}.stavino-section-head small{color:var(--muted)}
.stavino-feature-grid{display:grid;gap:12px}.stavino-feature{width:100%;min-height:176px;border:0;border-radius:25px;padding:19px;color:#fff;text-align:left;position:relative;overflow:hidden;cursor:pointer}.stavino-feature.one{background:linear-gradient(145deg,#23533e,#0b241a)}.stavino-feature.two{background:linear-gradient(145deg,#5f3b2a,#261c16)}.stavino-feature.three{background:linear-gradient(145deg,#2a4b3d,#0b241a)}.stavino-feature.four{background:linear-gradient(145deg,#4e4229,#171b16)}.stavino-feature .icon{font-size:27px}.stavino-feature h3{font:400 25px Georgia,serif;margin:45px 0 5px}.stavino-feature p{margin:0;color:#dce4df;font-size:12px;line-height:1.45}
.stavino-simple-hero{padding:100px 20px 28px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(217,182,106,.24),transparent 25%),linear-gradient(150deg,#15422f,#081e16)}.stavino-simple-hero h1{font:400 38px Georgia,serif;margin:7px 0 8px}.stavino-simple-hero p{color:#dbe3df;font-size:12px;line-height:1.5}
.stavino-card{background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:18px}.stavino-origin-list{display:grid;gap:8px}.stavino-origin{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:17px;background:#fff;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:850;cursor:pointer}.stavino-origin small{display:block;color:var(--muted);font-weight:500;font-size:10px}.stavino-origin.is-active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,182,106,.15)}
.stavino-progress{height:7px;border-radius:99px;background:#e5ddcf;overflow:hidden;margin:18px 0 7px}.stavino-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#b78b3c);transition:.3s}.stavino-progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:12px}
.stavino-missions{display:grid;gap:9px}.stavino-mission{width:100%;border:1px solid var(--line);border-radius:20px;background:#fff;padding:14px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}.stavino-mission.is-locked{opacity:.48}.stavino-mission.is-done{border-color:#b2c7b7}.stavino-num{width:42px;height:42px;border-radius:14px;background:#eee5d5;display:grid;place-items:center;font-weight:950;flex:none}.stavino-mission.is-done .stavino-num{background:var(--forest);color:#fff}.stavino-mission h3{font-size:14px;margin:0 0 4px}.stavino-mission p{font-size:10px;color:var(--muted);margin:0}.stavino-arrow{margin-left:auto}.stavino-reward-preview{margin-top:14px;background:#f0e4c8;border-radius:18px;padding:14px;font-size:12px;color:#6b5834}
.stavino-availability-list .row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.stavino-availability-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:14px}
.stavino-dark-card{background:linear-gradient(145deg,#173e2d,#071d15);color:#fff;border-radius:25px;padding:18px}.stavino-dark-card h3{font:400 26px Georgia,serif}.stavino-answers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stavino-answers button{border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.06);color:#fff;border-radius:15px;padding:13px;text-align:left;cursor:pointer}.stavino-wine-result{display:none;border-top:1px solid rgba(255,255,255,.14);margin-top:14px;padding-top:14px}.stavino-wine-result.is-visible{display:block}.stavino-wine-result h2{color:#fff}
.stavino-program{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.stavino-program:last-child{border-bottom:0}.stavino-program .pi{width:46px;height:46px;border-radius:14px;background:#efe4ca;display:grid;place-items:center;flex:none}.stavino-program h3{font-size:14px;margin:2px 0 4px}.stavino-program p{margin:0;color:var(--muted);font-size:10px}.stavino-textbtn{border:0;background:none;color:#80652f;padding:7px 0 0;font-weight:900;font-size:11px;cursor:pointer}
.stavino-reward-box{background:linear-gradient(135deg,#f0e3c5,#fffaf0);border:1px solid #ddc994;border-radius:25px;padding:18px}.stavino-tag{display:inline-block;background:#ead9b1;color:#644e25;border-radius:99px;padding:6px 9px;font-size:9px;font-weight:950}.stavino-coupon{border:1px dashed #b99b5e;border-radius:18px;padding:14px;background:#fffaf0;margin-top:12px}.stavino-coupon strong{display:block;font:400 25px Georgia,serif}
.stavino-bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(430px,100%);height:76px;background:rgba(255,253,248,.95);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.stavino-bottom-nav button{border:0;background:none;color:#6e7972;font-size:9px;cursor:pointer}.stavino-bottom-nav i{display:block;font-size:20px;font-style:normal}.stavino-bottom-nav button.is-active{color:var(--forest);font-weight:950}
.stavino-modal{display:none;position:fixed;z-index:1000;inset:0;background:rgba(4,17,12,.76);align-items:flex-end;justify-content:center}.stavino-modal.is-open{display:flex}.stavino-sheet{width:min(430px,100%);max-height:92vh;overflow:auto;background:var(--paper);border-radius:30px 30px 0 0;padding:22px}.stavino-close{float:right;width:38px;height:38px;border:0;border-radius:50%;background:#eee6d9;font-size:20px;cursor:pointer}.stavino-sheet h2{font:400 30px Georgia,serif}.stavino-sheet p{color:var(--muted);font-size:11px}.stavino-zone{background:#edf3ee;border-radius:17px;padding:13px;margin:14px 0;font-size:11px}.stavino-clue{background:#f0e4c8;border-radius:18px;padding:14px;margin:12px 0}.stavino-clue h3{font:400 23px Georgia,serif}.stavino-clue p{color:#6e5b36}.stavino-hint{display:none;background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px;margin:10px 0}.stavino-hint.is-visible{display:block}.stavino-help{display:block;border:0;background:none;color:#80652f;margin:10px auto;font-weight:900;cursor:pointer}.stavino-codebox{display:none;gap:7px;margin-top:10px}.stavino-codebox.is-visible{display:flex}.stavino-codebox input{min-width:0;flex:1;border:1px solid #d7cdbc;border-radius:13px;padding:12px}.stavino-codebox button{border:0;border-radius:13px;background:var(--forest);color:#fff;font-weight:900;padding:0 13px}.stavino-booking-form{display:grid;gap:10px}.stavino-booking-form label{font-size:10px;font-weight:900}.stavino-booking-form input,.stavino-booking-form select,.stavino-booking-form textarea{width:100%;display:block;margin-top:5px;border:1px solid #d8cfbf;border-radius:13px;padding:12px}
.stavino-toast{position:fixed;z-index:1200;left:50%;bottom:92px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--forest);color:#fff;border-radius:14px;padding:12px 15px;font-size:11px;transition:.2s;max-width:350px;text-align:center}.stavino-toast.is-visible{opacity:1;transform:translateX(-50%)}
@media(max-width:500px){.stavino-app{max-width:none}.stavino-bottom-nav{width:100%}}

.stavino-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

.stavino-tour-grid{display:grid;gap:12px}
.stavino-tour-card{width:100%;border:1px solid var(--line);border-radius:24px;background:#fff;padding:17px;text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(11,36,26,.06)}
.stavino-tour-card .top{display:flex;justify-content:space-between;gap:10px;align-items:start}
.stavino-tour-card h3{font:400 24px Georgia,serif;margin:0 0 5px}
.stavino-tour-card p{font-size:11px;color:var(--muted);line-height:1.45}
.stavino-tour-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.stavino-tour-meta span{background:#efe5cf;border-radius:99px;padding:6px 8px;font-size:9px;color:#6b5834;font-weight:800}
.stavino-tour-route{margin-top:12px}
.stavino-quiz-meta{display:flex;justify-content:space-between;font-size:10px;color:#d6ded9}
.stavino-quiz-answers{display:grid;gap:8px}
.stavino-quiz-answers button{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;border-radius:15px;padding:13px;text-align:left;cursor:pointer}
.stavino-match-list{display:grid;gap:10px;margin-bottom:14px}
.stavino-match{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px}
.stavino-match-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.stavino-match h3{font:400 22px Georgia,serif;margin:0}
.stavino-match .percent{font:400 25px Georgia,serif;color:#7f6530}
.stavino-match-bar{height:7px;background:#ece4d6;border-radius:99px;overflow:hidden;margin:10px 0 6px}
.stavino-match-bar span{display:block;height:100%;background:linear-gradient(90deg,#d9b66a,#b68c3d)}
.stavino-match p{font-size:10px;color:var(--muted);margin:0}

.stavino-today-card,.stavino-promo-card,.stavino-bundle-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:17px;margin-bottom:12px;box-shadow:0 10px 30px rgba(11,36,26,.06)}
.stavino-promo-card{background:#0b241a;color:#fff}.stavino-promo-card p{color:#d5ddd8}
.stavino-bundle-card{margin:12px 0}.stavino-bundle-list{display:grid;gap:7px;margin:12px 0}
.stavino-bundle-row{display:flex;justify-content:space-between;gap:12px;background:#f3ecdf;border-radius:13px;padding:10px;font-size:11px}


/* v2.2 visibility fix: tour names and origin names must always be visible */
.stavino-tour-card,
.stavino-tour-card:link,
.stavino-tour-card:visited,
.stavino-tour-card:hover,
.stavino-tour-card:focus,
.stavino-tour-card:active{
  color:var(--ink)!important;
  text-decoration:none!important;
}
.stavino-tour-card h3{
  color:var(--ink)!important;
  opacity:1!important;
  visibility:visible!important;
}
.stavino-tour-card p{
  color:var(--muted)!important;
  opacity:1!important;
  visibility:visible!important;
}
.stavino-tour-card .top > span{
  color:#7d6840!important;
}

.stavino-origin,
.stavino-origin:link,
.stavino-origin:visited,
.stavino-origin:hover,
.stavino-origin:focus,
.stavino-origin:active{
  color:var(--ink)!important;
  text-decoration:none!important;
}
.stavino-origin > span{
  color:var(--ink)!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:850!important;
}
.stavino-origin small{
  color:var(--muted)!important;
  opacity:1!important;
  visibility:visible!important;
}
.stavino-origin b{
  color:#80652f!important;
}

/* Prevent theme button styles from making labels transparent on mobile */
.stavino-app button{
  -webkit-text-fill-color:currentColor!important;
}

.stavino-hero-availability{
  position:absolute;z-index:3;left:20px;right:20px;bottom:24px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(16px);
  border-radius:22px;padding:15px 16px;
}
.stavino-hero-availability strong{display:block;color:#fff;font-size:16px;margin:5px 0 4px}
.stavino-hero-availability span{display:block;color:#d9e1dc;font-size:10px;line-height:1.45}
.stavino-gps-status{font-size:11px;color:var(--muted);line-height:1.45;margin:10px 0}
.mission-nav-btn,.mission-gps-btn{margin-top:8px}

.stavino-join-note{margin-top:12px!important;font-size:10px!important;line-height:1.5}.stavino-missing-actions{background:#fff8e8;border:1px solid #e5cf9c;border-radius:16px;padding:12px;margin-top:10px}.stavino-redeem-btn{margin-top:12px}.stavino-redeem-btn:disabled{opacity:.6;cursor:not-allowed}

.stavino-hero-availability-actions{margin-top:10px}
.stavino-mini-link{
  border:0;
  background:transparent;
  color:var(--gold2);
  padding:0;
  font-weight:900;
  font-size:10px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

.stavino-home-reward-card{
  width:100%;display:flex;align-items:center;gap:13px;text-align:left;
  border:1px solid rgba(197,158,82,.45);border-radius:22px;
  background:linear-gradient(135deg,#fffaf0,#f2e4c5);
  padding:14px 16px;margin:0 0 12px;cursor:pointer;color:var(--ink);
  box-shadow:0 10px 28px rgba(11,36,26,.06);
}
.stavino-home-reward-icon{font-size:25px;line-height:1}
.stavino-home-reward-copy{display:flex;flex-direction:column;min-width:0}
.stavino-home-reward-copy small{font-size:8px;letter-spacing:.16em;font-weight:900;color:#80652f}
.stavino-home-reward-copy strong{font-size:14px;line-height:1.2;margin:2px 0;color:var(--ink)}
.stavino-home-reward-copy em{font-style:normal;font-size:9px;color:var(--muted)}
.stavino-finale-sheet{text-align:center}.stavino-finale-trophy{font-size:54px;margin:4px 0 8px}.stavino-finale-wine{background:#f1e5c9;border-radius:18px;padding:13px;margin:14px 0;text-align:left}.stavino-finale-wine small{display:block;font-size:8px;letter-spacing:.14em;color:#80652f;font-weight:900}.stavino-finale-wine strong{display:block;font:24px Georgia,serif;margin:4px 0}.stavino-finale-validity{background:#edf3ee;border-radius:15px;padding:11px;margin:12px 0;font-size:11px;color:#486353}

.stavino-purchase-status{background:#edf3ee;border-radius:16px;padding:12px;margin-top:12px;color:var(--ink)}
.stavino-redeem-intro{font-size:11px!important;color:var(--muted)!important;line-height:1.5!important}
#stavino-redeem-times{scroll-margin-top:18px}

.stavino-redeem-status{background:#f6f0e5;border-radius:15px;padding:12px;margin-top:10px;font-size:11px;color:var(--muted);line-height:1.5}
.stavino-redeem-status strong{display:block;color:var(--ink);margin-bottom:4px}

.stavino-closed-contact{margin-top:12px;background:#f7f2e8;border:1px solid rgba(197,158,82,.3);border-radius:17px;padding:12px}
.stavino-closed-contact p,.stavino-redeem-contact p{font-size:11px!important;line-height:1.5!important;margin:0 0 10px!important}
.stavino-contact-actions{display:grid;gap:8px}
.stavino-call-btn{text-decoration:none;align-items:center;justify-content:center}
.stavino-redeem-contact{margin-top:10px}
.stavino-call-text{text-decoration:none;font-weight:900;color:var(--ink)}
