/* Bar Louie Granger and Carmel: one stylesheet for every page.
   Palette is Jen's locked family (10/26 swatch sheet). Only these six colors plus headline white;
   borders and muted text are the same colors at lower alpha. A tweak is one edit here. */
:root{
  --base:#1C1A17;   /* base black: page */
  --panel:#2A2824;  /* panel black: cards, tiles */
  --teal:#355D66;   /* lead teal: buttons, bar pills */
  --gold:#F1B351;   /* accent gold: headings, outlines, location names */
  --pink:#E8508F;   /* pop pink: small tags only */
  --body:#D8D2C5;   /* body gray: copy */
  --white:#FFFFFF;  /* headline white */
  --mut:rgba(216,210,197,.72);
  --faint:rgba(216,210,197,.5);
  --line:rgba(216,210,197,.16);
  --field:rgba(216,210,197,.06);
}
@font-face{font-family:'Brandon';src:url('fonts/Brandon_reg.otf') format('opentype');font-weight:400;font-display:swap;}
@font-face{font-family:'Brandon';src:url('fonts/Brandon_bld.otf') format('opentype');font-weight:700;font-display:swap;}
@font-face{font-family:'AvenirC';src:url('fonts/AvenirNextCondensed-Medium.ttf') format('truetype');font-weight:500;font-display:swap;}
@font-face{font-family:'AvenirC';src:url('fonts/AvenirNextCondensed-DemiBold.ttf') format('truetype');font-weight:600;font-display:swap;}
@font-face{font-family:'AvenirC';src:url('fonts/AvenirNextCondensed-Bold.ttf') format('truetype');font-weight:700;font-display:swap;}

*{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--base);color:var(--body);font:16px/1.55 'Brandon','Helvetica Neue',Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.wrap{width:100%;max-width:480px;margin:0 auto;padding:24px 22px 40px;flex:1;}

header.bl{padding:26px 22px 6px;text-align:center;}
header.bl a{display:block;width:fit-content;margin:0 auto;}
.logo{width:230px;max-width:70vw;height:auto;display:block;margin:0 auto;}
.locchip{font-family:'AvenirC';font-weight:600;display:inline-block;margin-top:10px;padding:5px 16px;border:1px solid var(--line);border-radius:999px;font-size:12px;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;}

h1{color:var(--white);font-size:28px;font-weight:700;line-height:1.15;margin:16px 0 8px;text-align:center;}
p.sub{color:var(--mut);text-align:center;font-size:15px;margin-bottom:22px;}
h2.sec{font-family:'AvenirC';font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-align:center;margin:34px 0 14px;}
h2.big{color:var(--white);font-size:22px;font-weight:700;line-height:1.2;margin-bottom:6px;}
.fine{font-size:12px;color:var(--faint);text-align:center;margin-top:16px;line-height:1.5;}
.fine a{color:var(--mut);}

.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;}
label{font-family:'AvenirC';font-weight:600;display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:14px 0 6px;}
input,select,textarea{width:100%;background:var(--field);border:1px solid var(--line);border-radius:9px;color:var(--white);font:16px/1.4 'Brandon','Helvetica Neue',Arial,sans-serif;padding:13px 14px;outline:none;}
select option{background:var(--panel);color:var(--white);}
input:focus,select:focus,textarea:focus{border-color:var(--gold);}
input[type=date]{color-scheme:dark;}
fieldset{border:0;min-width:0;}
legend{font-family:'AvenirC';font-weight:600;display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:14px 0 6px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.row2>div{min-width:0;}

.btn{font-family:'AvenirC';display:block;width:100%;margin-top:20px;background:var(--teal);border:2px solid var(--teal);border-radius:10px;color:var(--white);font-size:17px;font-weight:700;letter-spacing:.08em;padding:14px;cursor:pointer;text-transform:uppercase;text-align:center;text-decoration:none;line-height:1.2;}
.btn:hover{border-color:var(--gold);}
.btn.ghost{background:transparent;border-color:var(--gold);color:var(--white);}
.btn.ghost:hover{background:rgba(241,179,81,.08);}
.btn small{display:block;font-family:'Brandon';font-weight:400;font-size:13px;letter-spacing:0;text-transform:none;color:var(--gold);margin-top:3px;}
.btn-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-row .btn{margin-top:12px;font-size:15px;padding:13px 8px;}

.consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;}
.consent input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:var(--teal);}
.consent label{all:unset;font-size:12.5px;line-height:1.5;color:var(--mut);}
.consent label b{display:block;font-weight:700;font-size:14px;color:var(--white);margin-bottom:2px;}
.consent label a{color:var(--body);}

