 :root{--cream:#fff7eb;--paper:#fffdf9;--ink:#2f261f;--muted:#74675d;--brown:#845738;--brown-dark:#4e3425;--gold:#b8863d;--line:#e7d8c8;--soft:#f2e7da;--serif:"Noto Serif KR",Georgia,serif;--sans:"Noto Sans KR",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.75;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-80px;left:15px;z-index:1000;background:#fff;padding:9px 13px}.skip-link:focus{top:15px}.content-width,.header-inner,.footer-inner{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,247,235,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;flex-direction:column}.brand strong{font:500 1.8rem/1 Georgia,var(--serif);color:var(--brown-dark)}.brand small{margin-top:7px;font-size:.57rem;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:5px}.main-nav a{position:relative;padding:26px 10px 22px;font-size:.83rem;color:#63564c}.main-nav a.active,.main-nav a:hover{color:var(--brown-dark)}.main-nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:16px;height:1px;background:var(--brown)}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--brown-dark);margin:6px}.project-hero,.day-hero{position:relative;color:#fff;background-image:linear-gradient(90deg,rgba(24,20,17,.54),rgba(24,20,17,.06)),var(--hero-image);background-size:cover;background-position:center}.project-hero{min-height:680px;display:flex;align-items:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(15,12,10,.18) 72%,rgba(15,12,10,.32))}.hero-inner,.day-hero-inner{position:relative;z-index:1;width:min(1160px,calc(100% - 48px));margin:auto}.hero-inner{padding:95px 0}.project-code,.section-label{margin:0 0 13px;color:#f1d9bd;font-size:.66rem;font-weight:700;letter-spacing:.19em}.project-hero h1{margin:0;max-width:950px;font:500 clamp(4rem,8vw,8rem)/.98 Georgia,var(--serif);letter-spacing:-.04em}.hero-subtitle{max-width:760px;margin:22px 0 0;font:500 clamp(1rem,2vw,1.28rem)/1.8 var(--serif);color:#f8eee4}.hero-promise{margin:44px 0 0;font:500 clamp(1.35rem,2.6vw,2rem)/1.65 var(--serif)}.hero-meta{display:flex;gap:18px;margin-top:28px;color:#eee1d5;font-size:.82rem}.hero-meta span+span:before{content:"·";margin-right:18px}.hero-actions{display:flex;gap:12px;margin-top:34px}.primary-button,.outline-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:10px 22px;border-radius:999px;font-weight:700;font-size:.86rem}.primary-button{background:#fffaf3;color:var(--brown-dark)}.primary-button.dark{background:var(--brown);color:#fff;border:0}.outline-button{border:1px solid rgba(255,255,255,.55);color:#fff}.secondary-button{border:0;background:var(--brown);color:#fff;cursor:pointer}.intro-section{padding:105px 0;background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.intro-grid h2,.section-heading h2,.platform-cta h2{margin:0;font:500 clamp(2rem,4vw,3.25rem)/1.4 var(--serif)}.section-label{color:var(--brown)}.intro-copy{font:400 1.05rem/2.05 var(--serif);color:#514840}.summary-strip{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-grid{display:grid;grid-template-columns:repeat(6,1fr)}.summary-grid>div{text-align:center;padding:31px 10px;border-right:1px solid var(--line)}.summary-grid>div:last-child{border-right:0}.summary-grid strong{display:block;font:500 2.25rem/1 Georgia,serif;color:var(--brown-dark)}.summary-grid span{display:block;margin-top:8px;color:var(--muted);font-size:.75rem}.itinerary-section,.gallery-section{padding:105px 0}.section-heading{max-width:760px;margin-bottom:45px}.section-heading p:last-child{color:var(--muted)}.journey-list{border-top:1px solid var(--line)}.journey-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto 30px;align-items:center;gap:27px;min-height:145px;padding:23px 8px;border-bottom:1px solid var(--line);transition:.2s}.journey-row:hover{padding-left:18px;padding-right:18px;background:rgba(255,255,255,.55)}.journey-day{text-align:center}.journey-day span{display:block;color:var(--brown);font-size:.55rem;letter-spacing:.18em}.journey-day strong{font:500 2.1rem/1 Georgia,serif;color:var(--brown-dark)}.journey-copy time{color:var(--muted);font-size:.72rem}.journey-copy h3{margin:5px 0;font:600 1.3rem var(--serif)}.journey-copy p{margin:0;color:var(--muted);font-size:.84rem}.journey-counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.journey-counts span{padding:5px 9px;border:1px solid var(--line);border-radius:999px;font-size:.64rem;color:var(--muted);background:rgba(255,255,255,.6)}.gallery-section{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{position:relative;overflow:hidden;padding:0;border:0;background:#ddd;cursor:pointer}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.3s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:25px 12px 10px;color:#fff;text-align:left;font-size:.66rem;background:linear-gradient(transparent,rgba(0,0,0,.58))}.empty-state{grid-column:1/-1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;border:1px dashed var(--line);color:var(--muted);background:var(--cream)}.empty-state strong{color:var(--ink);font-family:var(--serif)}code{background:var(--soft);padding:2px 6px}.platform-cta{padding:90px 0;background:var(--brown-dark);color:#fff}.platform-cta>.content-width{display:flex;align-items:end;justify-content:space-between;gap:35px}.platform-cta .section-label{color:#d8b98d}.cta-actions{display:flex;align-items:center;gap:22px}.text-link{color:#ead8c6}.day-hero{min-height:610px;padding:88px 0 118px;display:flex;align-items:flex-end;background-position:center 44%}.back-link{display:inline-block;margin-bottom:30px;color:#f0dfcf}.back-link.dark{color:var(--brown)}.day-hero h1{margin:0;font:500 clamp(2.8rem,6vw,5.3rem)/1.12 var(--serif)}.day-nav{position:relative;z-index:2;width:min(920px,calc(100% - 48px));margin:-28px auto 35px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 20px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.day-nav a{color:var(--brown);font-weight:700;font-size:.8rem}.day-nav a:last-child{text-align:right}.day-layout{width:min(1160px,calc(100% - 48px));margin:auto;padding:25px 0 90px;display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.7fr);gap:22px}.day-main,.day-sidebar{display:grid;gap:20px;align-content:start}.content-card,.sidebar-card{padding:30px;background:var(--paper);border:1px solid var(--line)}.content-card h2,.sidebar-card h3{font-family:var(--serif)}.story-text{font:400 1rem/2 var(--serif)}.timeline-item{display:grid;grid-template-columns:70px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.timeline-item time{color:var(--brown);font-weight:700}.timeline-item p{margin:3px 0 0;color:var(--muted)}.media-list{display:grid;gap:10px}.media-item{display:grid;grid-template-columns:1fr minmax(230px,.8fr);gap:15px;align-items:center;padding:12px;background:var(--cream);border:1px solid var(--line)}.media-item audio{width:100%}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.sidebar-card ul{padding-left:18px}.memo-card{background:var(--soft)}.site-footer{border-top:1px solid var(--line);background:var(--cream)}.footer-inner{min-height:130px;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:25px}.footer-inner p{margin:0}.footer-inner strong{font-family:Georgia,serif;color:var(--brown-dark)}.footer-inner span,.footer-inner small,.footer-vision{font-size:.68rem;color:var(--muted)}.footer-vision{text-align:center}.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(20,15,12,.94);padding:25px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:88vh}.lightbox-close{position:absolute;right:24px;top:17px;border:0;background:transparent;color:#fff;font-size:2.5rem}.admin-page{padding:80px 0}.admin-page h1{font:500 clamp(2.4rem,5vw,4rem) var(--serif)}.form-shell{width:min(760px,calc(100% - 32px));margin:auto;padding:40px;background:var(--paper);border:1px solid var(--line)}.admin-form{display:grid;gap:16px}.admin-form label{display:grid;gap:7px;font-weight:600}.admin-form input,.admin-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.alert{padding:12px 15px;margin:16px 0}.alert.success{background:#e7f4eb}.alert.error{background:#fae4e0}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{background:var(--paper);border:1px solid var(--line)}.project-cover{height:230px;background-size:cover;background-position:center}.project-card>div:last-child{padding:24px}.project-card h2{font-family:var(--serif)}.card-actions{display:flex;gap:15px;color:var(--brown);font-weight:700}.manage-panel{margin:14px 0;border:1px solid var(--line);background:var(--paper)}.manage-panel summary{padding:17px 20px;cursor:pointer;font-weight:700}.manage-panel[open] summary{border-bottom:1px solid var(--line)}.manage-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:22px;padding:22px}.upload-box{display:grid;align-content:start;gap:14px;padding:22px;background:var(--cream);border:1px dashed var(--line)}.book-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #ddd}.print-book{max-width:900px;margin:auto;background:#fff}.print-cover{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;padding:60px}.print-cover h1{font:500 5rem Georgia,serif}.print-day{padding:70px 60px;page-break-before:always}.print-day header h2{font:500 2.6rem var(--serif)}.print-story{font:400 1rem/2 var(--serif)}.print-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:25px}.print-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}@media(max-width:900px){.menu-toggle{display:block}.header-inner{flex-wrap:wrap}.main-nav{display:none;width:100%;grid-template-columns:repeat(2,1fr);padding-bottom:12px}.main-nav.open{display:grid}.main-nav a{padding:10px;border-bottom:1px solid var(--line)}.main-nav a.active:after{display:none}.intro-grid{grid-template-columns:1fr;gap:30px}.summary-grid{grid-template-columns:repeat(3,1fr)}.journey-row{grid-template-columns:75px minmax(0,1fr) 25px}.journey-counts{display:none}.gallery-grid{grid-template-columns:repeat(2,1fr)}.platform-cta>.content-width{align-items:flex-start;flex-direction:column}.day-layout{grid-template-columns:1fr}.day-sidebar{grid-template-columns:repeat(2,1fr)}.manage-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;text-align:center;padding:35px 0}}@media(max-width:560px){.content-width,.header-inner,.footer-inner,.hero-inner,.day-hero-inner,.day-layout{width:min(100% - 28px,1160px)}.project-hero{min-height:620px}.project-hero h1{font-size:3.5rem}.hero-actions{flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:repeat(2,1fr)}.journey-row{grid-template-columns:62px minmax(0,1fr) 18px;gap:12px}.journey-copy p{display:none}.gallery-grid{grid-template-columns:1fr}.day-sidebar{grid-template-columns:1fr}.media-item{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-shell{padding:25px}.print-cover h1{font-size:3rem}}@media print{.site-header,.site-footer,.day-nav,.book-toolbar,.hero-actions,.platform-cta,.lightbox{display:none!important}body{background:#fff}.project-hero,.day-hero{min-height:auto;color:#000;background:#fff!important}.hero-shade{display:none}.content-width,.hero-inner,.day-hero-inner,.day-layout{width:100%}.content-card,.sidebar-card,.journey-row,.gallery-item{break-inside:avoid}}

/* Memory Hero — each day opens with the character of its destination */
.memory-hero .day-hero-inner{
    padding-bottom:24px;
}
.day-hero-meta{
    display:flex;
    align-items:center;
    gap:10px;
    margin:18px 0 0;
    color:#fff7ef;
    font-size:.88rem;
    text-shadow:0 2px 16px rgba(0,0,0,.34);
}
.day-hero-summary{
    max-width:760px;
    margin:22px 0 0;
    padding:14px 18px;
    border-left:2px solid rgba(255,255,255,.72);
    color:#fffaf4;
    background:linear-gradient(90deg,rgba(20,16,13,.34),transparent);
    font-family:var(--serif);
    font-size:1rem;
    line-height:1.8;
    text-shadow:0 2px 15px rgba(0,0,0,.28);
}
.memory-hero h1,
.memory-hero .project-code,
.memory-hero .back-link{
    text-shadow:0 3px 22px rgba(0,0,0,.38);
}
.project-hero{
    background-position:center 48%;
}
.project-hero .hero-inner{
    text-shadow:0 3px 22px rgba(0,0,0,.34);
}

@media(max-width:560px){
    .day-hero{
        min-height:530px;
        padding:65px 0 94px;
        background-position:center;
    }
    .day-hero-summary{
        font-size:.9rem;
        line-height:1.7;
    }
}


/* Prologue and Epilogue — the book begins before DAY 1 and ends after DAY 10 */
.bookend-row{
    background:linear-gradient(90deg,rgba(255,255,255,.75),rgba(255,255,255,.25));
}
.bookend-row .journey-day strong{
    font-size:1.65rem;
}
.prologue-row{
    border-left:3px solid #b68350;
}
.epilogue-row{
    border-left:3px solid #718a8f;
}
.bookend-hero{
    position:relative;
    min-height:650px;
    display:flex;
    align-items:flex-end;
    color:#fff;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.bookend-hero-inner{
    position:relative;
    z-index:2;
    width:min(1120px,calc(100% - 48px));
    margin:0 auto;
    padding:90px 0 100px;
}
.bookend-hero h1{
    max-width:900px;
    margin:10px 0 0;
    font-family:var(--serif);
    font-size:clamp(3rem,7vw,6.2rem);
    font-weight:500;
    line-height:1.12;
    text-shadow:0 3px 24px rgba(0,0,0,.38);
}
.bookend-subtitle{
    max-width:760px;
    margin:22px 0 0;
    font-family:var(--serif);
    font-size:1.2rem;
    line-height:1.8;
    text-shadow:0 2px 16px rgba(0,0,0,.38);
}
.bookend-page{
    background:#fffdf9;
}
.bookend-content{
    width:min(900px,calc(100% - 48px));
    margin:0 auto;
    padding:92px 0 110px;
}
.opening-line{
    padding:0 0 70px;
    text-align:center;
}
.opening-line span{
    color:#8b5e3c;
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.2em;
}
.opening-line blockquote{
    max-width:760px;
    margin:25px auto 0;
    color:#3a3028;
    font-family:var(--serif);
    font-size:clamp(1.5rem,3vw,2.35rem);
    line-height:1.75;
}
.book-chapter{
    padding:58px 0;
    border-top:1px solid #eadfd4;
}
.book-chapter h2{
    margin:8px 0 28px;
    font-family:var(--serif);
    font-size:clamp(1.8rem,4vw,3rem);
    font-weight:500;
}
.book-story{
    color:#50463e;
    font-family:var(--serif);
    font-size:1.05rem;
    line-height:2.1;
}
.book-timeline{
    margin-top:25px;
}
.chapter-turn{
    margin-top:70px;
    padding:45px;
    text-align:center;
    background:#f5eadc;
    border:1px solid #e4d4c3;
}
.chapter-turn p{
    margin:0 0 24px;
    color:#5e5147;
    font-family:var(--serif);
    font-size:1.05rem;
}
.chapter-turn a{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:13px 24px;
    border-radius:999px;
    color:#fff;
    background:#7a5035;
    font-weight:700;
}
@media(max-width:580px){
    .bookend-hero{
        min-height:540px;
    }
    .bookend-hero-inner,
    .bookend-content{
        width:calc(100% - 28px);
    }
    .bookend-hero-inner{
        padding:70px 0 82px;
    }
    .bookend-content{
        padding:70px 0 80px;
    }
    .chapter-turn{
        padding:30px 20px;
    }
}


/* --------------------------------------------------------------------------
   Travel Preparation & AI Editor
   -------------------------------------------------------------------------- */
.travel-prep-home{
    padding:85px 0;
    background:#f6ecdf;
    border-top:1px solid #eadbc9;
    border-bottom:1px solid #eadbc9;
}
.travel-prep-home-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center;
}
.travel-prep-home h2,
.prep-hero h1,
.prep-panel h2,
.prep-category legend span,
.prep-emphasis-section h2,
.prep-day-section h2{
    font-family:var(--serif);
}
.travel-prep-home h2{
    margin:8px 0 20px;
    font-size:clamp(2rem,4vw,3.7rem);
    font-weight:500;
}
.travel-prep-home p{
    color:#65584e;
    line-height:1.9;
}
.travel-prep-home-card{
    padding:38px;
    border-radius:24px;
    color:#fff;
    background:linear-gradient(145deg,#6d4c36,#9b6b47);
    box-shadow:0 22px 55px rgba(80,52,32,.18);
}
.travel-prep-home-card>span{
    font-size:.68rem;
    letter-spacing:.18em;
    opacity:.78;
}
.travel-prep-home-card strong{
    display:block;
    margin:16px 0 22px;
    font-family:var(--serif);
    font-size:1.8rem;
    line-height:1.45;
}
.travel-prep-home-card ul{
    margin:0 0 28px;
    padding-left:20px;
    line-height:1.9;
}
.travel-prep-home-card a{
    display:inline-flex;
    padding:13px 21px;
    border-radius:999px;
    color:#6d4c36;
    background:#fff8ef;
    font-weight:700;
}

.prep-hero{
    padding:96px 0 75px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(38,28,21,.78),rgba(38,28,21,.3)),
        url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat;
}
.prep-hero-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:55px;
    align-items:end;
}
.prep-hero h1{
    max-width:850px;
    margin:10px 0 18px;
    font-size:clamp(2.6rem,6vw,5.4rem);
    font-weight:500;
    line-height:1.18;
}
.prep-hero p{
    max-width:820px;
    line-height:1.9;
}
.prep-progress-card{
    padding:28px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:22px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(9px);
}
.prep-progress-card strong{
    display:block;
    font-size:2.6rem;
}
.prep-progress-card span,
.prep-progress-card small{
    display:block;
}
.prep-progress-track{
    height:9px;
    margin:18px 0 10px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.25);
}
.prep-progress-track span{
    height:100%;
    border-radius:inherit;
    background:#fff2d8;
}
.prep-form{
    padding:75px 0 130px;
    background:#fffaf3;
}
.prep-intro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}
.prep-panel{
    padding:32px;
    border:1px solid #e6d8c8;
    border-radius:22px;
    background:#fff;
}
.prep-panel h2{
    margin:8px 0 24px;
    font-size:2rem;
    font-weight:500;
}
.ai-editor-panel{
    background:linear-gradient(145deg,#f1e2cf,#fffaf2);
}
.ai-editor-panel p{
    color:#66584e;
    line-height:1.8;
}
.ai-profile-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}
.ai-profile-tags span{
    padding:7px 11px;
    border-radius:999px;
    font-size:.78rem;
    background:#fff;
    border:1px solid #dfcdb9;
}
.prep-field{
    display:grid;
    gap:9px;
    margin:18px 0;
}
.prep-field>span{
    font-weight:700;
}
.prep-field input,
.prep-field select,
.prep-field textarea,
.prep-day-card textarea{
    width:100%;
    padding:13px 14px;
    border:1px solid #d9cbbb;
    border-radius:12px;
    background:#fffdf9;
    color:#352c25;
    font:inherit;
}
.prep-categories{
    display:grid;
    gap:28px;
    margin-top:38px;
}
.prep-category{
    position:relative;
    margin:0;
    padding:34px;
    border:1px solid #e3d5c5;
    border-radius:24px;
    background:#fff;
}
.prep-category legend{
    width:calc(100% - 170px);
    padding:0 10px;
}
.prep-category legend span{
    display:block;
    font-size:1.65rem;
    font-weight:600;
}
.prep-category legend small{
    display:block;
    margin-top:6px;
    color:#76695e;
    line-height:1.6;
}
.prep-select-tools{
    position:absolute;
    top:25px;
    right:28px;
    display:flex;
    gap:8px;
}
.prep-select-tools button{
    padding:8px 11px;
    border:1px solid #d7c4b0;
    border-radius:999px;
    background:#fffaf2;
    color:#725138;
    cursor:pointer;
}
.prep-check-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:22px;
}
.prep-check-card{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:58px;
    padding:12px 13px;
    border:1px solid #e6ddd3;
    border-radius:14px;
    background:#fffdf9;
    cursor:pointer;
}
.prep-check-card input{
    position:absolute;
    opacity:0;
}
.check-mark{
    display:grid;
    flex:0 0 25px;
    height:25px;
    place-items:center;
    border:1px solid #cdbba7;
    border-radius:7px;
    color:transparent;
    background:#fff;
}
.prep-check-card:has(input:checked){
    border-color:#a47550;
    background:#fbf0e3;
}
.prep-check-card input:checked+.check-mark{
    color:#fff;
    border-color:#865c3c;
    background:#865c3c;
}
.prep-emphasis-section,
.prep-ai-settings,
.prep-day-section,
.prep-notes-section{
    margin-top:70px;
}
.emphasis-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.emphasis-card{
    display:grid;
    grid-template-columns:1fr 40px;
    gap:10px;
    padding:18px;
    border:1px solid #e1d4c5;
    border-radius:16px;
    background:#fff;
}
.emphasis-card span{
    grid-column:1/-1;
    font-weight:700;
}
.emphasis-card input{
    width:100%;
}
.emphasis-card b{
    text-align:center;
    color:#825a3d;
}
.prep-toggle{
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px 0;
    border-bottom:1px solid #eee4da;
}
.prep-day-list{
    display:grid;
    gap:14px;
}
.prep-day-card{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:25px;
    align-items:center;
    padding:22px;
    border:1px solid #e3d5c5;
    border-radius:18px;
    background:#fff;
}
.prep-day-card>div{
    display:grid;
    gap:5px;
}
.prep-day-card span{
    color:#8c6042;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.12em;
}
.prep-day-card strong{
    font-family:var(--serif);
    font-size:1.25rem;
}
.prep-day-card small{
    color:#7a6d62;
}
.prep-save-bar{
    position:sticky;
    bottom:0;
    z-index:30;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    width:min(1120px,calc(100% - 32px));
    margin:70px auto 0;
    padding:20px 24px;
    border:1px solid #dac8b4;
    border-radius:20px;
    background:rgba(255,250,243,.95);
    box-shadow:0 16px 45px rgba(73,48,30,.16);
    backdrop-filter:blur(10px);
}
.prep-save-bar strong,
.prep-save-bar span{
    display:block;
}
.prep-save-bar span{
    margin-top:4px;
    color:#776a5e;
    font-size:.85rem;
}
.prep-save-bar button{
    flex:0 0 auto;
    padding:14px 24px;
    border:0;
    border-radius:999px;
    color:#fff;
    background:#7b5236;
    font-weight:700;
    cursor:pointer;
}

