/* Photography is an independent interface layer, never approved house artwork. */
.travel-desk{max-width:1180px;margin:auto;padding:clamp(16px,4vw,48px)}.travel-masthead{display:block;border-bottom:1px solid var(--cy-border);padding-bottom:24px;margin-bottom:28px}.travel-masthead h1{font-family:Georgia,serif;font-size:clamp(2.3rem,6vw,4rem);margin:.25em 0}.travel-eyebrow,.travel-date{font-family:var(--cy-font-journal);color:var(--cy-text-muted);line-height:1.6}.travel-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}.travel-trip-card{border:1px solid var(--cy-border);border-radius:16px;overflow:hidden;background:var(--cy-surface);box-shadow:0 6px 20px var(--cy-shadow-color);display:flex;flex-direction:column}.travel-trip-card .travel-card-body{padding:24px;flex:1}.travel-trip-card h3{font:1.65rem/1.25 Georgia,serif;margin:12px 0}.travel-photo{display:block;width:100%;height:260px;object-fit:cover}.travel-photo-awaiting{min-height:210px;padding:28px;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;background:linear-gradient(135deg,var(--cy-surface-blue),var(--cy-surface-sage));color:var(--cy-text-muted);font-family:Georgia,serif;font-size:1.35rem}.travel-status-badge{display:inline-block;padding:6px 12px;border:1px solid var(--cy-border);border-radius:20px;background:var(--cy-surface-sage);color:var(--cy-text);font-size:1rem}.travel-trip-card button,.travel-trip-card a.button{min-height:48px}.travel-journey{margin-top:32px}.travel-highlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}.travel-highlight-grid article{padding:20px;border:1px solid var(--cy-border);background:var(--cy-surface);border-radius:12px}.travel-cover-editor{margin:16px 0}.travel-cover-editor summary{padding:14px;cursor:pointer;font-size:1.1rem}.travel-cover-editor form{padding:12px}.travel-interest-row{padding:12px;border-bottom:1px solid var(--cy-border);overflow-wrap:anywhere}.travel-hero-photo{max-height:420px;height:auto;width:100%;object-fit:cover;border-radius:14px}.travel-cover-credit{font-size:1rem;color:var(--cy-text-muted)}.trip-destination-hero{margin:16px 0 24px}.trip-destination-hero h2{font:clamp(1.8rem,4vw,2.7rem)/1.25 Georgia,serif}.travel-desk textarea{min-height:130px}.travel-desk input,.travel-desk select,.travel-desk textarea{max-width:100%;box-sizing:border-box}.travel-desk [role=status]{line-height:1.6}.travel-desk footer{margin-top:40px;border-top:1px solid var(--cy-border);padding-top:20px}.travel-desk .actions{flex-wrap:wrap}@media(max-width:600px){.travel-photo{height:220px}.travel-trip-card .travel-card-body{padding:18px}.travel-masthead nav{display:flex;gap:16px;flex-wrap:wrap}.travel-desk table{display:block;overflow-x:auto}.travel-hero-photo{max-height:280px}}@media(prefers-reduced-motion:reduce){.travel-desk *{scroll-behavior:auto}}
.travel-preview-banner{padding:24px;border:2px solid var(--cy-plum);border-radius:14px;background:var(--cy-surface);margin-bottom:24px}.travel-preview-banner select{width:100%;min-height:48px;font-size:1.05rem}.travel-preview-banner a,.travel-empty>a,.travel-card-body>a{display:inline-flex;align-items:center;min-height:48px}.travel-empty{grid-column:1/-1;padding:24px}.travel-empty button{display:block;min-height:48px;margin:16px 0}.travel-desk input[type=checkbox]{width:auto;min-height:24px;vertical-align:middle}.travel-desk [hidden]{display:none!important}