.success{text-align:center;padding:26px 6px;}
.success h2{color:var(--white);margin:8px 0 6px;font-size:22px;}
.success p{color:var(--mut);font-size:15px;}
.success .btn{margin-top:18px;}

/* the two bar buttons: the print pills, on screen */
.spot{display:block;background:var(--teal);border:2px solid var(--gold);border-radius:16px;padding:20px 18px;margin-top:14px;text-decoration:none;text-align:center;}
.spot:hover{box-shadow:0 0 0 3px rgba(241,179,81,.25);}
.spot .n{font-family:'AvenirC';font-weight:700;font-size:28px;letter-spacing:.18em;padding-left:.18em;color:var(--gold);line-height:1.1;}
.spot .a{color:var(--white);font-size:14.5px;margin-top:4px;}

section.block{margin-top:30px;padding:22px;border-radius:14px;background:var(--panel);border:1px solid var(--line);scroll-margin-top:16px;transition:box-shadow .4s;}
section.block:target{box-shadow:0 0 0 2px var(--gold);}
section.block p{font-size:15px;}
section.block .note{font-size:13px;color:var(--mut);margin-top:8px;}
.underline{text-align:center;font-size:13.5px;color:var(--gold);margin-top:8px;}

.evcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px;display:flex;gap:16px;align-items:center;}
.evdate{flex:0 0 84px;text-align:center;background:var(--base);border:1px solid var(--line);border-radius:10px;padding:9px 4px;}
.evdate .m{font-family:'AvenirC';font-weight:600;font-size:10.5px;letter-spacing:.14em;padding-left:.14em;color:var(--gold);text-transform:uppercase;line-height:1.3;}
.evdate .d{font-family:'AvenirC';font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.06em;padding-left:.06em;color:var(--white);line-height:1.15;}
.evcard h3{color:var(--white);font-size:17px;line-height:1.25;margin-bottom:3px;}
.evcard p{font-size:14px;color:var(--mut);}
.evcard p a{color:var(--gold);}
.thisweek-more{display:block;text-align:center;font-family:'AvenirC';font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:15px;color:var(--gold);text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--panel);}
.thisweek-more:hover{border-color:var(--gold);}

.rituals{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.rt{background:var(--panel);border-left:5px solid var(--gold);border-radius:8px;padding:12px 12px 13px;}
.rt h3{font-family:'AvenirC';font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--white);line-height:1.15;margin-bottom:5px;}
.rt p{font-size:13.5px;line-height:1.4;}
.rt em{font-style:normal;color:var(--gold);font-weight:700;}
.rt details{margin-top:6px;font-size:13px;color:var(--mut);}
.rt summary{cursor:pointer;color:var(--gold);}
.weekly{margin-top:12px;display:grid;gap:8px;}
.weekly p{background:var(--panel);border-radius:10px;padding:11px 14px;font-size:14px;}
.weekly em{font-style:normal;color:var(--gold);font-weight:700;}
.weekly b{font-family:'AvenirC';font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--white);margin-right:6px;}

.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tiles a{display:block;text-align:center;font-family:'AvenirC';font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--white);text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:15px 6px;background:var(--panel);}
.tiles a:hover{border-color:var(--gold);}

.pick{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 2px;}
.pick label.opt{all:unset;display:block;cursor:pointer;position:relative;}
.pick input{position:absolute;left:50%;top:50%;opacity:0;width:1px;height:1px;}
.pick .box{text-align:center;border:1px solid var(--line);border-radius:12px;padding:14px 8px;background:var(--field);height:100%;}
.pick .box .n{font-family:'AvenirC';font-weight:700;letter-spacing:.14em;font-size:16px;color:var(--white);}
.pick .box .a{font-size:12px;color:var(--mut);margin-top:3px;line-height:1.35;}
.pick input:checked + .box{border-color:var(--gold);background:var(--teal);}
.pick input:checked + .box .n{color:var(--gold);}
.pick input:focus-visible + .box{outline:2px solid var(--gold);outline-offset:2px;}

.skip{display:block;text-align:center;margin-top:14px;font-size:14px;color:var(--mut);}

footer{font-family:'AvenirC';font-weight:500;padding:20px 18px 26px;text-align:center;font-size:12.5px;color:var(--faint);letter-spacing:.05em;line-height:1.7;}
footer img{height:20px;width:auto;opacity:.75;vertical-align:middle;margin-right:8px;}
footer nav{margin-top:6px;}
footer nav a{color:var(--mut);text-decoration:none;margin:0 8px;}
footer nav a:hover{color:var(--white);}

@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important;}}
@media (max-width:360px){.spot .n{font-size:24px;}.btn-row,.rituals,.tiles{grid-template-columns:1fr;}}