@media(max-width:900px){
    .travel-prep-home-grid,
    .prep-hero-inner,
    .prep-intro-grid{
        grid-template-columns:1fr;
    }
    .prep-check-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .emphasis-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:620px){
    .travel-prep-home{
        padding:60px 0;
    }
    .travel-prep-home-card,
    .prep-panel,
    .prep-category{
        padding:24px 20px;
    }
    .prep-hero{
        padding:70px 0 55px;
    }
    .prep-check-grid,
    .emphasis-grid{
        grid-template-columns:1fr;
    }
    .prep-category legend{
        width:100%;
    }
    .prep-select-tools{
        position:static;
        margin:15px 0 0;
    }
    .prep-day-card{
        grid-template-columns:1fr;
    }
    .prep-save-bar{
        position:static;
        align-items:stretch;
        flex-direction:column;
    }
    .prep-save-bar button{
        width:100%;
    }
}


/* --------------------------------------------------------------------------
   Travel Type Preset Wizard
   -------------------------------------------------------------------------- */
.wizard-hero{
    padding:105px 0 90px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(31,24,19,.72),rgba(31,24,19,.18)),
        url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat;
}
.wizard-hero-inner{
    max-width:930px;
}
.wizard-hero h1{
    margin:10px 0 22px;
    font-family:var(--serif);
    font-size:clamp(3rem,7vw,6.1rem);
    font-weight:500;
    line-height:1.14;
}
.wizard-hero p{
    max-width:800px;
    font-size:1.05rem;
    line-height:1.9;
}
.wizard-main{
    padding:85px 0 120px;
    background:#fffaf3;
}
.wizard-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:24px;
    margin-bottom:32px;
}
.wizard-heading h2,
.wizard-explanation h2{
    margin:8px 0 0;
    font-family:var(--serif);
    font-size:clamp(2rem,4vw,3.4rem);
    font-weight:500;
}
.wizard-existing-link{
    flex:0 0 auto;
    padding:12px 18px;
    border:1px solid #d6c3af;
    border-radius:999px;
    background:#fff;
    color:#765239;
    font-weight:700;
}
.preset-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.preset-card{
    margin:0;
}
.preset-card button{
    display:grid;
    grid-template-columns:72px 1fr 36px;
    gap:18px;
    align-items:center;
    width:100%;
    min-height:174px;
    padding:26px;
    border:1px solid #e0d2c2;
    border-radius:22px;
    text-align:left;
    color:#342c25;
    background:#fff;
    cursor:pointer;
    box-shadow:0 11px 28px rgba(80,55,35,.05);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.preset-card button:hover{
    transform:translateY(-3px);
    border-color:#9b6a47;
    box-shadow:0 18px 38px rgba(80,55,35,.12);
}
.preset-icon{
    display:grid;
    width:64px;
    height:64px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(145deg,#8c6245,#bd8c61);
    font-family:var(--serif);
    font-size:1.35rem;
    font-weight:700;
}
.preset-copy strong,
.preset-copy small,
.preset-copy p{
    display:block;
}
.preset-copy strong{
    font-family:var(--serif);
    font-size:1.45rem;
}
.preset-copy small{
    margin-top:5px;
    color:#8b6043;
    font-weight:700;
}
.preset-copy p{
    margin:12px 0 0;
    color:#74675d;
    line-height:1.65;
}
.preset-arrow{
    color:#9a6d4d;
    font-size:1.55rem;
}
.wizard-explanation{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:50px;
    margin-top:85px;
    padding-top:70px;
    border-top:1px solid #e5d8c9;
}
.wizard-steps{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.wizard-steps article{
    padding:24px;
    border:1px solid #e1d5c8;
    border-radius:18px;
    background:#fff;
}
.wizard-steps span{
    color:#a27351;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.14em;
}
.wizard-steps strong{
    display:block;
    margin:10px 0 8px;
    font-family:var(--serif);
    font-size:1.15rem;
}
.wizard-steps p{
    margin:0;
    color:#73665c;
    line-height:1.65;
}
.preset-applied-banner{
    padding:18px 0;
    border-bottom:1px solid #ddcdbb;
    background:#f2e4d3;
}
.preset-applied-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}
.preset-applied-inner>div{
    display:flex;
    align-items:center;
    gap:15px;
}
.preset-applied-icon{
    display:grid;
    width:48px;
    height:48px;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#81593d;
    font-family:var(--serif);
    font-weight:700;
}
.preset-applied-inner small,
.preset-applied-inner strong,
.preset-applied-inner p{
    display:block;
}
.preset-applied-inner small{
    color:#8b6b53;
}
.preset-applied-inner strong{
    font-family:var(--serif);
    font-size:1.2rem;
}
.preset-applied-inner p{
    margin:2px 0 0;
    color:#6e6055;
    font-size:.86rem;
}
.preset-applied-inner a{
    flex:0 0 auto;
    padding:10px 15px;
    border:1px solid #cdb69e;
    border-radius:999px;
    background:#fff9f0;
    color:#765137;
    font-weight:700;
}

@media(max-width:850px){
    .preset-grid{
        grid-template-columns:1fr;
    }
    .wizard-explanation{
        grid-template-columns:1fr;
    }
}
@media(max-width:620px){
    .wizard-hero{
        padding:75px 0 65px;
    }
    .wizard-main{
        padding:60px 0 85px;
    }
    .wizard-heading,
    .preset-applied-inner{
        align-items:stretch;
        flex-direction:column;
    }
    .preset-card button{
        grid-template-columns:54px 1fr 24px;
        min-height:0;
        padding:20px 16px;
    }
    .preset-icon{
        width:50px;
        height:50px;
    }
    .wizard-steps{
        grid-template-columns:1fr;
    }
    .preset-applied-inner a{
        text-align:center;
    }
}


/* AI Photo Editor */
.photo-editor-hero{
    padding:92px 0 72px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(30,23,18,.78),rgba(30,23,18,.2)),
        url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat;
}
.photo-editor-hero-inner{
    display:grid;
    grid-template-columns:1fr 360px;
    gap:55px;
    align-items:end;
}
.photo-editor-hero h1{
    margin:10px 0 18px;
    font-family:var(--serif);
    font-size:clamp(3rem,6vw,5.7rem);
    font-weight:500;
    line-height:1.15;
}
.photo-editor-hero p{max-width:780px;line-height:1.9}
.photo-upload-card{
    display:grid;
    gap:13px;
    padding:28px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:22px;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(10px);
}
.photo-upload-card strong{font-size:1.25rem}
.photo-upload-card span{font-size:.86rem}
.photo-upload-card label input{display:none}
.photo-upload-card label span,
.photo-upload-card button{
    display:block;
    width:100%;
    padding:13px 16px;
    border:0;
    border-radius:12px;
    text-align:center;
    font-weight:700;
    cursor:pointer;
}
.photo-upload-card label span{
    color:#5f422f;
    background:#fff6e9;
}
.photo-upload-card button{
    color:#fff;
    background:#7c5438;
}
.photo-editor-dashboard{
    padding:65px 0 120px;
    background:#fffaf3;
}
.photo-editor-stats{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}
.photo-editor-stats article{
    padding:22px;
    border:1px solid #e3d7ca;
    border-radius:17px;
    text-align:center;
    background:#fff;
}
.photo-editor-stats strong,
.photo-editor-stats span{display:block}
.photo-editor-stats strong{
    color:#795137;
    font-family:var(--serif);
    font-size:2rem;
}
.photo-editor-note{
    margin:22px 0;
    padding:20px 22px;
    border-left:4px solid #a77855;
    background:#f3e7d8;
}
.photo-editor-note p{margin:7px 0 0;line-height:1.7}
.photo-filter-bar{
    display:flex;
    gap:10px;
    margin:30px 0;
}
.photo-filter-bar select,
.photo-filter-bar button{
    padding:12px 14px;
    border:1px solid #d7c8b7;
    border-radius:11px;
    background:#fff;
}
.photo-filter-bar button{
    color:#fff;
    background:#795137;
}
.photo-review-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.photo-review-card{
    overflow:hidden;
    border:1px solid #dfd3c6;
    border-radius:19px;
    background:#fff;
}
.photo-thumb{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#eee;
}
.photo-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.photo-status,
.photo-hero-badge{
    position:absolute;
    top:12px;
    padding:7px 10px;
    border-radius:999px;
    font-size:.7rem;
    font-weight:800;
}
.photo-status{left:12px;color:#fff;background:rgba(41,32,26,.76)}
.photo-hero-badge{right:12px;color:#66452f;background:#fff3d9}
.photo-review-body{
    display:grid;
    gap:12px;
    padding:18px;
}
.photo-review-body>strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.photo-review-body small{color:#796c61}
.score-row{
    display:flex;
    gap:10px;
}
.score-row span{
    flex:1;
    padding:9px;
    border-radius:10px;
    text-align:center;
    background:#f6eee4;
}
.photo-reasons,
.duplicate-note{
    margin:0;
    color:#815640;
    font-size:.8rem;
    line-height:1.5;
}
.photo-review-body label{
    display:grid;
    gap:6px;
}
.photo-review-body label>span{
    font-size:.78rem;
    font-weight:700;
}
.photo-review-body select,
.photo-review-body input[type="text"]{
    width:100%;
    padding:10px;
    border:1px solid #d9ccbe;
    border-radius:9px;
    background:#fffdf9;
}
.hero-checkbox{
    grid-template-columns:auto 1fr!important;
    align-items:center;
}
.status-hidden_suggested,
.status-hidden{opacity:.68}
.photo-empty-state{
    grid-column:1/-1;
    padding:65px;
    border:1px dashed #d8c7b4;
    border-radius:18px;
    text-align:center;
    background:#fff;
}
.photo-editor-actions{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    margin-top:30px;
}
.photo-editor-actions button,
.photo-editor-actions a{
    padding:13px 20px;
    border:0;
    border-radius:999px;
    font-weight:700;
}
.photo-editor-actions button{
    color:#fff;
    background:#7b5236;
}
.photo-editor-actions a{
    color:#6f4c34;
    background:#ead9c5;
}
@media(max-width:950px){
    .photo-editor-hero-inner{grid-template-columns:1fr}
    .photo-editor-stats{grid-template-columns:repeat(3,1fr)}
    .photo-review-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
    .photo-editor-stats{grid-template-columns:repeat(2,1fr)}
    .photo-review-grid{grid-template-columns:1fr}
    .photo-filter-bar,
    .photo-editor-actions{flex-direction:column}
}

.travel-editor-v2-hero{padding:105px 0 88px;color:#fff;background:linear-gradient(90deg,rgba(29,22,17,.8),rgba(29,22,17,.18)),url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat}.travel-editor-v2-hero h1{max-width:980px;margin:10px 0 20px;font-family:var(--serif);font-size:clamp(3rem,7vw,6.2rem);font-weight:500;line-height:1.14}.travel-editor-v2-hero p{max-width:820px;line-height:1.9}.travel-editor-v2-actions,.v2-bottom-actions{display:flex;gap:12px;margin-top:28px}.travel-editor-v2-actions a,.v2-bottom-actions a{padding:12px 18px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:inherit;font-weight:700}.travel-editor-v2-actions .primary,.v2-bottom-actions .primary{color:#60412d;background:#fff3df;border-color:#fff3df}.travel-editor-v2-main{padding:75px 0 120px;background:#fffaf3}.v2-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:40px}.v2-summary article{padding:24px;border:1px solid #e1d5c7;border-radius:18px;text-align:center;background:#fff}.v2-summary strong,.v2-summary span{display:block}.v2-summary strong{color:#7b5236;font-family:var(--serif);font-size:2rem}.v2-day-section{margin-top:52px;padding-top:52px;border-top:1px solid #e0d3c5}.v2-day-header{display:grid;grid-template-columns:1fr 280px;gap:34px;align-items:center;margin-bottom:28px}.v2-day-header h2{margin:8px 0 12px;font-family:var(--serif);font-size:clamp(2rem,4vw,3.6rem);font-weight:500}.v2-day-hero-preview{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:18px}.v2-day-hero-preview img{width:100%;height:100%;object-fit:cover}.v2-day-hero-preview span{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;color:#fff;background:rgba(38,28,21,.76);font-size:.72rem;font-weight:800}.v2-place-card{margin-top:24px;padding:28px;border:1px solid #e0d4c7;border-radius:22px;background:#fff}.v2-place-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:20px;border-bottom:1px solid #ece2d8}.v2-place-heading h3{margin:6px 0 0;font-family:var(--serif);font-size:1.8rem}.v2-place-counts{display:flex;flex-wrap:wrap;gap:7px}.v2-place-counts span{padding:7px 10px;border-radius:999px;color:#785239;background:#f3e7d9;font-size:.76rem;font-weight:700}.v2-photo-section{margin-top:28px}.v2-photo-section-title{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.v2-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.v2-photo-card{overflow:hidden;border:1px solid #e2d6ca;border-radius:16px;background:#fffdf9}.v2-photo-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee}.v2-photo-image img{width:100%;height:100%;object-fit:cover}.v2-photo-image span{position:absolute;right:9px;top:9px;padding:6px 8px;border-radius:999px;color:#fff;background:rgba(39,29,23,.78);font-size:.7rem;font-weight:800}.v2-photo-copy{padding:15px}.v2-photo-copy>strong{display:block;line-height:1.55}.v2-photo-copy ul{margin:12px 0;padding-left:18px;color:#6f6359;font-size:.8rem;line-height:1.6}.v2-photo-copy small{color:#8b5f42;font-weight:700}.v2-empty{padding:75px 25px;border:1px dashed #d6c5b1;border-radius:20px;text-align:center;background:#fff}.v2-bottom-actions{justify-content:flex-end;margin-top:44px;color:#704d35}.v2-bottom-actions a{border-color:#d8c7b4}@media(max-width:900px){.v2-day-header{grid-template-columns:1fr}.v2-photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.travel-editor-v2-actions,.v2-bottom-actions,.v2-place-heading{flex-direction:column;align-items:stretch}.v2-summary,.v2-photo-grid{grid-template-columns:1fr}.v2-place-card{padding:22px 16px}}


/* AI Travel Director */
.director-hero{
    padding:105px 0 88px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(28,21,17,.82),rgba(28,21,17,.20)),
        url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat;
}
.director-hero-grid{
    display:grid;
    grid-template-columns:1fr 340px;
    gap:55px;
    align-items:end;
}
.director-hero h1{
    margin:8px 0 18px;
    font-family:var(--serif);
    font-size:clamp(3.4rem,8vw,7rem);
    font-weight:500;
    line-height:1.05;
}
.director-hero-subtitle{
    max-width:760px;
    font-size:1.06rem;
    line-height:1.9;
}
.director-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}
.director-hero-actions a{
    padding:12px 18px;
    border:1px solid rgba(255,255,255,.38);
    border-radius:999px;
    color:#fff;
    font-weight:700;
}
.director-hero-actions a.primary{
    color:#60412d;
    background:#fff3df;
    border-color:#fff3df;
}
.director-score-card{
    padding:30px;
    border:1px solid rgba(255,255,255,.30);
    border-radius:24px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(10px);
}
.director-score-card>span{
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.17em;
}
.director-score-card strong{
    display:block;
    margin:12px 0 2px;
    font-family:var(--serif);
    font-size:4rem;
}
.director-score-card p{margin:0}
.director-score-track,
.director-mini-progress{
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.22);
}
.director-score-track{
    height:10px;
    margin:20px 0 12px;
}
.director-score-track i,
.director-mini-progress i{
    display:block;
    height:100%;
    border-radius:inherit;
    background:#fff0d3;
}
.director-score-card small{
    display:block;
    line-height:1.6;
    opacity:.82;
}
.director-main{
    padding:65px 0 120px;
    background:#fffaf3;
}
.director-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.director-kpi-grid article{
    padding:24px;
    border:1px solid #e1d5c7;
    border-radius:18px;
    background:#fff;
}
.director-kpi-grid span,
.director-kpi-grid strong,
.director-kpi-grid small{display:block}
.director-kpi-grid span{
    color:#8b6043;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.08em;
}
.director-kpi-grid strong{
    margin:8px 0;
    font-family:var(--serif);
    font-size:2rem;
}
.director-kpi-grid small{color:#776a60}
.director-section{
    margin-top:75px;
}
.director-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:35px;
    margin-bottom:28px;
}
.director-section-heading h2{
    margin:7px 0 0;
    font-family:var(--serif);
    font-size:clamp(2rem,4vw,3.4rem);
    font-weight:500;
}
.director-section-heading>p{
    max-width:520px;
    margin:0;
    color:#75685e;
    line-height:1.75;
}
.director-stage-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.director-stage-card{
    padding:24px;
    border:1px solid #e1d4c6;
    border-radius:19px;
    background:#fff;
}
.director-stage-top,
.director-stage-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}
.director-stage-top span{
    color:#a17656;
    font-weight:800;
    letter-spacing:.12em;
}
.director-stage-top b{
    padding:6px 9px;
    border-radius:999px;
    color:#7b553b;
    background:#f4e7d8;
    font-size:.7rem;
}
.director-stage-card h3{
    margin:22px 0 9px;
    font-family:var(--serif);
    font-size:1.4rem;
}
.director-stage-card p{
    min-height:52px;
    color:#73665d;
    line-height:1.65;
}
.director-mini-progress{
    height:8px;
    margin:20px 0 13px;
    background:#eee4da;
}
.director-mini-progress i{background:#a87956}
.director-stage-bottom strong{color:#80583c}
.director-stage-bottom a{color:#7b5236;font-weight:700}
.director-recommendation-list{
    display:grid;
    gap:12px;
}
.director-recommendation-list article{
    display:grid;
    grid-template-columns:70px 1fr auto;
    gap:18px;
    align-items:center;
    padding:20px 22px;
    border:1px solid #e0d3c5;
    border-radius:16px;
    background:#fff;
}
.director-recommendation-list article>span{
    padding:7px 9px;
    border-radius:999px;
    text-align:center;
    font-size:.72rem;
    font-weight:800;
}
.priority-high>span{color:#8d3d2f;background:#fae5df}
.priority-medium>span{color:#895d2e;background:#f6ead7}
.priority-low>span{color:#516b62;background:#e6f0ec}
.director-recommendation-list strong{display:block}
.director-recommendation-list p{
    margin:5px 0 0;
    color:#74675d;
    line-height:1.6;
}
.director-recommendation-list a{
    color:#785137;
    font-weight:700;
}
.director-all-clear{
    padding:45px;
    border:1px dashed #d5c4b1;
    border-radius:18px;
    text-align:center;
    background:#fff;
}
.director-day-table{
    overflow:hidden;
    border:1px solid #e0d4c7;
    border-radius:18px;
    background:#fff;
}
.director-day-row{
    display:grid;
    grid-template-columns:125px 2fr repeat(5,75px) 80px;
    gap:12px;
    align-items:center;
    padding:16px 18px;
    border-top:1px solid #eee4da;
}
.director-day-row:first-child{border-top:0}
.director-day-head{
    color:#765039;
    background:#f3e7d8;
    font-size:.75rem;
    font-weight:800;
}
.director-day-row span{
    min-width:0;
}
.director-day-row strong,
.director-day-row small{display:block}
.director-day-row small{
    margin-top:3px;
    color:#84776d;
    font-size:.72rem;
}
.director-day-row .is-ready{color:#3f715c;font-weight:800}
.director-day-row .is-missing{color:#9a5d42;font-weight:800}
.director-day-row a{color:#785137;font-weight:700}
.director-final-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:45px;
    margin-top:80px;
    padding:42px;
    border-radius:24px;
    color:#fff;
    background:linear-gradient(135deg,#694830,#9c6d49);
}
.director-final-cta h2{
    margin:8px 0 0;
    font-family:var(--serif);
    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:500;
}
.director-final-cta>div:last-child{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:220px;
}
.director-final-cta a{
    padding:12px 18px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    color:#fff;
    text-align:center;
    font-weight:700;
}
.director-final-cta a.primary{
    color:#65442f;
    background:#fff4e2;
}
.home-director-cta{
    padding:80px 0;
    background:#eee0cf;
}
.home-director-grid{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:50px;
    align-items:center;
}
.home-director-grid h2{
    margin:8px 0 18px;
    font-family:var(--serif);
    font-size:clamp(2rem,4vw,3.8rem);
    font-weight:500;
}
.home-director-grid p{
    color:#6d6056;
    line-height:1.8;
}
.home-director-grid>a{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px 20px;
    padding:32px;
    border-radius:22px;
    color:#fff;
    background:#795238;
    box-shadow:0 18px 40px rgba(86,57,38,.15);
}
.home-director-grid>a span{
    grid-column:1/-1;
    font-size:.67rem;
    letter-spacing:.16em;
}
.home-director-grid>a strong{
    font-family:var(--serif);
    font-size:1.55rem;
}
.home-director-grid>a b{font-size:1.5rem}
@media(max-width:1050px){
    .director-stage-grid{grid-template-columns:repeat(2,1fr)}
    .director-day-table{overflow-x:auto}
    .director-day-row{min-width:900px}
}
@media(max-width:850px){
    .director-hero-grid,
    .home-director-grid{grid-template-columns:1fr}
    .director-kpi-grid{grid-template-columns:repeat(2,1fr)}
    .director-section-heading,
    .director-final-cta{align-items:stretch;flex-direction:column}
}
@media(max-width:620px){
    .director-stage-grid,
    .director-kpi-grid{grid-template-columns:1fr}
    .director-recommendation-list article{
        grid-template-columns:1fr;
    }
    .director-recommendation-list article>span{
        width:max-content;
    }
    .director-hero-actions,
    .director-final-cta>div:last-child{
        flex-direction:column;
    }
}

/* AI Book Composer */
.composer-hero{padding:100px 0 82px;color:#fff;background:linear-gradient(90deg,rgba(28,21,17,.83),rgba(28,21,17,.18)),url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat}.composer-hero-grid{display:grid;grid-template-columns:1fr 270px;gap:50px;align-items:end}.composer-hero h1{font:500 clamp(3rem,7vw,6rem)/1.14 var(--serif);margin:10px 0 20px}.composer-hero p{max-width:780px;line-height:1.9}.composer-hero aside{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px;padding:28px;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:rgba(255,255,255,.14);backdrop-filter:blur(9px)}.composer-hero aside strong{font:500 2.2rem var(--serif)}.composer-hero aside span{align-self:center;font-size:.8rem}.composer-main{padding:65px 0 120px;background:#fffaf3}.composer-alert{padding:16px 20px;margin-bottom:20px;border-radius:13px}.composer-alert.success{color:#35604f;background:#e6f1eb}.composer-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.composer-flow article{padding:23px;border:1px solid #e1d4c6;border-radius:18px;background:#fff}.composer-flow article>span{color:#9b6b49;font-weight:800;letter-spacing:.12em}.composer-flow strong{display:block;margin:14px 0 7px;font:600 1.2rem var(--serif)}.composer-flow p{min-height:48px;color:#75685e;line-height:1.6}.composer-flow a{color:#7b5236;font-weight:700}.composer-settings{display:grid;grid-template-columns:1.3fr repeat(4,1fr) auto;gap:15px;align-items:center;margin-top:35px;padding:28px;border:1px solid #e0d3c5;border-radius:20px;background:#fff}.composer-settings h2{margin:5px 0;font:500 1.8rem var(--serif)}.composer-settings label{display:grid;gap:7px;font-size:.84rem}.composer-settings select{padding:10px;border:1px solid #d8c8b8;border-radius:9px}.composer-check{grid-template-columns:auto 1fr!important;align-items:center}.composer-settings button,.composer-actions button{padding:13px 18px;border:0;border-radius:999px;color:#fff;background:#795137;font-weight:700;cursor:pointer}.composer-result{margin-top:60px}.composer-result-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.composer-result-head h2{margin:7px 0;font:500 3rem var(--serif)}.composer-result-head>div:last-child{display:grid;grid-template-columns:auto auto;gap:4px 10px}.composer-result-head>div:last-child strong{font:500 2rem var(--serif)}.composer-chapters{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.composer-chapter{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:17px;border:1px solid #e0d4c7;border-radius:18px;background:#fff}.composer-chapter-cover{position:relative;overflow:hidden;min-height:150px;border-radius:12px;background:#eee}.composer-chapter-cover img{width:100%;height:100%;object-fit:cover}.composer-chapter-cover>span{position:absolute;left:8px;bottom:8px;padding:6px 9px;border-radius:999px;color:#fff;background:rgba(30,22,18,.75);font-size:.7rem;font-weight:800}.composer-no-photo{display:grid;height:100%;place-items:center;color:#897b70}.composer-chapter h3{margin:5px 0;font:600 1.3rem var(--serif)}.composer-chapter p{color:#74675d;line-height:1.55}.composer-chapter b{font-size:.78rem;color:#8b6042}.composer-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:28px}.composer-actions>a{padding:13px 18px;border-radius:999px;color:#694831;background:#ead9c5;font-weight:700}.composer-actions form{display:flex;align-items:center;gap:12px}.composer-empty{margin-top:50px;padding:60px;border:1px dashed #d5c4b1;border-radius:20px;text-align:center;background:#fff}@media(max-width:1050px){.composer-settings{grid-template-columns:1fr 1fr}.composer-flow{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.composer-hero-grid,.composer-chapters{grid-template-columns:1fr}.composer-flow{grid-template-columns:1fr}.composer-settings{grid-template-columns:1fr}.composer-chapter{grid-template-columns:120px 1fr}.composer-actions,.composer-actions form{align-items:stretch;flex-direction:column}}


/* --------------------------------------------------------------------------
   AI Book Composer V5 · Publishing Editor
   -------------------------------------------------------------------------- */
.publisher-hero{
    padding:105px 0 88px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(27,20,16,.84),rgba(27,20,16,.18)),
        url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat;
}
.publisher-hero-grid{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:55px;
    align-items:end;
}
.publisher-hero h1{
    max-width:980px;
    margin:10px 0 20px;
    font-family:var(--serif);
    font-size:clamp(3rem,7vw,6.2rem);
    font-weight:500;
    line-height:1.13;
}
.publisher-hero p{max-width:820px;line-height:1.9}
.publisher-hero-card{
    padding:29px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:24px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(10px);
}
.publisher-hero-card>span{font-size:.67rem;letter-spacing:.17em}
.publisher-hero-card>strong{display:block;margin-top:10px;font-family:var(--serif);font-size:4rem}
.publisher-hero-card>small{display:block}
.publisher-hero-card>div{
    display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px 10px;
    margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)
}
.publisher-hero-card b{font-size:1.3rem}
.publisher-hero-card em{font-style:normal;opacity:.8}
.publisher-main{padding:68px 0 125px;background:#fffaf3}
.publisher-alert{
    margin-bottom:24px;padding:16px 19px;border-radius:13px
}
.publisher-alert.success{color:#325f4e;background:#e5f1eb;border:1px solid #c2ddcf}
.publisher-workflow{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px
}
.publisher-workflow article{
    padding:21px;border:1px solid #e1d4c6;border-radius:17px;background:#fff
}
.publisher-workflow span{color:#9b6c4b;font-weight:800;letter-spacing:.12em}
.publisher-workflow strong{display:block;margin:15px 0 8px;font-family:var(--serif);font-size:1.12rem}
.publisher-workflow p{margin:0;color:#74675d;line-height:1.55;font-size:.86rem}
.publisher-settings{
    margin-top:58px;padding:34px;border:1px solid #dfd2c3;border-radius:24px;background:#fff
}
.publisher-settings-head,.publisher-section-head{
    display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:26px
}
.publisher-settings-head h2,.publisher-section-head h2{
    margin:7px 0 0;font-family:var(--serif);font-size:clamp(2rem,4vw,3.35rem);font-weight:500
}
.publisher-settings-head>p,.publisher-section-head>p{
    max-width:520px;margin:0;color:#76695f;line-height:1.75
}
.publisher-option-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px
}
.publisher-option-grid label{display:grid;gap:8px}
.publisher-option-grid label>span{font-weight:700}
.publisher-option-grid select{
    width:100%;padding:13px 14px;border:1px solid #d7c8b7;border-radius:11px;background:#fffdf9
}
.publisher-check-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;
    margin-top:24px;padding-top:20px;border-top:1px solid #eee4da
}
.publisher-check{display:flex;align-items:center;gap:10px}
.publisher-generate{
    margin-top:26px;padding:14px 24px;border:0;border-radius:999px;color:#fff;background:#765039;font-weight:800
}
.editor-meeting,.publisher-proof-overview,.publisher-preflight{margin-top:78px}
.editor-meeting-list{display:grid;gap:12px}
.editor-meeting-list article{
    display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;
    padding:19px 21px;border:1px solid #e0d3c5;border-radius:16px;background:#fff
}
.editor-meeting-list article>span{
    padding:7px 9px;border-radius:999px;text-align:center;font-size:.72rem;font-weight:800
}
.meeting-good>span{color:#3d6b59;background:#e3f0ea}
.meeting-warning>span{color:#8b5237;background:#f6e5db}
.meeting-info>span{color:#5d5d78;background:#eaeaf3}
.editor-meeting-list strong{display:block}
.editor-meeting-list p{margin:5px 0 0;color:#73665c;line-height:1.65}
.publisher-summary-numbers{display:flex;gap:24px}
.publisher-summary-numbers strong{font-family:var(--serif);font-size:2rem;text-align:center}
.publisher-summary-numbers small{display:block;color:#776a60;font:11px var(--sans)}
.publisher-chapter-list{display:grid;gap:15px}
.publisher-chapter-card{
    display:grid;grid-template-columns:280px 1fr;overflow:hidden;border:1px solid #dfd2c4;border-radius:20px;background:#fff
}
.publisher-chapter-image{position:relative;min-height:220px;background:#e8ded3}
.publisher-chapter-image img{width:100%;height:100%;object-fit:cover}
.publisher-chapter-image>span{
    position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:999px;
    color:#fff;background:rgba(36,27,21,.76);font-size:.7rem;font-weight:800
}
.publisher-no-photo{display:grid;width:100%;height:100%;place-items:center;color:#8c725f}
.publisher-chapter-copy{padding:26px}
.publisher-chapter-copy small{color:#89796c}
.publisher-chapter-copy h3{margin:9px 0 13px;font-family:var(--serif);font-size:1.8rem}
.publisher-chapter-copy blockquote{
    margin:0;padding-left:15px;border-left:3px solid #b68a67;color:#5f5249;font:italic 1rem/1.7 var(--serif)
}
.publisher-chapter-copy p{color:#74675c}
.publisher-role-tags{display:flex;flex-wrap:wrap;gap:7px}
.publisher-role-tags span{padding:6px 9px;border-radius:999px;color:#79543a;background:#f2e5d6;font-size:.75rem}
.chapter-prologue{border-color:#b99371}
.chapter-epilogue{border-color:#9c8d7f}
.preflight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.preflight-grid article{
    display:grid;grid-template-columns:36px 1fr;gap:8px 12px;padding:20px;
    border:1px solid #dfd3c6;border-radius:16px;background:#fff
}
.preflight-grid article>span{
    grid-row:1/3;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;font-weight:900
}
.preflight-grid strong{align-self:end}
.preflight-grid p{margin:0;color:#76695e;font-size:.82rem;line-height:1.55}
.preflight-grid .is-pass>span{color:#fff;background:#527a68}
.preflight-grid .is-review>span{color:#fff;background:#a96848}
.publisher-actions{
    display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:42px;padding:23px;
    border:1px solid #ddcebe;border-radius:18px;background:#f1e4d4
}
.publisher-actions>a,.publisher-actions button{
    padding:13px 19px;border:0;border-radius:999px;font-weight:800
}
.publisher-actions>a{color:#67462f;background:#fff;text-decoration:none}
.publisher-actions form{display:flex;align-items:center;gap:13px}
.publisher-actions button{color:#fff;background:#755038}
.publisher-empty{
    margin-top:55px;padding:70px 25px;border:1px dashed #d4c2ae;border-radius:20px;text-align:center;background:#fff
}
.home-publisher-cta{padding:80px 0;background:#eadbca}
.home-publisher-grid{display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:center}
.home-publisher-grid h2{
    margin:8px 0 18px;font-family:var(--serif);font-size:clamp(2rem,4vw,3.8rem);font-weight:500
}
.home-publisher-grid p{color:#6d6056;line-height:1.8}
.home-publisher-grid>a{
    display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:32px;border-radius:22px;
    color:#fff;background:#714c34;box-shadow:0 18px 40px rgba(86,57,38,.15)
}
.home-publisher-grid>a span{grid-column:1/-1;font-size:.67rem;letter-spacing:.16em}
.home-publisher-grid>a strong{font-family:var(--serif);font-size:1.55rem}
.home-publisher-grid>a b{font-size:1.5rem}
@media(max-width:1050px){
    .publisher-workflow{grid-template-columns:repeat(3,1fr)}
    .preflight-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
    .publisher-hero-grid,.home-publisher-grid{grid-template-columns:1fr}
    .publisher-chapter-card{grid-template-columns:1fr}
    .publisher-chapter-image{min-height:300px}
    .publisher-settings-head,.publisher-section-head{align-items:stretch;flex-direction:column}
}
@media(max-width:620px){
    .publisher-workflow,.publisher-option-grid,.publisher-check-grid,.preflight-grid{grid-template-columns:1fr}
    .publisher-settings{padding:24px 18px}
    .publisher-summary-numbers{flex-wrap:wrap}
    .publisher-actions,.publisher-actions form{align-items:stretch;flex-direction:column}
    .publisher-actions>a,.publisher-actions button{text-align:center;width:100%}
}

/* V6 Unified Project Engine */
.v6-hero{padding:100px 0 82px;color:#fff;background:linear-gradient(90deg,rgba(26,20,16,.86),rgba(26,20,16,.18)),url('/travel_v8_test/legacy/assets/images/northern-europe-hero.svg') center/cover no-repeat}
.v6-hero-grid{display:grid;grid-template-columns:1fr 300px;gap:50px;align-items:end}
.v6-hero h1{margin:10px 0 20px;font-family:var(--serif);font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:1.12}
.v6-hero p{max-width:820px;line-height:1.9}
.v6-hero code{padding:3px 7px;border-radius:7px;background:rgba(255,255,255,.15)}
.v6-status-card{padding:28px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px)}
.v6-status-card span,.v6-status-card strong,.v6-status-card small{display:block}
.v6-status-card span{font-size:.68rem;letter-spacing:.17em}
.v6-status-card strong{margin:12px 0 4px;font-family:var(--serif);font-size:4.4rem}
.v6-main{padding:65px 0 120px;background:#fffaf3}
.v6-alert{margin-bottom:22px;padding:15px 18px;border-radius:12px}
.v6-alert.success{color:#34604e;background:#e3f0e9;border:1px solid #bed9cc}
.v6-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.v6-summary-grid article{padding:22px;border:1px solid #dfd3c6;border-radius:17px;text-align:center;background:#fff}
.v6-summary-grid strong,.v6-summary-grid span{display:block}
.v6-summary-grid strong{font-family:var(--serif);font-size:2rem;color:#795239}
.v6-panel,.v6-safety{margin-top:55px;padding:34px;border:1px solid #dfd2c3;border-radius:23px;background:#fff}
.v6-panel h2,.v6-safety h2{margin:7px 0 10px;font-family:var(--serif);font-size:2.3rem;font-weight:500}
.v6-path{overflow-wrap:anywhere;color:#7c6e63}
.v6-module-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-top:28px}
.v6-module-grid article{padding:18px;border-radius:14px;text-align:center}
.v6-module-grid article.ready{background:#e8f1ec;border:1px solid #c7ddd1}
.v6-module-grid article.empty{background:#f5eee6;border:1px solid #e3d5c6}
.v6-module-grid span,.v6-module-grid strong,.v6-module-grid small{display:block}
.v6-module-grid span{font-size:1.25rem}.v6-module-grid strong{margin:7px 0}
.v6-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.v6-actions a,.v6-actions button{padding:12px 17px;border:0;border-radius:999px;font-weight:800}
.v6-actions a{color:#704b33;background:#f1e4d4}.v6-actions button{color:#fff;background:#765039}
.v6-safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}
.v6-safety-grid article{padding:20px;border:1px solid #e3d7ca;border-radius:15px;background:#fffdf9}
.v6-safety-grid strong,.v6-safety-grid code{display:block;margin-bottom:9px}
.v6-safety-grid code{overflow-wrap:anywhere;color:#7b5237}
.photo-delete-button{width:100%;padding:10px;border:1px solid #d8b9aa;border-radius:10px;color:#8d4536;background:#fff6f2;font-weight:800;cursor:pointer}
@media(max-width:900px){.v6-hero-grid{grid-template-columns:1fr}.v6-module-grid{grid-template-columns:repeat(2,1fr)}.v6-safety-grid{grid-template-columns:1fr}}
@media(max-width:620px){.v6-summary-grid,.v6-module-grid{grid-template-columns:1fr}}
