/* The website is one notebook: shared paper, measure, rhythm and controls. */
:root{
 --notebook-width:1200px;
 --notebook-reading-width:760px;
 --notebook-ink:#151b2c;
 --notebook-muted:#637086;
 --notebook-blue:#2448ed;
 --notebook-line:#e3e7ef;
 --notebook-paper:#fff;
 --notebook-bg:#f7f8fb;
 --notebook-radius:16px;
 --notebook-font:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --notebook-heading:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.web-notebook{margin:0;background:var(--notebook-paper);color:var(--notebook-ink);font-family:var(--notebook-font);font-size:16px;line-height:1.65;overflow-wrap:break-word}
.web-notebook main,.web-notebook .notebook-page{box-sizing:border-box}
.notebook-page,.web-notebook>main{width:min(var(--notebook-width),calc(100% - 48px));max-width:var(--notebook-width);margin:0 auto;padding:0 0 64px}
.web-notebook>main .wrap{width:100%;max-width:none}
.notebook-page-head,.notebook-lead{display:block;margin:0 0 32px;padding:44px 0 28px;border:0;border-bottom:1px solid var(--notebook-line);background:transparent;color:var(--notebook-ink)}
.notebook-page-head h1,.notebook-lead h1{margin:8px 0 16px;font-family:var(--notebook-heading);font-size:clamp(30px,3.5vw,42px);line-height:1.2;letter-spacing:-.045em;font-weight:750;color:var(--notebook-ink)}
.notebook-page-head>p:not(.notebook-eyebrow),.notebook-lead>p:not(.notebook-eyebrow){max-width:760px;margin:0;font-size:16px;line-height:1.7;color:var(--notebook-muted)}
.notebook-eyebrow{margin:0 0 10px;font-size:11px;line-height:1.5;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--notebook-blue)}
.notebook-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.notebook-actions :is(a,button),.notebook-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border:1px solid var(--notebook-line);border-radius:10px;background:var(--notebook-paper);color:var(--notebook-ink);font:650 14px/1.4 var(--notebook-font);text-decoration:none;cursor:pointer}
.notebook-actions .primary,.notebook-button.primary{border-color:var(--notebook-blue);background:var(--notebook-blue);color:#fff}
.notebook-card{padding:24px;border:1px solid var(--notebook-line);border-radius:var(--notebook-radius);background:var(--notebook-paper);color:var(--notebook-ink);box-shadow:none}
.notebook-card h2,.notebook-card h3{margin:0 0 10px;font-family:var(--notebook-heading);line-height:1.4}
.notebook-card p{margin:8px 0;color:var(--notebook-muted)}
.notebook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.notebook-reading .notebook-page-head,.notebook-reading .notebook-lead{width:100%}
.web-notebook :is(input,select,textarea,button){font-family:var(--notebook-font)}
.web-notebook :is(input,select,textarea){max-width:100%}
.web-notebook :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #ee4c77;outline-offset:3px}
.web-notebook :is(p,li){overflow-wrap:anywhere}
.web-notebook>main :is(h1,h2,h3,h4){font-family:var(--notebook-heading);color:var(--notebook-ink)}
.web-notebook>main :is(.page-intro,.hero){padding:44px 0 32px}
.web-notebook>main :is(.page-intro,.hero)>h1,.web-notebook>main .hero-copy>h1{font-size:clamp(30px,3.5vw,42px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 16px}
.web-notebook>main :is(.page-intro,.hero) .eyebrow{color:var(--notebook-blue);font-size:11px;letter-spacing:.09em}
.web-notebook>main :is(.page-intro,.hero) .intro{font-size:16px;line-height:1.7;color:var(--notebook-muted)}
.web-notebook>main :is(.page-intro,.hero) h1 span{color:var(--notebook-blue)}
.web-notebook[data-notebook-page="discover"] #catalog{padding-top:44px}
.web-notebook[data-notebook-page="discover"] #catalog h1{font-size:clamp(30px,3.5vw,42px);line-height:1.2;letter-spacing:-.045em}
.web-notebook[data-notebook-page="travel"]>main{padding-top:0}
.web-notebook[data-notebook-page="travel"] #heading{padding:44px 0 28px;border-bottom:1px solid var(--notebook-line);margin-bottom:32px}
.web-notebook[data-notebook-page="travel"] #heading h1{font-size:clamp(30px,3.5vw,42px);line-height:1.2;letter-spacing:-.045em;margin:8px 0 16px}
.web-notebook[data-notebook-page="travel"] #heading p{font-size:16px;line-height:1.7;color:var(--notebook-muted)}
.web-notebook[data-notebook-page="travel"] #content{max-width:var(--notebook-reading-width)}
.web-notebook[data-notebook-page="credits"]>main{padding-top:44px}
.web-notebook[data-notebook-page="credits"]>main h1{font-size:clamp(30px,3.5vw,42px);line-height:1.2;letter-spacing:-.045em}
.web-notebook[data-notebook-page="welcome"] .cta{background:var(--notebook-blue);border-radius:10px}
.web-notebook[data-notebook-page="welcome"] .example{background:var(--notebook-bg);transform:none}
.web-notebook[data-notebook-page="welcome"] .answer{transform:none;border-color:var(--notebook-line);box-shadow:none}
.web-notebook[data-notebook-page="welcome"] :is(.eyebrow,.answer .label,.step .number){color:var(--notebook-blue)}
.web-notebook[data-notebook-page="partners"] .hero{gap:40px}
.web-notebook[data-notebook-page="partners"] .hero-note{color:var(--notebook-muted)}
/* The same shell surrounds the existing planner; its data and drag targets stay intact. */
.web-notebook .web-notebook-main{min-height:60vh}
.web-notebook .trip-planner{--ink:var(--notebook-ink);--green:var(--notebook-blue);--muted:var(--notebook-muted);--line:var(--notebook-line);--paper:var(--notebook-paper);max-width:none;margin:0;padding:0;background:var(--notebook-paper);color:var(--notebook-ink);font-family:var(--notebook-font)}
.web-notebook .trip-top{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;padding:44px 0 28px;margin:0 0 32px;border:0;border-bottom:1px solid var(--notebook-line);background:transparent}
.web-notebook .trip-top h1{font:750 clamp(30px,3.5vw,42px)/1.2 var(--notebook-heading);letter-spacing:-.045em;margin:8px 0 16px;color:var(--notebook-ink)}
.web-notebook .trip-top p:not(.guide-eyebrow):not(.notebook-eyebrow){font-size:16px;line-height:1.7;color:var(--notebook-muted);max-width:760px}
.web-notebook .trip-top .guide-eyebrow{color:var(--notebook-blue);font-size:11px;letter-spacing:.09em;margin:0 0 10px}
.web-notebook .trip-top>a{flex:none;min-height:44px;display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--notebook-line);border-radius:10px;background:#fff;color:var(--notebook-ink);font-size:14px;text-decoration:none}
.web-notebook :is(.trip-controls,.trip-itinerary,.trip-module,.trip-stop,.trip-confirm,.trip-search){border-color:var(--notebook-line);border-radius:var(--notebook-radius);background:var(--notebook-paper);box-shadow:none}
.web-notebook .trip-controls{padding:24px;background:var(--notebook-bg)}
.web-notebook .trip-controls>label{min-width:0}
.web-notebook .trip-controls :is(input,select),.web-notebook .trip-planner select{border-color:var(--notebook-line);background:var(--notebook-paper);color:var(--notebook-ink);min-height:44px;border-radius:8px}
.web-notebook .trip-planner :is(.guide-primary,.trip-day-tabs button[aria-selected="true"]){background:var(--notebook-blue);border-color:var(--notebook-blue);color:#fff}
.web-notebook .trip-planner :is(.guide-read,.trip-module-actions a,.trip-stop-controls a){color:var(--notebook-blue)}
.web-notebook .trip-section-title{font-family:var(--notebook-heading);color:var(--notebook-ink)}
.web-notebook .trip-planner :is(.trip-export-note,.trip-catalog-note,.trip-tag,.trip-toolbar>p){color:var(--notebook-muted)}
.web-notebook .trip-stop .trip-time{color:var(--notebook-blue)}
.web-notebook .trip-empty{background:var(--notebook-bg);border-color:var(--notebook-line);color:var(--notebook-muted)}
.web-notebook .trip-toggle-lang{display:none}
@media(max-width:760px){
 .notebook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .web-notebook .trip-top{flex-direction:column;gap:16px}
}
@media(max-width:640px){
 .notebook-page,.web-notebook>main{width:calc(100% - 32px);padding-bottom:40px}
 .notebook-page-head,.notebook-lead,.web-notebook .trip-top{padding-top:30px;padding-bottom:24px;margin-bottom:24px}
 .notebook-page-head h1,.notebook-lead h1,.web-notebook .trip-top h1{font-size:30px}
 .notebook-page-head>p:not(.notebook-eyebrow),.notebook-lead>p:not(.notebook-eyebrow),.web-notebook .trip-top p:not(.guide-eyebrow):not(.notebook-eyebrow){font-size:15px}
 .notebook-grid{grid-template-columns:1fr}
 .notebook-card,.web-notebook .trip-controls{padding:18px}
 .web-notebook>main :is(.page-intro,.hero){padding:30px 0 24px}
 .web-notebook[data-notebook-page="travel"] #heading{padding-top:30px;padding-bottom:24px;margin-bottom:24px}
 .web-notebook[data-notebook-page="discover"] #catalog,.web-notebook[data-notebook-page="credits"]>main{padding-top:30px}
}

@media(max-width:420px){
 .web-notebook .trip-controls{grid-template-columns:minmax(0,1fr)}
}

/* A notebook page inside the shared main inherits its one outer gutter. */
.web-notebook>main .notebook-page{width:100%;max-width:none}