.travel-preview-trip-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.travel-preview-trip-layout .card{padding:20px}@media(max-width:760px){.travel-preview-trip-layout{grid-template-columns:minmax(0,1fr)}}
/* Boutique travel interface: approved destination photos, readable journal details. */
.travel-masthead{padding:clamp(24px,5vw,56px);border:1px solid var(--cy-border);border-radius:20px;background:linear-gradient(115deg,var(--cy-surface),var(--cy-surface-blue));}
.travel-masthead>p:not(.travel-eyebrow){font:1.3rem/1.6 Georgia,serif;max-width:42ch}.travel-card-grid{gap:32px;margin:24px 0 40px}.travel-trip-card{border-radius:20px}.travel-photo{height:300px;object-fit:cover;background:var(--cy-surface-blue)}.travel-trip-card>.travel-cover-credit,.travel-trip-card>p{margin:12px 24px 0}.travel-card-body{line-height:1.7}.travel-card-body>a,.travel-card-body>button{margin-top:16px;padding:12px 18px;border-radius:10px;font-weight:600}.travel-card-body>p{max-width:60ch}.travel-journey{padding-top:16px}.travel-journey h2{font:clamp(2rem,5vw,3.5rem)/1.2 Georgia,serif;max-width:24ch}.travel-hero-photo{max-height:560px;object-fit:cover;background:var(--cy-surface-blue)}.travel-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0}.travel-highlight-grid article{padding:0 0 24px;overflow:hidden;border-radius:18px}.travel-highlight-grid article h3,.travel-highlight-grid article p{margin:16px 24px;line-height:1.7}.travel-highlight-grid article h3{font:1.7rem/1.3 Georgia,serif}.travel-highlight-grid .travel-photo{height:280px}.travel-highlight-grid article>p:first-of-type{font-size:.95rem;color:var(--cy-text-muted)}#travel-preferences{margin:32px 0;padding:20px}#travel-preferences>summary{cursor:pointer;min-height:48px;align-content:center;font-size:1.2rem;font-weight:600}#travel-preferences>summary:focus-visible{outline:3px solid var(--cy-plum);outline-offset:5px}.travel-import-summary{padding:20px;background:var(--cy-surface-sage);border:1px solid var(--cy-border);border-radius:12px;line-height:1.8}.travel-interest-row details{padding:12px 0}.travel-interest-row pre{font-size:1rem}
@media(max-width:650px){.travel-masthead{padding:24px 18px}.travel-highlight-grid{grid-template-columns:minmax(0,1fr)}.travel-photo{height:240px}.travel-hero-photo{max-height:none}.travel-highlight-grid .travel-photo{height:auto;max-height:340px}.travel-card-grid{gap:24px}.travel-card-body>a,.travel-card-body>button{display:flex;justify-content:center;width:100%;box-sizing:border-box}.travel-highlight-grid article h3,.travel-highlight-grid article p{margin-left:18px;margin-right:18px}}
.trip-interest-questionnaire,.travel-adventure-invitation{margin:28px 0;padding:clamp(18px,3vw,30px);line-height:1.7}.trip-interest-questionnaire h2{font:clamp(1.7rem,4vw,2.5rem)/1.3 Georgia,serif}.trip-interest-questionnaire>strong{display:block;font-size:1.25rem}.trip-interest-questionnaire fieldset{margin:24px 0;border:1px solid var(--cy-border);border-radius:12px;padding:18px;min-width:0}.trip-interest-questionnaire legend{font-weight:600;padding:0 8px;white-space:normal}.trip-interest-questionnaire fieldset label,.travel-adventure-invitation form>label{display:flex;align-items:flex-start;gap:12px;padding:12px 6px;margin:6px 0;min-height:48px;box-sizing:border-box;cursor:pointer}.trip-interest-questionnaire input[type=radio],.travel-adventure-invitation input[type=checkbox]{flex:0 0 auto;width:22px;height:22px;margin:3px 0;accent-color:var(--cy-primary)}.trip-interest-questionnaire button,.travel-adventure-invitation button{min-height:48px}.questionnaire-management fieldset{margin:22px 0;padding:18px;border:1px solid var(--cy-border);border-radius:12px;min-width:0}.questionnaire-management .question-options{display:grid;gap:14px}.questionnaire-management textarea{width:100%;min-height:95px}.questionnaire-management button{min-height:48px}.questionnaire-management .actions{gap:12px;display:flex;flex-wrap:wrap}.questionnaire-management input:not([type=checkbox]):not([type=radio]),.questionnaire-management select{width:100%}.questionnaire-response{padding:18px;border-bottom:1px solid var(--cy-border);overflow-wrap:anywhere}@media(max-width:600px){.trip-interest-questionnaire fieldset{padding:12px}.questionnaire-management .actions>button{width:100%}}

/* Destination photography: full-bleed frames share the same geometry everywhere.
   Individual photographs may set --travel-photo-focus without editing source pixels. */
