:root{--ink:#20383b;--muted:#697772;--line:#e1e6df;--paper:#f5f5ef;--gold:#b08f5c;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b5945d;outline-offset:3px}.skip{position:fixed;top:-70px;left:15px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:#20383b;color:#f0f1e9;padding:28px 17px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;letter-spacing:1.6px;font-weight:600;padding:0 6px;white-space:nowrap}.brand-mark{font:32px var(--serif);font-weight:normal;color:#d0b686;border:1px solid #ad966d;height:45px;width:40px;display:grid;place-content:center}.brand small{display:block;font-size:9px;color:#9fb4ac;letter-spacing:2.3px;margin-top:5px}nav{display:flex;flex-direction:column;gap:6px;margin-top:42px}nav a{display:flex;align-items:center;gap:13px;color:#c9d5ce;padding:11px 12px;border:1px solid transparent;border-radius:6px;text-decoration:none;font-size:14px}nav a>span{font-size:20px;width:20px;color:#a5bab1}nav a.active{background:#364f50;border-color:#526663;color:#fff}nav a.active>span{color:#d8bd8b}nav a:hover{background:#304b4c}nav em{font-size:11px;font-style:normal;margin-left:auto;color:#a9bbb2}.nav-divider{height:1px;background:#49605b;margin:16px 10px}.sidebar-bottom{margin-top:auto;padding:22px 7px 0;border-top:1px solid #49605b;display:flex;gap:12px;align-items:center;font-size:13px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-content:center;background:#5c7469;color:#e9dfc6;font-size:11px}.sidebar-bottom small{display:block;font-size:10px;color:#9eb4a9;margin-top:3px}.workspace{margin-left:218px}.topbar{height:58px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fbfcf7;color:#7a857b;font-size:12px}.topbar span:last-child{letter-spacing:1.7px;font-size:9px;color:#8e927f}main{max-width:1600px;margin:auto;padding:27px 32px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#987d51;font-weight:600;margin:0 0 8px}h1{font:normal 36px/1.15 var(--serif);letter-spacing:-.8px;margin:0}.intro{font-size:14px;color:var(--muted);margin:10px 0 0;max-width:850px;line-height:1.6}.search-panel{display:flex;align-items:center;gap:16px}.search-wrap{position:relative;flex:1}.search-wrap>span{font-size:27px;position:absolute;left:16px;top:3px;color:#8d9d8d}.search-wrap input{width:100%;height:48px;background:#fff;border:1px solid #dbe2d5;border-radius:7px;padding:0 45px;font-size:15px;color:var(--ink);box-shadow:0 2px 5px #20382b04}.search-wrap input::placeholder{color:#859181}.search-wrap kbd{position:absolute;right:16px;top:13px;border:1px solid #e1e7d9;border-radius:3px;padding:0 6px;color:#9ba68e;font-size:12px}.quiet{background:none;border:0;color:#56734f;padding:0;font-size:13px}.results-line{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#7d8b73;font-size:12px;margin:16px 0 12px}.results-line b{color:#4f6e48}.table-shell{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.contact-table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left}.contact-table th{background:#eef2e8;border-bottom:1px solid #dde4d4;font-size:10px;letter-spacing:1px;font-weight:500;color:#718268;padding:12px 16px}.contact-table th:nth-child(1){width:24%}.contact-table th:nth-child(2){width:25%}.contact-table th:nth-child(3){width:32%}.contact-table th:nth-child(4){width:19%}.contact-table td{padding:11px 16px;border-bottom:1px solid #eaf0e3;vertical-align:middle;font-size:14px;line-height:1.4}.contact-table tr:last-child td{border-bottom:0}.contact-table tbody tr:hover{background:#fafcf6}.contact-name{font-size:15px;font-weight:600;color:#2d4732;display:block}.contact-role{font-size:12px;color:#819176;display:block;margin-top:3px}.company{color:#4a6543;font-size:14px;overflow-wrap:anywhere}.email{color:#365c3c;font-size:14px;text-decoration:none;overflow-wrap:anywhere}.email:hover{text-decoration:underline;text-underline-offset:3px}.email-line{display:flex;align-items:center;gap:7px}.no-email{color:#98a18f;font-size:13px}.contact-note{font-size:11px;color:#8b967f;display:block;margin-top:4px}.contact-note.attention{color:#9e793e}.row-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end}.icon-button{height:31px;min-width:31px;padding:0 7px;border:1px solid #dfe7d5;border-radius:5px;background:#fff;color:#6c825c;font-size:18px;display:inline-grid;place-content:center;text-decoration:none}.icon-button:hover{background:#edf3e5}.icon-button.saved{background:#f7efde;color:#a78344;border-color:#e1d0aa}.copy{font-size:12px;min-width:25px;height:25px;border:0;background:none;color:#849778;padding:0}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:white;border:1px solid #d7e1cc;border-radius:5px;color:#4e7044;padding:8px 13px;font-size:13px;text-decoration:none;white-space:nowrap}.button:hover{background:#f3f7ec}.button.primary{background:#315341;color:#fff;border-color:#315341}.button.danger{color:#996650}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 2px;font-size:12px;color:#859377}.pagination>div{display:flex;gap:8px}.pagination button:disabled{opacity:.35;cursor:default}.material-list{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.material{padding:19px 21px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:1px solid #e8eee0}.material:last-child{border-bottom:0}.material h3{font:normal 22px/1.3 var(--serif);letter-spacing:-.3px;margin:5px 0 7px}.material h3 a{text-decoration:none}.material h3 a:hover{text-decoration:underline;text-underline-offset:4px}.material-meta{font-size:11px;letter-spacing:.25px;color:#8a967b}.material p{font-size:14px;color:#708165;margin:7px 0;max-width:780px;line-height:1.6}.material .people{font-size:12px;color:#8c987f}.material-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:285px}.material .save-actions{display:flex;gap:5px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.destination-card,.trip-card{padding:23px;background:white;border:1px solid var(--line);border-radius:8px;position:relative;display:flex;flex-direction:column}.destination-card .number{font:normal 12px var(--serif);color:#b8a278;margin-bottom:27px}.destination-card h3,.trip-card h3{font:normal 27px/1.2 var(--serif);letter-spacing:-.4px;margin:0 0 12px}.destination-card h3 a,.trip-card h3 a{text-decoration:none}.destination-card h3 a:hover,.trip-card h3 a:hover{text-decoration:underline}.destination-card p,.trip-card p{font-size:13px;color:#879575;margin:0 0 17px}.destination-card .row-actions,.trip-card .row-actions{justify-content:space-between;margin-top:auto}.destination-card .row-actions>div{display:flex;gap:6px}.trip-card .icon-button{font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 12px}.section-heading h2{font:normal 25px var(--serif);letter-spacing:-.3px;margin:0}.section-heading span{font-size:12px;color:#879777}.empty{background:white;border:1px solid var(--line);border-radius:8px;text-align:center;padding:55px 24px}.empty h2{font:normal 29px var(--serif);margin:0 0 11px}.empty p{color:#849275;font-size:14px;max-width:490px;margin:0 auto 19px}.empty .button+.button{margin-left:7px}.fam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fam-card{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.fam-card-top{padding:24px 24px 17px}.fam-card h3{font:normal 27px/1.2 var(--serif);letter-spacing:-.5px;margin:16px 0 10px}.status{font-size:11px;display:inline-block;padding:4px 8px;border-radius:4px;background:#f5efdf;color:#98743e}.status.full{background:#f4e9e3;color:#97634e}.status.closed{background:#eef0e8;color:#7a8870}.trip-date{font-size:14px;color:#7c866d}.fam-price{font-size:17px;color:#456a40;margin:18px 0 4px}.fam-small{font-size:12px;color:#8c997e;line-height:1.6;margin:3px 0}.fam-card details{border-top:1px solid #e8eddf;padding:15px 24px}.fam-card summary{cursor:pointer;font-size:13px;color:#597d4c}.fam-card details p,.fam-card li{font-size:13px;color:#7d8e6c;line-height:1.7}.fam-card details h4{font-size:13px;color:#57794b;margin:19px 0 8px}.fam-card ul{padding-left:18px}.fam-card-footer{border-top:1px solid #e8eddf;padding:15px 24px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fam-card-footer .save-actions{display:flex;gap:5px;margin-left:auto}.program-note{font-size:12px;color:#879575;line-height:1.8;padding:20px 0}.notice{font-size:13px;padding:12px 16px;background:#f5ebd8;border-radius:6px;color:#8b703b;margin-bottom:17px}.local-note{font-size:12px;color:#8b977e;background:#edf1e6;padding:12px 16px;border-radius:5px;margin-bottom:18px}.remove-item{font-size:12px;background:none;color:#9c7660;border:0;padding:5px}footer{display:flex;justify-content:space-between;gap:20px;padding:26px 0;color:#96a18a;font-size:10px}footer span:first-child{letter-spacing:1.4px;font-size:8px}dialog{width:calc(100% - 35px);max-width:500px;max-height:85vh;border:1px solid #d6dfc9;border-radius:10px;padding:25px;color:var(--ink);box-shadow:0 25px 100px #16302355}dialog::backdrop{background:#17323c88;backdrop-filter:blur(2px)}.dialog-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.dialog-bar .eyebrow{margin:0}.close{width:29px;height:29px;border-radius:50%;background:#eef3e6;color:#6f825c;border:0;font-size:21px}dialog h2{font:normal 29px/1.2 var(--serif);margin:0 0 14px}dialog p{font-size:14px;color:#7e8f6d;line-height:1.7}dialog label{display:block;font-size:13px;color:#5e7c4e;margin-bottom:17px}dialog select{width:100%;border:1px solid #d5dfc8;border-radius:5px;padding:10px;color:var(--ink);background:white;margin-top:8px}.dialog-choices{display:flex;flex-direction:column;gap:9px}.dialog-choices .button{justify-content:space-between;text-align:left}.dialog-choices small{color:#9aab86}.modal-actions{display:flex;gap:10px;margin-top:20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 18px;background:#294d3d;color:#fff;border-radius:6px;font-size:13px;z-index:30;box-shadow:0 4px 20px #152d2333;max-width:calc(100% - 35px);text-align:center}[hidden]{display:none!important}.destination-crumb{font-size:12px;color:#7a9168;margin-bottom:16px}.destination-crumb a{text-underline-offset:3px}
@media(min-width:1500px){main{padding-inline:42px}.topbar{padding-inline:42px}.contact-table td{font-size:15px;padding-block:12px}.contact-name{font-size:16px}.email{font-size:15px}.company{font-size:15px}}
@media(max-width:1100px){.sidebar{width:198px;padding-inline:13px}.workspace{margin-left:198px}.brand{font-size:10px;padding:0 3px;gap:10px}.brand small{font-size:8px}nav a{font-size:13px;padding-inline:10px;gap:9px}.topbar{padding-inline:24px}main{padding-inline:24px}.contact-table th,.contact-table td{padding-inline:12px}.contact-table td{font-size:13px}.email{font-size:12px}.company{font-size:13px}.contact-note{font-size:10px}.contact-name{font-size:14px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material{grid-template-columns:1fr}.material-actions{justify-content:flex-start;max-width:none;gap:9px}.material h3{font-size:23px}.material .save-actions{margin-left:auto}}
@media(max-width:760px){.sidebar{position:relative;width:100%;padding:17px 16px 0;display:block}.brand{width:max-content;font-size:11px}.brand small{font-size:8px}.brand-mark{height:38px;width:35px;font-size:29px}nav{flex-direction:row;gap:4px;overflow:auto;margin-top:16px;scrollbar-width:thin}nav a{white-space:nowrap;font-size:12px;padding:10px 9px;border-radius:5px 5px 0 0;gap:0}nav a>span,.nav-divider,.sidebar-bottom,nav em{display:none}.workspace{margin:0}.topbar{height:41px;padding-inline:17px;font-size:10px}.topbar span:last-child{font-size:7px}main{padding:24px 16px 0}.page-heading{margin-bottom:20px;gap:15px}.eyebrow{font-size:8px}h1{font-size:33px}.intro{font-size:13px;line-height:1.65;margin-top:10px}.search-wrap input{font-size:14px;padding-left:41px;height:46px}.search-wrap kbd{display:none}.search-panel{gap:10px}.quiet{font-size:12px}.results-line{font-size:11px;align-items:flex-start;margin-block:14px 11px}.contact-table{table-layout:auto}.contact-table thead{display:none}.contact-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:14px 15px;border-bottom:1px solid #e6eddd;gap:4px 8px}.contact-table tr:last-child{border-bottom:0}.contact-table td{padding:0;border:0;display:block;grid-column:1;min-width:0}.contact-table td:nth-child(2){grid-row:2}.contact-table td:nth-child(3){grid-row:3}.contact-table td:nth-child(4){grid-column:2;grid-row:1 / 4;align-self:start}.contact-name{font-size:16px}.company{font-size:14px}.email{font-size:14px}.contact-role{font-size:12px}.contact-note{font-size:11px;margin-top:3px}.row-actions{gap:4px}.icon-button{height:30px;min-width:30px;font-size:17px}.pagination{font-size:11px;gap:10px}.pagination .button{padding:7px 10px;font-size:11px}.material{padding:19px 17px;gap:11px}.material h3{font-size:23px}.material p{font-size:14px}.material .people{font-size:12px}.material-meta{font-size:11px}.material-actions .button{font-size:12px}.card-grid{gap:13px}.destination-card,.trip-card{padding:19px 16px}.destination-card h3,.trip-card h3{font-size:25px}.destination-card .number{margin-bottom:22px}.destination-card p,.trip-card p{font-size:12px}.destination-card .row-actions{gap:7px;flex-wrap:wrap}.destination-card .row-actions>div{margin-left:auto}.destination-card .button{padding:6px 9px;font-size:12px}.fam-grid{grid-template-columns:1fr;gap:16px}.fam-card h3{font-size:27px}.fam-card-top{padding:22px 20px 17px}.fam-card details,.fam-card-footer{padding-inline:20px}.fam-card-footer .button{font-size:12px}.program-note{font-size:11px}.page-heading>.button,#page-actions .button{font-size:12px;padding:8px 11px}.section-heading h2{font-size:24px}footer{display:block;font-size:10px;line-height:2.2}footer span{display:block}.local-note{font-size:11px}.trip-card .row-actions{flex-wrap:wrap}.trip-card .button{font-size:12px}.empty{padding:42px 18px}.empty p{font-size:13px}}
@media(max-width:390px){.card-grid{grid-template-columns:1fr}.destination-card .number{margin-bottom:16px}.destination-card h3{font-size:28px}.page-heading{align-items:flex-start}h1{font-size:31px}.topbar span:last-child{display:none}}

.session-time{font-weight:700;color:var(--ink);margin-bottom:.3rem}.session-caveat{font-size:.82rem;color:#80613b;line-height:1.5}.session-contact{font-size:.85rem}.fam-eligibility{border-left:3px solid #a58b62;background:#f6f0e5;padding:.8rem 1rem;line-height:1.5;font-size:.9rem;color:#35443a}.fam-eligibility strong{display:inline-block;margin-bottom:.2rem}

.offers-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.offer-card{min-width:0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.offer-card-top{padding:24px}.offer-card h3{font:normal 26px/1.25 var(--serif);letter-spacing:-.4px;margin:8px 0 13px}.offer-eligibility{font-size:14px;color:#566d4e;line-height:1.65}.offer-dates{margin:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.offer-dates dt{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#8a967b}.offer-dates dd{font-size:13px;color:#48613f;margin:5px 0 0}.offer-date-note{font-size:12px;line-height:1.7;color:#98743e;margin:16px 0 0}.offer-card details{border-top:1px solid #e8eddf;padding:15px 24px}.offer-card summary{cursor:pointer;font-size:13px;color:#597d4c}.offer-card details p,.offer-card li{font-size:13px;line-height:1.8;color:#718165}.offer-card ul{padding-left:18px}.offer-card li+li{margin-top:9px}.offer-links{display:flex;flex-direction:column;gap:8px}.offer-links .button{white-space:normal;justify-content:flex-start;text-align:left;overflow-wrap:anywhere}.offer-footer{display:flex;gap:10px;align-items:center;border-top:1px solid #e8eddf;padding:14px 24px;margin-top:auto}.offer-footer>span{font-size:11px;color:#859575}.offer-footer .save-actions{margin-left:auto}.offer-footer .remove-item{flex-shrink:0}
@media(max-width:1100px){.offers-list{grid-template-columns:1fr}}
@media(max-width:760px){.offer-card-top{padding:22px 20px}.offer-card details,.offer-footer{padding-inline:20px}.offer-card h3{font-size:26px}.offer-dates{grid-template-columns:1fr;gap:13px}.offer-eligibility{font-size:14px}}

.contact-phone{display:block;font-size:12px;color:#65795b;line-height:1.55;overflow-wrap:anywhere;margin-top:5px}.contact-reservations{margin-top:8px;padding-top:7px;border-top:1px solid #e8eddf;max-width:100%;font-size:12px}.contact-reservations summary{cursor:pointer;color:#597d4c;font-size:12px}.contact-reservations .email-line{margin-top:6px}.contact-reservations .email{font-size:12px}.contact-table .email-line+.email-line{margin-top:5px}.contact-role{overflow-wrap:anywhere}

/* Supplier contact cards: scoped to the contact component. */
.supplier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.supplier-card{min-width:0;padding:22px;background:#fff;border:1px solid #d7e1d8;border-radius:18px;box-shadow:0 5px 22px #20383b06;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.supplier-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.supplier-badges{display:flex;flex-wrap:wrap;gap:6px;min-width:0;padding-block:7px}
.supplier-category{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:7px;font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.15px;overflow-wrap:anywhere}
.supplier-category.category-stay{color:#315540;background:#eaf1e8}.supplier-category.category-sea{color:#2e526d;background:#e8f0f8}.supplier-category.category-destination{color:#634b79;background:#f0eaf6}.supplier-category.category-experience{color:#755125;background:#f6eedf}.supplier-category.category-transport{color:#285c5b;background:#e5f2ef}.supplier-category.category-services{color:#684d62;background:#f3eaf0}.supplier-category.category-neutral{color:#536056;background:#edf0eb}
.supplier-card .supplier-favorite{height:44px;min-width:44px;flex-shrink:0;border-radius:12px;font-size:23px;border-color:#d8e2d6;color:#527050;background:#fff}
.supplier-card .supplier-favorite.saved{background:#f8f0df;border-color:#dbc69e;color:#856423}
.supplier-card .supplier-company{font:normal 27px/1.22 var(--serif);letter-spacing:-.45px;color:#203d35;margin:0 0 20px;overflow-wrap:anywhere}
.supplier-contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1px;margin:0;border:1px solid #e3e9df;border-radius:12px;overflow:hidden;background:#e3e9df}
.supplier-contact-grid>div{min-width:0;padding:13px 14px;background:#f8faf6}
.supplier-contact-grid dt{font-size:10px;line-height:1.4;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#62715f;margin:0 0 7px}
.supplier-contact-grid dd{margin:0;min-width:0}
.supplier-contact-grid .supplier-email{grid-column:1 / -1}
.supplier-card .contact-name{font-size:16px;line-height:1.45;font-weight:600;color:#294536;overflow-wrap:anywhere}
.supplier-card .contact-role{font-size:12px;line-height:1.5;color:#66755f;margin-top:5px;overflow-wrap:anywhere}
.supplier-card .contact-phone{font-size:14px;color:#34543c;line-height:1.55;margin:0;text-decoration:none;overflow-wrap:anywhere}
.supplier-card a.contact-phone{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%}
.supplier-card a.contact-phone:hover{text-decoration:underline;text-underline-offset:3px}
.supplier-card .email-line{display:flex;gap:8px;align-items:flex-start;min-width:0}
.supplier-card .email-line+.email-line{margin-top:8px}
.supplier-card .email{display:flex;align-items:center;min-height:44px;min-width:0;flex:1;font-size:14px;line-height:1.5;color:#31563d;overflow-wrap:anywhere}
.supplier-card .copy{display:grid;place-items:center;flex:0 0 44px;min-width:44px;width:44px;height:44px;padding:0;border:1px solid #dce5d7;border-radius:9px;background:#fff;color:#426341;font-size:18px}
.supplier-card .copy:hover{background:#eaf1e4;border-color:#b6c8ab}
.supplier-card .contact-unlisted,.supplier-card .no-email{font-size:13px;line-height:1.5;color:#6c7867}
.supplier-notes{margin-top:14px;overflow-wrap:anywhere}
.supplier-card .contact-note{font-size:12px;line-height:1.6;color:#6a775f;margin-top:5px}
.supplier-card .contact-note.attention{color:#87652e}
.supplier-card .contact-reservations{border-top:1px solid #e4eadd;margin-top:14px;padding-top:7px}
.supplier-card .contact-reservations summary{display:list-item;min-height:44px;padding-block:12px;color:#49683f;font-size:13px}
.supplier-card .contact-reservations .email{font-size:13px}
.supplier-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;padding-top:16px;border-top:1px solid #e6ecdf}
.supplier-card .supplier-trip{min-height:44px;padding:9px 14px;border-radius:9px;background:#fff;color:#46623f;font-size:13px}
.supplier-trip>span{font-size:19px;line-height:1}
.supplier-card .remove-item{min-height:44px;padding:9px 10px;color:#87573f}
.supplier-card:focus-within{border-color:#9aaf91;box-shadow:0 5px 22px #20383b0d}
.supplier-card a:focus-visible,.supplier-card button:focus-visible,.supplier-card summary:focus-visible{outline:3px solid #8b6b35;outline-offset:3px}
@media(hover:hover){.supplier-card:hover{border-color:#abc0a0;box-shadow:0 10px 28px #20383b10}.supplier-card .supplier-favorite:hover{border-color:#afc4a4;background:#f3f7ee}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.supplier-card:hover{transform:translateY(-3px)}}
@media(min-width:1700px){.supplier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.supplier-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.supplier-grid{gap:14px}.supplier-card{padding:18px;border-radius:15px}.supplier-card .supplier-company{font-size:26px;margin-bottom:17px}.supplier-contact-grid{grid-template-columns:minmax(0,1fr)}.supplier-contact-grid>div{padding:12px 13px}.supplier-card-header{gap:10px}}
@media(prefers-reduced-motion:reduce){.supplier-card{transition:none;transform:none}.supplier-card:hover{transform:none}}

/* Vendor type filter: searchable native checkbox list. */
.search-panel>.search-wrap{min-width:0}
.vendor-type-filter{position:relative;flex-shrink:0;color:var(--ink);z-index:4}
.vendor-type-filter>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid #cddbc7;border-radius:9px;background:#fff;font-size:13px;font-weight:600;color:#35543b;white-space:nowrap}
.vendor-type-filter>summary::-webkit-details-marker{display:none}
.vendor-type-filter>summary:hover{border-color:#9eb38f;background:#f8fbf4}
.vendor-type-filter[open]>summary{border-color:#809a70;box-shadow:0 0 0 2px #dfe9d8}
#vendor-filter-count{font-size:11px;font-weight:400;color:#66795d}
.filter-chevron{font-size:18px;line-height:1;color:#6e865f}
.vendor-filter-content{position:absolute;right:0;top:calc(100% + 9px);width:320px;max-width:calc(100vw - 32px);padding:17px;background:white;border:1px solid #d6e0ce;border-radius:12px;box-shadow:0 14px 40px #20383b20}
.vendor-filter-content fieldset{margin:0;padding:0;border:0;min-width:0}
.vendor-filter-content legend{padding:0;font-size:14px;font-weight:600;margin-bottom:12px;color:#304c37}
.filter-search-label{display:block;font-size:11px;color:#6c7f60;margin-bottom:5px}
#vendor-type-search{display:block;width:100%;height:44px;padding:9px 11px;border:1px solid #d6e0ce;border-radius:7px;font-size:13px;color:var(--ink);background:#fff}
.vendor-type-options{margin-top:10px;max-height:330px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 3px 2px 0}
.vendor-type-row{display:flex;align-items:center;gap:11px;min-height:44px;padding:8px 7px;border-radius:6px;cursor:pointer;color:#354f39;font-size:13px;line-height:1.45}
.vendor-type-row:hover{background:#f1f6ec}
.vendor-type-row:has(input:checked){background:#eef4e8}
.vendor-type-row input{appearance:auto;width:19px;height:19px;margin:0;flex:0 0 19px;accent-color:#3b6344;cursor:pointer}
.vendor-type-name{min-width:0;overflow-wrap:anywhere}
.vendor-type-count{margin-left:auto;min-width:29px;text-align:right;font-size:12px;color:#6c7c61;flex-shrink:0;font-variant-numeric:tabular-nums}
.vendor-filter-footer{border-top:1px solid #e3eadd;margin-top:10px;padding-top:8px}
.vendor-filter-footer .quiet{min-height:44px;min-width:85px;text-align:left;font-size:13px;color:#3f643c}
.vendor-filter-footer .quiet:disabled{opacity:.5;cursor:default}
#vendor-type-help,.vendor-type-empty{font-size:11px;line-height:1.6;color:#6e7d65;margin:3px 0 0}
.vendor-type-filter summary:focus-visible,.vendor-filter-content input:focus-visible,.vendor-filter-content button:focus-visible{outline:3px solid #8b6b35;outline-offset:3px}
.vendor-type-row:focus-within{outline:2px solid #9cb18e;outline-offset:-2px}
@media(max-width:760px){.search-panel{flex-wrap:wrap}.search-panel>.search-wrap{flex-basis:calc(100% - 70px)}.vendor-type-filter{width:100%}.vendor-type-filter>summary{justify-content:flex-start;min-height:46px}.vendor-type-filter .filter-chevron{margin-left:auto}.vendor-filter-content{position:static;width:100%;max-width:none;margin-top:9px;padding:15px;box-shadow:0 5px 20px #20383b09}.vendor-type-options{max-height:44vh}.vendor-type-row{min-height:46px;font-size:14px}}

/* Planning workspace: shared destination context, original-source resources. */
.sidebar{overflow-y:auto}.sidebar nav{margin-top:25px}.sidebar-bottom{margin-top:26px}.mobile-view-label{display:none}
.plan-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px;border:1px solid var(--line);background:#fff;border-radius:14px}.plan-controls label,.trip-context label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#466153}.plan-controls select,.plan-controls input,.trip-context select,.trip-context textarea{width:100%;min-width:0;min-height:46px;border:1px solid #cbd6c4;border-radius:7px;padding:10px;font:16px system-ui;color:var(--ink);background:#fbfcf9}.plan-control-actions{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1}.plan-error{grid-column:1/-1;color:#9b3e32;margin:0}.plan-error:empty{display:none}.planning-summary{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0 8px;color:#476549;font-size:13px}.guide-note{color:#586d5d;font-size:13px;line-height:1.7}.planning-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.planning-shortcuts .button,.plan-controls .button{min-height:44px}.partner-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#776443;font-size:11px;margin:9px 0}.partner-status .button{font-size:12px;white-space:normal}.freshness{display:block;font-size:11px;line-height:1.6;color:#64755e;margin:8px 0 14px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.resource-card{border:1px solid var(--line);background:white;border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:flex-start}.resource-card h2{font:27px/1.2 var(--serif);margin:6px 0}.resource-card p{font-size:14px;line-height:1.7}.resource-card .resource-note{font-size:12px;color:#68795f}.resource-card .button{margin-top:auto;min-height:44px;white-space:normal;text-align:left}.offer-state{font-size:11px;display:inline-block;padding:4px 9px;background:#eef3e8;border-radius:6px;margin-bottom:12px}.offer-state.confirm{background:#f8eedb;color:#795f35}.offer-state.expired{background:#f3e5df;color:#835342}.trip-context{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;display:grid;gap:15px}.trip-context p{font-size:12px;color:#67775e;margin:0}.trip-context button{justify-self:start;min-height:44px}.trip-context textarea{resize:vertical}.supplier-card-footer{flex-wrap:wrap}.supplier-card-footer .button{min-height:44px}.planning-fams{margin:24px 0}.planning-fams>summary{cursor:pointer;padding:14px;background:#e9eee3;border-radius:8px;min-height:48px}#dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}#dialog .contact-phone{display:block;margin:8px 0}#dialog .email-line{flex-wrap:wrap;margin:8px 0}#dialog .button{white-space:normal}#dialog h2{overflow-wrap:anywhere}#dialog-body{overflow-wrap:anywhere}.text-link{font-size:14px}.results-line .button{white-space:normal;min-height:44px}.button{min-height:40px}
@media(max-width:760px){.sidebar{position:sticky;top:0;z-index:5;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 16px;gap:14px;overflow:visible}.sidebar nav{display:none}.mobile-view-label{display:flex;flex-direction:column;font-size:10px;color:#c9d5ce;gap:3px;min-width:0;max-width:52%}.mobile-view-label select{font-size:16px;max-width:100%;min-height:42px;padding:7px 22px 7px 9px;border:1px solid #708479;background:#2d4949;color:white;border-radius:6px}.resource-grid{grid-template-columns:1fr}.plan-controls{grid-template-columns:1fr;padding:17px;gap:14px}.resource-card{padding:20px}.plan-control-actions .button{flex:1;white-space:normal}.planning-summary{gap:10px 16px}.page-heading{flex-wrap:wrap}.planning-shortcuts{gap:8px}.planning-shortcuts .button{white-space:normal}.section-heading h2{font-size:24px}#page-actions{display:flex;flex-wrap:wrap;gap:9px}.brand{white-space:normal}.brand>span:last-child{font-size:9px}.brand small{font-size:7px}#dialog{width:calc(100% - 24px);max-width:600px;margin:auto;padding:20px}.supplier-card .icon-button,.save-actions .icon-button{min-width:44px;height:44px}}
@media(max-height:700px) and (min-width:761px){.sidebar{padding-top:15px}.sidebar nav{margin-top:15px;gap:2px}.sidebar nav a{padding-block:8px}.sidebar .nav-divider{margin-block:8px}.sidebar-bottom{display:none}}

.plan-dates{grid-column:1/-1}.plan-dates>summary,.planning-help>summary{min-height:44px;cursor:pointer;display:list-item;padding:10px 0;font-size:13px;color:#52694e}.plan-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:8px 0}.planning-help{margin:8px 0}.planning-shortcuts{margin:12px 0 20px}@media(max-width:760px){.plan-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-date-fields{grid-template-columns:1fr}.plan-controls select{padding-inline:7px}.plan-controls>label{font-size:11px}.plan-dates>summary{padding-bottom:4px}}
