@import url('paris-plans.css?v=1');
body.plan-page{background:var(--cream)}.plan-shell{min-height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(360px,43vw) 1fr}.plan-map-panel{position:sticky;top:0;height:calc(100vh - 82px);background:#e7dfd4;overflow:hidden}.plan-map{position:absolute;inset:0}.plan-map-message{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 40px));padding:24px;background:var(--paper);border:1px solid var(--rule);border-radius:16px;text-align:center;font:400 14px/1.5 var(--sans)}.plan-map-message[hidden]{display:none}.route-marker{width:36px;height:36px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--terracotta);box-shadow:0 3px 12px rgba(38,34,29,.32);font:600 12px/1 var(--sans)}.plan-route-label{position:absolute;left:44px;top:5px;white-space:nowrap;padding:7px 9px;border-radius:999px;background:var(--ink);color:#fff;font:500 9px/1 var(--sans);box-shadow:0 3px 10px rgba(38,34,29,.22)}.plan-map-summary{position:absolute;z-index:3;left:24px;right:24px;bottom:24px;padding:18px 20px;border:1px solid rgba(215,206,194,.9);border-radius:16px;background:rgba(250,247,241,.94);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(38,34,29,.16)}.plan-map-summary strong{display:block;font:400 22px/1.15 var(--serif);margin-bottom:7px}.plan-map-summary span{color:var(--muted);font:500 9px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase}.plan-detail{background:var(--paper);padding:clamp(44px,6vw,90px) clamp(28px,6vw,90px) 110px}.plan-intro{max-width:720px}.plan-intro h1{margin:0 0 22px;font:400 clamp(48px,6vw,82px)/.95 var(--serif);letter-spacing:-.025em}.plan-intro .lead{margin:0 0 26px;font:400 clamp(18px,2vw,25px)/1.45 var(--serif);color:#514940}.plan-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}.plan-facts span{padding:10px 13px;border:1px solid var(--rule);border-radius:999px;background:#fff;font:500 8px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.plan-actions{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:42px;border-bottom:1px solid var(--rule)}.plan-actions a,.plan-actions button{min-height:45px;padding:0 17px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.12em;font:500 8px var(--sans);cursor:pointer}.plan-actions .secondary{background:transparent;color:var(--ink);border-color:var(--rule)}.itinerary-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:46px 0 28px}.itinerary-head h2{margin:0;font:400 clamp(31px,4vw,48px)/1 var(--serif)}.itinerary-head p{margin:0;color:var(--muted);font-size:11px}.plan-timeline{position:relative;margin:0;padding:0;list-style:none}.plan-timeline:before{content:"";position:absolute;left:23px;top:25px;bottom:25px;border-left:1px dashed #bdb2a5}.plan-stop{position:relative;display:grid;grid-template-columns:48px 128px 1fr;gap:18px;align-items:center;margin-bottom:12px;padding:15px;border:1px solid var(--rule);background:#fff;border-radius:18px;box-shadow:0 7px 20px rgba(38,34,29,.05)}.stop-number{position:relative;z-index:1;width:34px;height:34px;margin:auto;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--rule);font:500 10px var(--sans)}.stop-image{width:128px;height:118px;object-fit:cover;border-radius:12px}.stop-copy .category{display:block;margin-bottom:7px;color:var(--terracotta);font:600 8px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.stop-copy h3{margin:0 0 5px;font:400 clamp(23px,2.4vw,32px)/1.05 var(--serif)}.stop-copy .meta{margin:0 0 9px;color:var(--muted);font:400 10px/1.4 var(--sans)}.stop-copy .note{margin:0;font:400 14px/1.48 var(--serif)}.stop-links{display:flex;gap:13px;margin-top:12px}.stop-links a{border-bottom:1px solid;font:500 8px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase}.journey-leg{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:center;margin:0 0 12px;padding:4px 15px 10px;color:var(--muted);font:500 9px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase}.journey-leg span:first-child{text-align:center;font-size:16px}.plan-note{margin-top:34px;padding:22px;border:1px solid var(--rule);background:var(--cream);font:400 12px/1.6 var(--sans);color:#5e554c}.plan-note strong{display:block;color:var(--ink);text-transform:uppercase;letter-spacing:.12em;font-size:8px;margin-bottom:6px}
@media(max-width:900px){.plan-shell{display:block}.plan-map-panel{position:relative;top:auto;height:46vh;min-height:380px}.plan-detail{padding-top:48px}.plan-map-summary{bottom:18px}.plan-stop{grid-template-columns:42px 112px 1fr}.stop-image{width:112px;height:108px}}
@media(max-width:620px){.plan-shell{min-height:auto}.plan-map-panel{height:42vh;min-height:330px}.plan-map-summary{left:15px;right:15px;bottom:15px;padding:14px 16px}.plan-detail{padding:42px 18px 80px}.plan-intro h1{font-size:49px}.plan-actions a,.plan-actions button{flex:1 1 auto}.itinerary-head{display:block}.itinerary-head p{margin-top:10px}.plan-timeline:before{left:31px}.plan-stop{grid-template-columns:34px 84px 1fr;gap:10px;padding:11px 10px;border-radius:14px}.stop-image{width:84px;height:100px;border-radius:9px}.stop-copy h3{font-size:21px}.stop-copy .note{font-size:12px}.stop-copy .meta{font-size:8px}.journey-leg{grid-template-columns:34px 1fr;gap:10px;padding-left:10px}.stop-links{gap:10px;flex-wrap:wrap}.plans-header-center{display:none}}
/* Compact, editorial action group for each itinerary. */
.plan-actions{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-top:32px;padding:9px;border:1px solid var(--rule);border-radius:18px;background:#f3ebe1;box-shadow:0 8px 24px rgba(38,34,29,.06)}
.plan-actions a,.plan-actions button{position:relative;min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:0;border-radius:12px;background:var(--terracotta);color:#fff;text-transform:none;letter-spacing:.02em;font:500 10px/1 var(--sans);cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.plan-actions a:first-child:before{content:"↗";font-size:16px}
.plan-actions button:before{content:"↗";font-size:15px;transform:rotate(-45deg)}
.plan-actions a:last-child:before{content:"⌖";font-size:16px}
.plan-actions a:hover,.plan-actions button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(38,34,29,.13)}
.plan-actions .secondary{background:rgba(255,255,255,.72);color:var(--ink);border:1px solid rgba(167,99,68,.2)}
.itinerary-head{padding-top:42px;border-top:1px solid var(--rule)}
@media(max-width:620px){.plan-actions{grid-template-columns:1fr;padding:8px}.plan-actions a,.plan-actions button{min-height:50px}}
.plan-feedback{margin-top:42px;padding:30px;border:1px solid var(--rule);border-radius:18px;background:#fff}.plan-feedback .eyebrow{margin:0 0 12px;color:var(--terracotta);font:600 8px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.plan-feedback h2{margin:0 0 10px;font:400 clamp(28px,3.5vw,42px)/1.05 var(--serif)}.plan-feedback>p:not(.eyebrow):not(.plan-feedback-status){margin:0;color:var(--muted);font:400 13px/1.55 var(--sans)}.plan-feedback-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.plan-feedback-actions button{padding:12px 15px;border:1px solid var(--rule);border-radius:999px;background:var(--cream);color:var(--ink);font:600 8px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.plan-feedback-actions button.active{border-color:var(--ink);background:var(--ink);color:#fff}.plan-feedback-status{min-height:18px;margin:14px 0 0;color:var(--terracotta);font:500 10px/1.4 var(--sans)}
