:root {
  --studio-bg: #eee8d9;
  --studio-paper: #fffdf7;
  --studio-ink: #173f3b;
  --studio-muted: #6d695a;
  --studio-line: rgba(29, 58, 48, .16);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--studio-bg); color: var(--studio-ink); font-family: "DM Sans", Inter, system-ui, sans-serif; }
button, input, select { font: inherit; }
.studio-shell { width: min(1500px, calc(100% - 28px)); margin: 20px auto 60px; display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 24px; align-items: start; }
.studio-controls { position: sticky; top: 112px; padding: 30px; border: 1px solid var(--studio-line); border-radius: 30px; background: rgba(255,253,247,.92); box-shadow: 0 18px 48px rgba(45,49,37,.1); backdrop-filter: blur(14px); }
.studio-back { display: inline-block; margin-bottom: 26px; color: var(--studio-muted); font-size: 13px; font-weight: 900; text-decoration: none; }
.studio-eyebrow { margin: 0 0 9px; color: #1e9b8e; font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.studio-controls h1 { margin: 0; font: 900 45px/.95 Fraunces, Georgia, serif; letter-spacing: -.035em; }
.studio-intro { margin: 16px 0 0; color: var(--studio-muted); font-size: 14px; font-weight: 650; line-height: 1.55; }
.studio-fields { display: grid; gap: 15px; margin-top: 26px; }
.studio-fields > label, .studio-field-row label { display: grid; gap: 7px; color: var(--studio-muted); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.studio-fields input, .studio-fields select { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid var(--studio-line); border-radius: 13px; background: white; color: var(--studio-ink); font-size: 14px; font-weight: 750; letter-spacing: 0; text-transform: none; outline: none; }
.studio-fields input:focus, .studio-fields select:focus { border-color: #1e9b8e; box-shadow: 0 0 0 4px rgba(30,155,142,.13); }
.studio-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.studio-fields fieldset { margin: 3px 0 0; padding: 0; border: 0; }.studio-fields legend { margin-bottom: 8px; color: var(--studio-muted); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.palette-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }.palette-options label { cursor: pointer; }.palette-options input { position: absolute; opacity: 0; pointer-events: none; }.palette-options span { min-height: 36px; display: flex; align-items: center; padding: 0 10px; border: 2px solid transparent; border-radius: 11px; color: #173f3b; font-size: 12px; font-weight: 900; }.palette-options input:checked + span { border-color: var(--studio-ink); }.palette-meadow { background: linear-gradient(90deg,#dcefcf 0 33%,#fff2b8 33% 66%,#f9c9cc 66%); }.palette-sunset { background: linear-gradient(90deg,#ffd5bd 0 33%,#f7a3a8 33% 66%,#e1c6eb 66%); }.palette-ocean { background: linear-gradient(90deg,#c7edf0 0 33%,#a9d8ef 33% 66%,#ffe2a9 66%); }.palette-berry { background: linear-gradient(90deg,#f6c8df 0 33%,#d8c9ed 33% 66%,#c8e4c0 66%); }
.studio-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 22px; }.studio-actions button { min-height: 44px; padding: 10px; border: 1px solid var(--studio-line); border-radius: 13px; background: white; color: var(--studio-ink); cursor: pointer; font-size: 12px; font-weight: 900; }.studio-actions .studio-primary { grid-column: 1 / -1; background: var(--studio-ink); color: white; }.studio-actions button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(29,58,48,.1); }
.studio-actions button:disabled { cursor: wait; opacity: .62; transform: none; }
.studio-status { min-height: 18px; margin: 12px 0 0; color: #1b7469; font-size: 12px; font-weight: 800; }.studio-fine-print { margin: 13px 0 0; color: var(--studio-muted); font-size: 10px; font-weight: 650; line-height: 1.5; }
.studio-stage { min-width: 0; padding: 0 12px 40px; }.studio-stage-toolbar { display: flex; justify-content: space-between; gap: 12px; width: min(850px, 100%); margin: 0 auto 10px; color: var(--studio-muted); font-size: 11px; font-weight: 850; }.studio-stage-toolbar strong { color: #1e8f84; }
.print-sheet { --p1:#e1efd3; --p2:#f5c8cd; --p3:#f5d570; --p4:#7dc7c1; --p5:#a894d1; --deep:#173f3b; width: min(850px, 100%); aspect-ratio: 8.5 / 11; min-height: 1100px; margin: 0 auto; overflow: hidden; border-radius: 8px; background: var(--studio-paper); box-shadow: 0 28px 70px rgba(39,43,32,.2); container-type: inline-size; }
.print-sheet.palette-sunset { --p1:#ffd0ba; --p2:#ef9ba3; --p3:#f4c459; --p4:#d4b8e5; --p5:#ee735e; --deep:#49354e; }.print-sheet.palette-ocean { --p1:#caece7; --p2:#9fd2e6; --p3:#f6d88f; --p4:#70b9b6; --p5:#7c9bc9; --deep:#183f56; }.print-sheet.palette-berry { --p1:#e5d6ed; --p2:#f3bad6; --p3:#f4d9a4; --p4:#b8dcae; --p5:#b597d3; --deep:#47364e; }
#printable-content { min-height: 100%; padding: 6.4cqw; background: radial-gradient(circle at 97% 1%, color-mix(in srgb,var(--p2) 42%,transparent), transparent 24cqw), radial-gradient(circle at 0% 100%, color-mix(in srgb,var(--p4) 30%,transparent), transparent 27cqw); color: var(--deep); }
.sheet-header { position: relative; margin-bottom: 3.5cqw; padding-bottom: 2.6cqw; border-bottom: .22cqw solid color-mix(in srgb,var(--deep) 16%,transparent); }.sheet-brand { color: color-mix(in srgb,var(--deep) 65%,var(--p4)); font-size: 1.35cqw; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }.sheet-title { max-width: 15ch; margin: 1.1cqw 0 .5cqw; font: 900 clamp(33px,6.3cqw,58px)/.94 Fraunces, Georgia, serif; letter-spacing: -.045em; }.sheet-subtitle { margin: 0; color: color-mix(in srgb,var(--deep) 72%,white); font-size: 1.8cqw; font-weight: 750; }.sheet-meta { position: absolute; right: 0; top: 0; display: grid; gap: .6cqw; justify-items: end; color: color-mix(in srgb,var(--deep) 72%,white); font-size: 1.35cqw; font-weight: 850; }.sheet-editable { border-radius: .4cqw; outline: none; }.sheet-editable:hover { background: color-mix(in srgb,var(--p3) 20%,transparent); }.sheet-editable:focus { background: color-mix(in srgb,var(--p3) 32%,transparent); box-shadow: 0 0 0 .25cqw color-mix(in srgb,var(--p3) 58%,transparent); }
.print-sheet [contenteditable="true"] { border-color: transparent !important; }
.sheet-photo-ribbon { height: 8.5cqw; margin: -1.5cqw 0 2.2cqw; border-radius: 1.4cqw; background: linear-gradient(145deg,var(--p2),var(--p4)); background-position: center; background-size: cover; box-shadow: 0 .7cqw 2cqw rgba(51,55,39,.08); }
.sheet-footer { display: flex; justify-content: space-between; gap: 2cqw; margin-top: 3cqw; padding-top: 1.7cqw; border-top: .18cqw solid color-mix(in srgb,var(--deep) 14%,transparent); color: color-mix(in srgb,var(--deep) 62%,white); font-size: 1.15cqw; font-weight: 800; }.sheet-footer strong { color: var(--deep); }
.day-list { display: grid; gap: 1.3cqw; }.day-card { display: grid; grid-template-columns: 8cqw 1fr; min-height: 11.4cqw; overflow: hidden; border-radius: 1.6cqw; background: rgba(255,255,255,.75); box-shadow: 0 .8cqw 2.4cqw rgba(51,55,39,.07); }.day-number { display: grid; align-content: center; justify-items: center; background: var(--day); color: var(--deep); }.day-number span { font-size: 1.3cqw; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.day-number strong { font: 900 4.1cqw/1 Fraunces, serif; }.day-content { display: grid; grid-template-columns: 1fr 12cqw; gap: 1cqw; padding: 1.25cqw 1.6cqw; }.day-content h3 { margin: 0 0 .25cqw; font: 900 2.15cqw/1 Fraunces, serif; }.day-logistics { margin: 0 0 .5cqw; color: color-mix(in srgb,var(--deep) 65%,white); font-size: .93cqw; font-weight: 800; line-height: 1.15; }.day-content ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .38cqw 1cqw; list-style: none; }.day-content li { min-width: 0; overflow: hidden; font-size: 1.18cqw; font-weight: 700; line-height: 1.1; }.day-content li::before { content: "✦"; float: left; margin-right: .45cqw; color: color-mix(in srgb,var(--day) 82%,var(--deep)); }.day-content li span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.day-content li small { display: block; margin: .18cqw 0 0 1.15cqw; color: color-mix(in srgb,var(--deep) 58%,white); font-size: .83cqw; font-weight: 800; text-transform: capitalize; }.day-image { min-height: 7.5cqw; border-radius: 1.1cqw; background: linear-gradient(145deg,var(--day),color-mix(in srgb,var(--day) 35%,white)); background-size: cover; background-position: center; }
[data-pick-id] { position: relative; overflow: hidden; }
[data-image-accuracy="representative"]::after { content: "Representative image"; position: absolute; right: .45cqw; bottom: .45cqw; max-width: calc(100% - .9cqw); padding: .25cqw .42cqw; overflow: hidden; border-radius: .4cqw; background: rgba(12,37,34,.78); color: white; font-size: .72cqw; font-style: normal; font-weight: 800; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.sheet-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25cqw; }.sheet-grid-card { min-height: 16.5cqw; overflow: hidden; border-radius: 1.5cqw; background: rgba(255,255,255,.8); box-shadow: 0 .7cqw 2cqw rgba(51,55,39,.07); }.sheet-grid-image { height: 9.5cqw; background: linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 35%,white)); background-size: cover; background-position: center; }.sheet-grid-card strong { display: block; padding: 1.1cqw; font: 900 1.65cqw/1.05 Fraunces,serif; }
.sheet-bingo { display:grid; grid-template-columns:repeat(4,1fr); gap:1cqw; }.bingo-cell { aspect-ratio:1; display:grid; align-content:center; justify-items:center; gap:.6cqw; padding:1cqw; border:.2cqw solid color-mix(in srgb,var(--deep) 15%,transparent); border-radius:1.5cqw; background:rgba(255,255,255,.74); text-align:center; }.bingo-cell i { display:grid; place-items:center; width:3.6cqw; height:3.6cqw; border-radius:50%; background:var(--card); font-style:normal; font-size:1.8cqw; }.bingo-cell span { font-size:1.25cqw; font-weight:850; line-height:1.15; }.bingo-cell b { width:1.7cqw;height:1.7cqw;border:.18cqw solid color-mix(in srgb,var(--deep) 40%,transparent);border-radius:.25cqw; }
.sheet-checklist { display:grid; grid-template-columns:1fr 1fr; gap:1.2cqw 2cqw; }.check-item { display:grid; grid-template-columns:2.1cqw 1fr; gap:.9cqw; align-items:start; padding:1.05cqw 0; border-bottom:.15cqw solid color-mix(in srgb,var(--deep) 13%,transparent); }.check-item i { width:1.8cqw;height:1.8cqw;border:.18cqw solid var(--deep);border-radius:.35cqw; }.check-item span { font-size:1.5cqw;font-weight:750;line-height:1.25; }
.sheet-plan { display:grid; gap:1.4cqw; }.plan-block { display:grid; grid-template-columns:13cqw 1fr; min-height:12cqw; overflow:hidden; border-radius:1.7cqw;background:rgba(255,255,255,.8); }.plan-block h3 { margin:0;padding:2cqw;background:var(--card);font:900 2.15cqw/1 Fraunces,serif; }.plan-block div { padding:1.7cqw 2cqw; }.plan-block strong { display:block;margin-bottom:.6cqw;font-size:1.8cqw; }.plan-block p { margin:0;color:color-mix(in srgb,var(--deep) 70%,white);font-size:1.35cqw;font-weight:700;line-height:1.4; }
.travel-day-sheet { display:grid; grid-template-columns:1fr 1fr; gap:1.05cqw; }.travel-day-card { min-height:15.2cqw; padding:1.15cqw 1.25cqw; border-top:.75cqw solid var(--card); border-radius:1.25cqw; background:rgba(255,255,255,.8); box-shadow:0 .45cqw 1.5cqw rgba(51,55,39,.06); }.travel-day-card h3 { margin:0 0 .65cqw; font:900 1.7cqw/1 Fraunces,serif; }.travel-day-card ul { display:grid; gap:.38cqw; margin:0; padding:0; list-style:none; }.travel-day-card li { display:grid; grid-template-columns:1.25cqw 1fr; gap:.55cqw; align-items:start; min-width:0; font-size:1.05cqw; font-weight:750; line-height:1.18; }.travel-day-card li i { width:1.1cqw; height:1.1cqw; margin-top:.04cqw; border:.16cqw solid color-mix(in srgb,var(--deep) 45%,transparent); border-radius:.22cqw; background:#fff; }.travel-day-reminder { margin:1.05cqw 0 0; padding:1cqw 1.25cqw; border-radius:1.05cqw; background:color-mix(in srgb,var(--p3) 28%,white); font-size:1.1cqw; font-weight:750; line-height:1.3; }.travel-day-reminder strong { font-weight:900; }.travel-day-sheet + .travel-day-reminder + .sheet-footer { margin-top:1.6cqw; }
.sheet-route { position:relative; display:grid; gap:1.1cqw; padding-left:4cqw; }.sheet-route::before { content:"";position:absolute;left:1.75cqw;top:2cqw;bottom:2cqw;border-left:.35cqw dashed color-mix(in srgb,var(--p4) 70%,var(--deep)); }.route-stop { position:relative;display:grid;grid-template-columns:1fr 12cqw;gap:1cqw;min-height:10cqw;padding:1.4cqw;border-radius:1.5cqw;background:rgba(255,255,255,.8); }.route-stop::before { content:attr(data-stop);position:absolute;left:-4cqw;top:2.4cqw;width:3.4cqw;height:3.4cqw;display:grid;place-items:center;border-radius:50%;background:var(--card);font:900 1.6cqw Fraunces,serif; }.route-stop strong { font:900 1.8cqw Fraunces,serif; }.route-stop p { margin:.4cqw 0 0;color:color-mix(in srgb,var(--deep) 67%,white);font-size:1.25cqw;font-weight:700; }.route-stop i { border-radius:1cqw;background:linear-gradient(145deg,var(--card),white);background-size:cover;background-position:center; }
.sheet-postcard { min-height:68cqw;display:grid;align-content:center;justify-items:center;padding:5cqw;border:.25cqw solid color-mix(in srgb,var(--deep) 18%,transparent);border-radius:3cqw;background:linear-gradient(145deg,color-mix(in srgb,var(--p2) 30%,white),color-mix(in srgb,var(--p1) 36%,white));text-align:center; }.sheet-postcard .postcard-mark { font-size:7cqw; }.sheet-postcard h2 { max-width:12ch;margin:1cqw 0;font:900 7cqw/.92 Fraunces,serif;letter-spacing:-.05em; }.sheet-postcard p { max-width:32ch;margin:1cqw 0;color:color-mix(in srgb,var(--deep) 72%,white);font-size:1.8cqw;font-weight:750;line-height:1.45; }.postcard-prompts { width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1.2cqw;margin-top:3cqw; }.postcard-prompts div { min-height:10cqw;padding:1.5cqw;border-radius:1.4cqw;background:rgba(255,255,255,.72); }.postcard-prompts strong { display:block;margin-bottom:.6cqw;font-size:1.25cqw;text-transform:uppercase;letter-spacing:.08em; }.postcard-prompts span { font:900 1.8cqw Fraunces,serif; }
.sheet-table { width:100%;border-collapse:separate;border-spacing:.6cqw; }.sheet-table th,.sheet-table td { padding:1.1cqw;border-radius:.8cqw;background:rgba(255,255,255,.75);font-size:1.25cqw;text-align:left; }.sheet-table th { background:var(--p1);font-weight:900; }.sheet-table td:first-child { font-weight:900; }

@media (max-width: 980px) { .studio-shell { grid-template-columns:1fr; }.studio-controls { position:static; }.print-sheet { min-height:0; }.studio-stage { padding:0 0 40px; } }
@media (max-width: 620px) { .studio-shell { width:min(100% - 14px,1500px); }.studio-controls { padding:22px;border-radius:24px; }.studio-field-row { grid-template-columns:1fr; }.studio-stage-toolbar { padding:0 4px; }.print-sheet { width:100%; }.sheet-title { font-size:6.3cqw; } }
@media print {
  @page { size: letter portrait; margin: 0; }
  html,body { margin:0!important;padding:0!important;background:white!important; }
  body > .ww-global-header, .studio-controls, .studio-stage-toolbar, body > footer { display:none!important; }
  .studio-shell,.studio-stage { display:block!important;width:100%!important;margin:0!important;padding:0!important; }
  .print-sheet { width:8.5in!important;height:11in!important;min-height:11in!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important; }
  .sheet-editable:hover,.sheet-editable:focus { background:transparent!important;box-shadow:none!important; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }

/* Keep the editing panel and printable paper readable inside the site dark theme. */
html[data-theme="dark"] body.printables-studio-page .studio-controls {
  background: rgba(255,253,247,.96) !important;
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-controls h1 {
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page :is(.studio-back, .studio-intro, .studio-fields > label, .studio-field-row label, .studio-fields legend, .studio-fine-print) {
  color: #6d695a !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-fields :is(input, select) {
  background: #fff !important;
  color: #173f3b !important;
  color-scheme: light;
}
html[data-theme="dark"] body.printables-studio-page .studio-fields select :is(option, optgroup) {
  background: #fff !important;
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-actions button {
  background: #fff !important;
  color: #173f3b !important;
}
html[data-theme="dark"] body.printables-studio-page .studio-actions .studio-primary {
  background: #173f3b !important;
  color: #fff !important;
}
html[data-theme="dark"] body.printables-studio-page #printable-content,
html[data-theme="dark"] body.printables-studio-page #printable-content :is(h1, h2, h3, h4, p, li, strong, span) {
  color: var(--deep) !important;
}
html[data-theme="dark"] body.printables-studio-page #printable-content .day-card {
  background: rgba(255,255,255,.75) !important;
  color: var(--deep) !important;
  box-shadow: 0 .8cqw 2.4cqw rgba(51,55,39,.07) !important;
}
html[data-theme="dark"] body.printables-studio-page #printable-content [data-image-accuracy="representative"]::after {
  color: #fff !important;
}

@media print {
  .print-sheet [contenteditable="true"] { border: 0 !important; }
}