:root{--travel-violet:var(--cy-plum);--travel-photo-focus:50% 50%}
.travel-photo-frame{display:block;position:relative;overflow:hidden;margin:0;padding:0;width:100%;aspect-ratio:3/2;background:var(--cy-surface-blue);border-radius:0}
.travel-photo-frame.travel-photo-frame-hero{aspect-ratio:16/7;border-radius:16px}
.travel-photo-frame>img.travel-photo,.travel-photo-frame>img.travel-hero-photo{display:block;width:100%;height:100%;max-height:none;margin:0;padding:0;aspect-ratio:auto;object-fit:cover;object-position:var(--travel-photo-focus);border:0;border-radius:0;background:transparent}
.travel-photo-frame .travel-photo-awaiting{height:100%;margin:0}
.travel-trip-card{box-shadow:none;border-color:var(--cy-border);background:transparent}
.travel-trip-card>.travel-photo-frame{flex-shrink:0}.travel-card-body{background:transparent}
.travel-highlight-grid{gap:clamp(20px,3vw,36px)}
.travel-highlight-grid article{border:0;border-radius:0;background:transparent;padding-bottom:8px}
.travel-highlight-grid article>.travel-photo-frame{border-radius:14px}
.travel-highlight-grid article h3,.travel-highlight-grid article p{margin-left:0;margin-right:0}
.travel-highlight-grid article h3{color:var(--travel-violet)}
.travel-highlight-grid article>.travel-cover-credit{font:0.9rem/1.5 system-ui,sans-serif;color:var(--cy-text-muted)}
.travel-masthead{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--cy-border);padding:8px 0 28px}
.travel-masthead .travel-eyebrow{color:var(--travel-violet)}
.trip-interest-questionnaire,.travel-adventure-invitation{background:transparent;border:0;border-radius:0;padding:clamp(22px,4vw,44px) 0;margin:36px 0;box-shadow:none}
.travel-nz-feature>.travel-photo-frame{margin-bottom:clamp(20px,3vw,32px)}
.travel-nz-feature>h2{margin-top:0;color:var(--travel-violet);font:clamp(1.9rem,4vw,3rem)/1.18 Georgia,serif;max-width:30ch}
.trip-interest-questionnaire>p,.travel-adventure-invitation>p{max-width:72ch}
.trip-interest-questionnaire>strong{color:var(--travel-violet);font:600 clamp(1.25rem,2.6vw,1.6rem)/1.5 system-ui,sans-serif}
.trip-interest-questionnaire>form{max-width:780px;margin-top:28px}
.trip-interest-questionnaire fieldset{background:transparent;border-width:1px 0 0;border-radius:0;padding:20px 0 0;margin:18px 0}
.trip-interest-questionnaire legend{padding-left:0;line-height:1.6}
.trip-interest-questionnaire fieldset label{border-radius:8px;padding:12px;line-height:1.6}
.trip-interest-questionnaire fieldset label:has(input:checked){background:var(--cy-surface-plum)}
.trip-interest-questionnaire fieldset label:focus-within,.travel-adventure-invitation form>label:focus-within{outline:2px solid var(--cy-focus);outline-offset:3px}
.trip-interest-questionnaire input[type=radio],.travel-adventure-invitation input[type=checkbox]{accent-color:var(--travel-violet)}
.travel-adventure-invitation{border-bottom:1px solid var(--cy-border)}
.travel-adventure-invitation form{max-width:780px;border-top:1px solid var(--cy-border);padding-top:20px;margin-top:24px}
.travel-adventure-invitation form>label{line-height:1.6}
.questionnaire-management #questionnaire-preview{margin-top:36px}
@media(max-width:650px){.travel-photo-frame{aspect-ratio:3/2}.travel-photo-frame.travel-photo-frame-hero{aspect-ratio:4/3;border-radius:12px}.travel-desk{padding-left:0;padding-right:0}.travel-masthead{padding:8px 0 24px}.travel-highlight-grid article h3,.travel-highlight-grid article p{margin-left:0;margin-right:0}.trip-interest-questionnaire,.travel-adventure-invitation{padding:24px 0}.trip-interest-questionnaire fieldset{padding:16px 0 0}.trip-interest-questionnaire fieldset label{padding:12px 6px}}

.travel-destination-feature>.travel-photo-frame{margin-bottom:clamp(20px,3vw,32px)}.travel-destination-feature>h2{margin-top:0;color:var(--travel-violet);font:clamp(1.9rem,4vw,3rem)/1.18 Georgia,serif;max-width:30ch}.travel-destination-feature>strong{display:block;margin:16px 0;color:var(--travel-violet);font-size:1.25rem}#adventure-editor fieldset{min-width:0;border:1px solid var(--cy-border);border-radius:12px;margin:16px 0;padding:16px}#adventure-editor legend{padding:0 8px}
.rooming-room{border:1px solid var(--cy-border);border-radius:12px;padding:16px;margin:16px 0}.rooming-room summary{padding:8px 0;cursor:pointer;font-weight:600}.rooming-room label{margin:12px 0}.rooming-occupants{max-height:330px;overflow-y:auto}.rooming-occupants label{display:flex;gap:12px;align-items:center;min-height:48px}.rooming-occupants input[type=checkbox]{width:22px;height:22px;flex:0 0 auto}.rooming-occupants [hidden]{display:none!important}#trip-roommates>p{line-height:1.6}#trip-roommates button{margin:8px 6px 8px 0}
