:root{font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;font-size:16px;color:#302b26;background:#ffffff;font-synthesis:none;--ink:#302b26;--muted:#74695d;--green:#c64008;--dark:#923006;--line:#eee4d9;--surface:#fff;--soft:#fff2e3;--radius:8px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ee661f;outline-offset:3px}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,2.3vw,34px);line-height:1.4;letter-spacing:-.6px;font-weight:680}h2{font-size:21px;line-height:1.5}h3{font-size:16px;line-height:1.5}p{line-height:1.8}input,select,textarea{width:100%;min-width:0;border:1px solid #ddcdbc;border-radius:8px;background:#fff;min-height:44px;padding:10px 11px;font-size:14px}input[type=checkbox]{width:17px;height:17px;min-height:0;margin:2px 0 0;accent-color:var(--green);flex-shrink:0}label{display:flex;flex-direction:column;gap:7px;color:#665b50;font-size:14px;line-height:1.5}summary{cursor:pointer;font-weight:650;line-height:1.7}details[open]>summary{margin-bottom:18px}details>summary::marker{color:var(--green)}.checkbox{flex-direction:row;align-items:flex-start;gap:9px;line-height:1.6;margin:11px 0}.hint{font-size:12px;line-height:1.75;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:absolute;left:16px;top:-80px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.overline{font-size:12px;font-weight:650;color:#c64008;letter-spacing:1.8px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:white;font-size:14px;font-weight:600;line-height:1.5;transition:background .15s}.button:hover{background:#fff0df}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#ff7b35}.button.secondary{background:white}.full-width{width:100%}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:38px;height:38px;border-radius:8px;flex-shrink:0;background:transparent;color:#896e52}.icon-button:hover{background:#fff0df}.text-button,.subtle-link{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:6px 0;color:var(--green);font-size:14px;font-weight:550}.text-button:hover,.subtle-link:hover{text-decoration:underline}.site-header{display:flex;align-items:center;gap:48px;min-height:82px;padding:0 max(28px,calc((100vw - 1280px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:750;letter-spacing:-1px;line-height:1.05}.brand small{display:block;font-size:11px;color:#847666;letter-spacing:2.2px;margin-top:4px;font-weight:450}.brand-mark{display:grid;place-items:center;position:relative;background:var(--green);color:white;width:37px;height:40px;border-radius:11px;font-size:32px;padding-bottom:4px}.brand-mark span{position:absolute;right:4px;top:0;font-size:18px}.site-header nav{align-self:stretch;display:flex;gap:31px;align-items:stretch;margin-left:auto}.site-header nav a{display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px;font-size:14px;color:#695d50;white-space:nowrap}.site-header nav a[aria-current]{border-color:var(--green);color:var(--green);font-weight:650}.language{font-size:13px;border:1px solid var(--line);padding:6px 9px;border-radius:6px}.page-shell{max-width:1280px;margin:0 auto;padding:33px 28px 55px;min-height:70vh}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.page-intro h1{margin-top:6px}.page-intro p{margin-top:9px;color:var(--muted);max-width:750px;font-size:15px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:30px;align-items:start}.planner{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden}.form-section{padding:22px}.form-section+.form-section{border-top:1px solid var(--line)}.form-section h2{font-size:16px;margin-bottom:17px}.form-section>label,.form-section details>label{margin-top:15px}.form-section>label:first-of-type{margin-top:0}.form-section details>label:first-of-type{margin-top:16px}.segment{padding:0;margin:0;border:0;min-width:0}.segment+.segment{border-top:1px dashed var(--line);padding-top:17px;margin-top:17px}.segment legend{font-size:15px;font-weight:600;margin-bottom:14px;width:100%;display:flex;align-items:center;gap:9px}.step{display:inline-flex;align-items:center;justify-content:center;background:#ffe9cc;color:#ac4b10;font-size:11px;border-radius:5px;padding:3px 6px}.segment-heading{display:flex;align-items:flex-end;gap:8px}.segment-heading label{flex:1}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.field-row input{padding:10px 7px;font-size:13px}.add-destination{margin-top:17px;font-size:13px}.unit-input{position:relative}.unit-input input{padding-right:40px}.unit-input>span{position:absolute;right:13px;top:12px;font-size:14px;color:var(--muted)}.usage-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.usage-presets button{font-size:12px;border:1px solid var(--line);border-radius:6px;background:#fffbf5;padding:6px 8px}.usage-presets button:hover{border-color:#ee661f}.privacy-line{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--muted);margin-top:14px}.form-submit .button{min-height:46px}.allowance-field{position:relative;border:1px solid #ecdbc8;border-radius:9px;padding:11px;margin:17px 0 0;background:#fffbf5;min-width:0}.allowance-field legend{font-size:12px;font-weight:600;max-width:220px;overflow-wrap:anywhere}.allowance-field .field-row{margin-top:0}.allowance-field .remove-pool{position:absolute;top:-27px;right:0;width:25px;height:25px}.allowance-field label{font-size:12px}.field-label{display:block;font-size:12px;margin-top:12px;color:var(--muted)}.pool-countries{display:flex;gap:3px 10px;flex-wrap:wrap}.pool-countries .checkbox{margin:5px 0}.plan-benefit-card{margin-top:16px;font-size:13px;border-left:3px solid #e78835;padding-left:12px}.plan-benefit-card p{font-size:12px;margin-top:8px}.plan-benefit-card a{font-size:12px;color:var(--green)}.error-message{color:#a43b2d;background:#fff0ec;padding:10px;border-radius:7px;margin-bottom:12px;font-size:13px;line-height:1.6}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 15px}.result-heading h2{font-size:17px;display:flex;align-items:center;gap:8px}.route-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 18px;border:1px solid var(--line);background:white;border-radius:10px;margin-bottom:16px}.route-strip>span{display:flex;align-items:center;gap:8px;font-size:13px}.route-strip b{font-size:13px;letter-spacing:1px}.route-strip>svg{color:#b49a7c}.route-strip small{font-size:12px;color:var(--muted);margin-left:auto}.recommendation{display:grid;grid-template-columns:1fr auto;gap:20px;border:1px solid #f0ceaa;border-radius:13px;background:#fff2e3;padding:24px;margin-bottom:17px}.recommendation h2{font-size:23px;line-height:1.5;margin-top:9px;font-weight:650;letter-spacing:-.5px;color:#8c390a}.recommendation p{font-size:13px;color:#7a5264;margin-top:9px;max-width:390px}.rec-price{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;gap:7px;border-left:1px solid #e5d0ba;padding-left:20px;min-width:165px}.rec-price span,.rec-price small{font-size:12px;color:#7a5264}.rec-price strong{font-size:34px;letter-spacing:-1px;line-height:1.4;white-space:nowrap;font-weight:650;color:#923006}.budget-card{background:white;border:1px solid var(--line);border-radius:13px;padding:20px 23px;margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h3{font-size:15px;font-weight:600}.section-heading>span,.section-heading>p{font-size:13px;color:var(--muted)}.budget-numbers{display:grid;grid-template-columns:1fr 25px 1fr 25px 1fr;gap:14px;margin:22px 0}.budget-numbers>div{display:flex;flex-direction:column;gap:6px}.budget-numbers span{font-size:13px;color:var(--muted)}.budget-numbers strong{font-size:31px;font-weight:650;line-height:1.3;letter-spacing:-.7px}.budget-numbers small{font-size:13px;letter-spacing:0;font-weight:450;margin-left:7px;color:var(--muted)}.budget-numbers .math-sign{align-self:center;font-size:22px;color:#b5a6ae}.green{color:var(--green)}.budget-bar{height:7px;background:#efdfcc;border-radius:7px;overflow:hidden}.budget-bar span{display:block;height:100%;background:#975d75;border-radius:7px}.sort-label{flex-direction:row;align-items:center;font-size:12px;white-space:nowrap}.sort-label select{font-size:12px;min-height:33px;padding:5px 8px;border-color:transparent;background:transparent;width:auto}.quote-list{display:flex;flex-direction:column;gap:11px}.quote-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 18px}.quote-card.best{border-color:#b8899d}.quote-icon{display:grid;place-items:center;width:42px;height:46px;border-radius:10px;background:#fff5e9;color:#946379;flex-shrink:0}.quote-main{flex:1;min-width:0}.quote-heading{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.quote-heading h3{font-size:15px;font-weight:600;overflow-wrap:anywhere}.quote-main p{font-size:12px;color:var(--muted);margin-top:6px}.badge{background:#ffe6c7;color:#c64008;font-size:11px;border-radius:4px;padding:3px 6px;white-space:nowrap}.quote-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.quote-tags span{font-size:11px;color:#82717a}.quote-price{text-align:right;display:flex;flex-direction:column;gap:4px;white-space:nowrap}.quote-price strong{font-size:22px;letter-spacing:-.5px}.quote-price small{font-size:11px;color:var(--muted)}.result-footnote{font-size:12px;color:#80737a;line-height:1.8;margin-top:17px}.results>.full-width{margin-top:14px}.results{scroll-margin-top:20px}.empty-state{text-align:center;padding:45px 24px;background:white;border:1px solid var(--line);border-radius:12px}.empty-state>svg{color:#946379;margin-bottom:14px}.empty-state h2,.empty-state h3{font-size:20px}.empty-state p{font-size:14px;max-width:470px;margin:12px auto 20px;color:var(--muted)}.empty-state .button{margin-top:14px}.site-footer{max-width:1224px;margin:0 auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;padding:24px 0 30px;font-size:12px;color:#786972}.site-footer>div{display:flex;gap:22px}.site-footer a:hover{color:var(--green)}.footer-dot{padding:0 9px;color:#b3a5ad}.catalog-filters{display:grid;grid-template-columns:1fr 220px 180px auto;gap:12px;border:1px solid var(--line);border-radius:12px;padding:17px;background:white;margin-bottom:25px}.search-input{position:relative}.search-input>svg{position:absolute;left:13px;top:12px;color:#a09099}.search-input input{padding-left:42px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px}.plan-card{padding:23px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,transform .15s}.plan-card:hover{border-color:#b6889c;transform:translateY(-2px)}.plan-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px}.provider-label{font-size:13px;font-weight:650;color:#80556a}.tag{font-size:11px;color:#80717a;padding:3px 6px;background:#fff0dc;border-radius:4px}.plan-title h2{font-size:18px;line-height:1.5;font-weight:600}.plan-spec{display:flex;align-items:baseline;gap:10px;margin-top:18px}.plan-spec strong{font-size:21px;font-weight:600}.plan-spec span{font-size:13px;color:var(--muted)}.plan-coverage{font-size:13px;color:var(--muted);margin-top:8px;margin-bottom:22px}.plan-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #fff2e3;padding-top:16px;margin-top:auto}.plan-bottom strong{font-size:25px;font-weight:600;letter-spacing:-.7px}.plan-bottom small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.round-link{display:grid;place-items:center;background:#fff4e5;width:38px;height:38px;border-radius:50%;color:var(--green)}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;font-size:14px}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.destination-card{display:flex;align-items:center;gap:17px;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.destination-card:hover{border-color:#b5849c}.destination-card h2{font-size:19px}.destination-card p{font-size:12px;color:#816d78;margin:3px 0 8px}.destination-card .muted{font-size:12px}.destination-card>svg{margin-left:auto;color:#a08694}.country-code{display:grid;place-items:center;width:46px;height:55px;border:1px solid #eaddcd;background:#fff8ef;border-radius:9px;font-size:18px;font-weight:650;letter-spacing:1px;flex-shrink:0}.back-link{display:inline-flex;font-size:14px;color:var(--green);margin-bottom:25px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:45px;align-items:start}.detail-main{padding:25px 0}.detail-main h1{margin:10px 0 20px}.detail-main h2{font-size:20px;margin:32px 0 15px}.detail-specs{display:flex;gap:13px;flex-wrap:wrap}.detail-specs span{font-size:14px;background:#ffedd5;border-radius:6px;padding:7px 11px;color:#c64008}.country-pills{display:flex;gap:7px;flex-wrap:wrap}.country-pills span{padding:7px 10px;border:1px solid var(--line);background:white;border-radius:7px;font-size:13px}.detail-facts{margin:0;border-top:1px solid var(--line)}.detail-facts>div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}.detail-facts dt{color:var(--muted)}.detail-facts dd{margin:0}.callout{padding:15px 18px;background:#fff4e5;border-left:3px solid #a87590;border-radius:0 8px 8px 0;margin:20px 0;font-size:14px;line-height:1.8;color:#715465}.callout p+p{margin-top:8px}.setup-list{padding-left:22px;font-size:15px;line-height:1.9;color:#715665}.setup-list li{padding:4px 0 4px 6px}.source-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--green);margin:13px 15px 0 0}.report-link{display:flex;margin-top:25px}.purchase-panel{position:sticky;top:25px;padding:26px;background:white;border:1px solid var(--line);border-radius:14px;margin-top:25px;display:flex;flex-direction:column;gap:14px}.purchase-panel>strong{font-size:36px;letter-spacing:-1px}.purchase-panel>p{font-size:13px;color:var(--muted);margin-bottom:5px}.prose{font-size:16px;line-height:1.85;max-width:800px}.prose h2{margin-top:28px;margin-bottom:12px;font-size:21px}.prose p{color:#765e6c;margin-bottom:16px}.prose.narrow{max-width:750px;margin:20px auto}.prose h1{margin-bottom:25px}.help-layout{display:grid;grid-template-columns:1fr 390px;gap:55px;align-items:start}.feedback-form,.settings-card{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.feedback-form h2{font-size:20px;margin-bottom:20px}.feedback-form label{margin-top:16px}.feedback-form .hint{margin:13px 0}.feedback-form button{margin-top:15px}.honeypot{display:none}.table-scroll{overflow:auto;border-radius:10px;border:1px solid var(--line);background:white}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:12px;color:#806c77;background:#fff4e5;font-weight:550}th,td{padding:14px 17px;border-bottom:1px solid var(--line);line-height:1.65}tbody tr:last-child td{border-bottom:0}.coverage-table b{display:inline-block;width:33px;font-size:12px;color:var(--green)}.source-directory{display:flex;gap:15px;flex-wrap:wrap}.source-directory a{padding:10px 14px;background:white;border:1px solid var(--line);border-radius:8px;font-size:14px}.settings-card{margin:25px 0}.settings-card h2{font-size:19px;margin-bottom:12px}.settings-card label{max-width:400px;margin-bottom:15px}.saved-card{border:1px solid var(--line);border-radius:13px;background:white;padding:24px;margin-bottom:17px}.saved-card-heading{display:flex;justify-content:space-between;gap:20px}.saved-card-heading h2{font-size:22px;margin:7px 0}.saved-card-heading p{font-size:14px;color:var(--muted)}.saved-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.saved-card-bottom>span{font-size:24px;font-weight:600}.saved-card-bottom small{font-size:12px;color:var(--muted);font-weight:400}.saved-card details{border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:14px}.saved-tools{display:flex;gap:12px;flex-wrap:wrap}#forget-plan{margin-left:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#61381e;color:white;box-shadow:0 8px 25px #4e303f1a;border-radius:9px;padding:13px 20px;font-size:14px;max-width:calc(100% - 30px);z-index:100;text-align:center}.toast[hidden]{display:none}dialog{border:1px solid var(--line);border-radius:16px;width:calc(100% - 32px);max-width:760px;max-height:88vh;padding:25px;color:var(--ink);box-shadow:0 25px 75px #302a2d33;overscroll-behavior:contain}dialog::backdrop{background:#302a2d55;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-head h2{font-size:24px}.modal-price{display:flex;justify-content:space-between;align-items:center;background:#ffedd5;border-radius:10px;padding:20px;margin-bottom:23px}.modal-price span{font-size:14px}.modal-price strong{font-size:31px}#dialog-body h3{margin:22px 0 12px}.plain-list{list-style:none;padding:0;margin:0}.plain-list li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.checkout-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.checkout-row strong{font-size:15px}.checkout-row p{font-size:13px;color:var(--muted);margin-top:5px}.checkout-row .button{flex-shrink:0}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.admin-stat{border:1px solid var(--line);border-radius:12px;background:white;padding:22px}.admin-stat strong{display:block;font-size:31px;margin-top:7px}.admin-section{margin-top:25px}.admin-section h2{margin:20px 0 15px}.admin-item{border:1px solid var(--line);padding:20px;background:white;border-radius:10px;margin-bottom:12px}.admin-item h3{margin-bottom:10px}.admin-item p{font-size:13px;color:var(--muted)}.admin-actions{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.admin-json{width:100%;min-height:170px;font-family:ui-monospace,monospace;font-size:13px}.danger{color:#ab4432}.hidden{display:none!important}
@media(min-width:1450px){.page-shell{padding-top:42px}.workspace{gap:35px}.recommendation{padding:28px}}
@media(max-width:1100px){.site-header{gap:30px}.site-header nav{gap:23px}.workspace{grid-template-columns:295px minmax(0,1fr);gap:23px}.form-section{padding:19px}.recommendation{grid-template-columns:1fr}.rec-price{border-left:0;border-top:1px solid #e5d0ba;padding:12px 0 0;display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px;align-items:center}.rec-price strong{grid-column:2;grid-row:1/3}.quote-card{position:relative;padding:18px;flex-wrap:wrap}.quote-price{margin-left:55px;flex-direction:row;align-items:center;gap:9px;text-align:left}.quote-card>.icon-button{position:absolute;right:10px;top:15px}.quote-main{padding-right:17px}.quote-heading{gap:7px}.quote-main{flex-basis:calc(100% - 55px)}.catalog-filters{grid-template-columns:1fr 190px 160px auto}.plan-grid{gap:14px}.plan-card{padding:19px}.plan-title h2{font-size:16px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 280px}.site-footer{margin:0 28px}.help-layout{gap:30px;grid-template-columns:1fr 345px}}
@media(max-width:820px){.site-header{padding:0 20px;gap:23px;min-height:76px}.site-header nav{gap:17px}.brand{font-size:24px}.brand small{font-size:10px}.brand-mark{width:32px;height:36px;font-size:29px}.site-header nav a{font-size:13px}.page-shell{padding:27px 20px 40px}.workspace{grid-template-columns:265px minmax(0,1fr);gap:18px}.form-section{padding:16px}.field-row{grid-template-columns:1fr}.segment .field-row{gap:12px}.budget-card{padding:19px}.budget-numbers{gap:5px;grid-template-columns:1fr 10px 1fr 10px 1fr}.budget-numbers strong{font-size:26px}.budget-numbers span{font-size:12px}.budget-numbers small{font-size:12px;margin-left:4px}.section-heading{flex-wrap:wrap}.recommendation{padding:20px}.recommendation h2{font-size:21px}.rec-price strong{font-size:30px}.rec-price span{font-size:11px}.result-heading h2{font-size:15px}.result-heading .text-button{font-size:12px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters .search-input{grid-column:1/3}.catalog-filters>.button{grid-column:1/3}.detail-layout{grid-template-columns:1fr}.purchase-panel{position:static;margin-top:0;max-width:none;order:-1}.purchase-panel>strong{font-size:32px}.detail-main{padding:0}.help-layout{grid-template-columns:1fr;gap:20px}.feedback-form{max-width:none}.admin-stats{grid-template-columns:1fr 1fr}.page-intro .subtle-link{display:none}}
@media(max-width:620px){.site-header{flex-wrap:wrap;padding:15px 16px 0;gap:0;min-height:110px}.site-header .brand{font-size:24px}.language{margin-left:auto}.site-header nav{order:2;margin-left:0;width:100%;justify-content:space-between;gap:12px;margin-top:10px;min-height:44px}.site-header nav a{font-size:13px;padding-bottom:11px;padding-top:10px}.page-shell{padding:23px 16px 35px}.page-intro{margin-bottom:23px;align-items:flex-start;flex-direction:column;gap:16px}.page-intro h1{font-size:25px}.page-intro p{font-size:14px}.page-intro .overline{font-size:11px}.workspace{display:flex;flex-direction:column;gap:27px}.planner,.results{width:100%}.form-section{padding:20px}.field-row{grid-template-columns:1fr 1fr}.segment .field-row{gap:10px}.field-row input{font-size:14px}.result-heading h2{font-size:17px}.result-heading .text-button{font-size:13px}.route-strip{gap:10px;padding:15px}.recommendation{padding:22px}.recommendation h2{font-size:22px}.recommendation p{font-size:14px}.rec-price span{font-size:12px}.rec-price strong{font-size:33px}.budget-numbers{grid-template-columns:1fr 18px 1fr 18px 1fr;gap:9px}.budget-numbers strong{font-size:30px}.budget-numbers span{font-size:12px}.budget-card .section-heading{align-items:flex-start}.budget-card .section-heading>span{font-size:12px}.quote-card{padding:18px 15px}.quote-main{flex-basis:calc(100% - 55px)}.quote-heading h3{font-size:15px}.quote-price{gap:12px}.quote-price strong{font-size:23px}.site-footer{margin:0 16px;flex-direction:column;gap:18px;padding:23px 0 27px}.site-footer>div{gap:20px}.plan-grid{grid-template-columns:1fr}.plan-card{padding:22px}.plan-title h2{font-size:18px}.plan-topline{margin-bottom:15px}.plan-spec{margin-top:14px}.destination-grid{grid-template-columns:1fr}.destination-card{padding:23px}.destination-card h2{font-size:21px}.catalog-filters{padding:14px;gap:10px}.catalog-filters select{font-size:13px}.detail-facts>div{grid-template-columns:110px 1fr;gap:12px}.detail-main h1{font-size:27px}.detail-main h2{font-size:20px}.purchase-panel{padding:23px}.saved-card{padding:20px}.saved-card-heading h2{font-size:20px}.saved-card-bottom{align-items:flex-start;gap:15px}.saved-card-bottom small{display:block;margin-top:5px}.saved-card-bottom>span{font-size:25px}.saved-card .button{padding:10px 12px;font-size:13px}.plain-list li{flex-direction:column;gap:5px}.checkout-row{align-items:stretch;flex-direction:column;gap:12px}.modal-price strong{font-size:27px}.dialog-head h2{font-size:22px}dialog{padding:21px 18px}.table-scroll th,.table-scroll td{padding:12px 13px;white-space:nowrap}.admin-stats{gap:10px}.admin-stat{padding:17px}.overline{font-size:11px}.form-section label{font-size:14px}.allowance-field label{font-size:12px}.sort-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Existing-plan benefits and optional renewal controls. */
.allowance-field>label,.allowance-renewal label{margin-top:12px}.allowance-renewal{margin:14px 0;border-top:1px dashed var(--line);padding-top:12px}.allowance-renewal summary{font-size:12px}.allowance-renewal .hint{margin:10px 0}.allowance-renewal [hidden]{display:none!important}.allowance-renewal .field-row{margin-top:12px}.ledger-renewal{display:block;white-space:normal;max-width:230px;line-height:1.6;color:var(--green);font-size:11px;margin-top:5px}.home-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-plan-card{border:1px solid var(--line);background:white;border-radius:12px;padding:25px;min-width:0}.home-plan-card h2{font-size:20px}.home-plan-card .section-heading{align-items:flex-start;flex-wrap:wrap}.home-plan-fee{font-size:24px;font-weight:600;color:var(--green)}.home-plan-fee small{font-size:13px;font-weight:400;color:var(--muted)}.benefits-list{list-style:none;margin:18px 0;padding:0}.benefits-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.benefits-list strong{display:block;font-weight:550}.benefits-list span{font-size:12px;color:var(--muted)}.home-plan-card .hint{margin:8px 0}.home-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}.source-evidence{margin-top:18px;font-size:12px}.source-evidence a{color:var(--green)}
@media(max-width:760px){.home-plan-grid{grid-template-columns:1fr}.site-header nav{gap:20px;overflow-x:auto}.home-plan-card{padding:20px}}

.allowance-destinations{margin-top:14px}.allowance-destinations summary{font-size:12px}.allowance-destinations[open]>summary{margin-bottom:8px}

.quote-tags .condition-tag{color:#855a23;background:#fff5de;padding:2px 5px;border-radius:4px}.catalog-filters{grid-template-columns:minmax(170px,1fr) 170px 150px 180px auto}@media(max-width:1000px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters .search-input{grid-column:1/-1}}@media(max-width:540px){.catalog-filters{grid-template-columns:1fr}.catalog-filters .search-input{grid-column:auto}}

.activation-list { list-style: none; padding: 0; margin: 0; }
.modal-price { flex-wrap: wrap; gap: .5rem 1rem; }
.activation-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .4rem 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line, #dfe5eb); }
.activation-list li small { grid-column: 1 / -1; color: var(--muted, #5e6c7b); font-size: .875rem; }
.activation-list li span { overflow-wrap: anywhere; }
@media (max-width: 540px) { .activation-list li { grid-template-columns: 1fr; } }
.catalog-filters > * { min-width: 0; }
@media (max-width: 1000px) { .catalog-filters > .button { grid-column: 1 / -1; } }
.ledger-renewal { font-size: .875rem; }
.collection-stop { margin: 1rem 0; padding: .9rem; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.collection-stop legend { font-size: .875rem; padding: 0 .3rem; }
#tourist-section > label { margin: .8rem 0; }
#tourist-section .hint { font-size: .875rem; }
.regional-allowances { margin: 1.5rem 0; }
.regional-allowance { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.regional-allowance > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 1rem; }
.regional-allowance b { color: var(--green); white-space: nowrap; }
.regional-allowance p { margin-top: .5rem; font-size: .875rem; }
.regional-allowances > .hint { font-size: .875rem; margin: .75rem 0; }
.detail-heading { grid-column: 1; grid-row: 1; padding-top: 25px; min-width: 0; }
.detail-heading h1 { margin: 10px 0 20px; }
.detail-layout { row-gap: 0; }
.detail-main { grid-column: 1; grid-row: 2; }
.detail-layout > .purchase-panel { grid-column: 2; grid-row: 1 / span 2; order: 0; }
@media (max-width: 820px) {
  .detail-heading { grid-column: 1; grid-row: 1; padding-top: 0; }
  .detail-heading h1 { font-size: 27px; }
  .detail-layout > .purchase-panel { grid-column: 1; grid-row: 2; margin: 20px 0 0; }
  .detail-main { grid-column: 1; grid-row: 3; }
}
.offer-list { display: grid; gap: 14px; }
.trip-currency { margin-top: 18px; }
.member-picker .section-heading { flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.member-picker h2 { margin: 0; }
.member-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.member-button { border: 1px solid var(--line); border-radius: 8px; padding: 8px 11px; min-height: 44px; background: white; color: var(--green); font-size: 14px; max-width: 100%; overflow-wrap: anywhere; }
.member-button[aria-pressed=true] { background: var(--green); color: white; border-color: var(--green); }
[hidden] { display: none !important; }
.member-picker [hidden] { display: none; }
#sharing-section[hidden] { display: none; }
.sharing-group { margin: 16px 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.sharing-group > legend { padding: 0 5px; font-size: .875rem; font-weight: 600; }
.sharing-group label { margin: 12px 0; }
.sharing-group select { width: 100%; text-overflow: ellipsis; }
.sharing-period { border-left: 2px solid var(--line); padding-left: 12px; margin: 16px 0; }
.sharing-period input { width: 100%; min-width: 0; }
.connection-schedule { display: grid; gap: 14px; margin: 18px 0; }
.connection-schedule article { min-width: 0; }
.connection-schedule h4 { margin: 0 0 6px; font-size: 1rem; }
.connection-schedule ul { padding-left: 20px; margin: 0; }
.connection-schedule li { margin: 5px 0; overflow-wrap: anywhere; font-size: .875rem; line-height: 1.6; }
.sharing-guests { border: 0; padding: 0; margin: 16px 0; min-width: 0; }
.sharing-guests legend { font-size: .875rem; }
#sharing-section .hint, .sharing-group .checkbox { font-size: .875rem; line-height: 1.55; }
.sharing-group .checkbox { align-items: flex-start; }
.sharing-group .checkbox input { margin-top: .2em; flex-shrink: 0; }
.sharing-summary { padding: 16px; margin: 16px 0; border-left: 3px solid var(--green); background: var(--light, #fff7ed); }
.sharing-summary p + p { margin-top: 10px; }
.sharing-participants { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0; }
.sharing-setup { margin: 18px 0; }
#member-fields { border-top: 1px solid var(--line); }
.member-picker #member-name-label { margin-top: 16px; }
.member-picker #remove-member { margin-top: 10px; }
.group-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.member-results { display: grid; gap: 18px; }
.member-result { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: white; min-width: 0; }
.member-result .section-heading { flex-wrap: wrap; gap: 10px; }
.member-result h3 { overflow-wrap: anywhere; }
.member-option { margin: 16px 0; }
.member-option select { width: 100%; text-overflow: ellipsis; }
.member-choice { display: flex; gap: 14px; justify-content: space-between; align-items: baseline; margin: 18px 0; }
.member-choice strong { font-size: 16px; overflow-wrap: anywhere; }
.member-choice span { white-space: nowrap; font-size: 24px; color: var(--green); }
.member-result .hint { margin: 10px 0; font-size: 14px; }
.member-result .callout { margin-top: 16px; }
.changed-trip p { margin: 12px 0 20px; }
button:disabled { cursor: not-allowed; opacity: .6; }
@media (max-width: 620px) { .member-result { padding: 20px; } .member-choice { flex-direction: column; gap: 8px; } .group-actions .button { width: 100%; } }
@media (max-width: 620px) { .party-recommendation .rec-price { display: flex; align-items: flex-start; } .party-recommendation .rec-price span, .party-recommendation .rec-price small { font-size: 14px; } }
.offer-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }
.offer-row > div { min-width: 0; }
.offer-row .offer-price { font-size: 24px; font-weight: 700; margin: 8px 0; }
.offer-row .hint { font-size: 14px; margin: 8px 0; overflow-wrap: anywhere; }
.offer-row .button { flex-shrink: 0; }
.price-history td { font-size: 14px; vertical-align: top; }
.detail-main, .offer-section, .price-history { min-width: 0; }
.long-workspace { display: grid; grid-template-columns: minmax(300px, 370px) minmax(0, 1fr); gap: 28px; align-items: start; }
.long-workspace > *, .long-results, .long-detail { min-width: 0; }
.long-workspace .form-section > label, .long-workspace .form-section > .field-row { margin-top: 16px; }
.long-workspace .field-row { align-items: end; }
.long-workspace .hint, .long-detail .hint, #long-saved .hint { font-size: .875rem; margin: 10px 0; }
.long-workspace .settings-card, .long-workspace .budget-card { margin: 0 0 20px; }
.long-workspace .budget-card > h2 { margin: 10px 0; }
.long-workspace input, .long-workspace select { font-size: 1rem; }
.long-directory > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.long-directory { margin: 16px 0; }
.long-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 20px 0; }
.long-option { border: 1px solid var(--line); border-radius: 14px; padding: 22px; background: white; min-width: 0; }
.long-option.selected { border: 2px solid var(--green); padding: 21px; }
.long-option .section-heading { flex-wrap: wrap; gap: 10px; align-items: flex-start; margin-bottom: 16px; }
.long-option h3 { font-size: 1.125rem; }
.long-option .condition-tag { color: #825322; font-size: .875rem; }
.long-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 16px 0; }
.long-price strong { color: var(--green); font-size: 1.75rem; }
.long-price span { color: var(--muted); font-size: .875rem; }
.long-costs { display: grid; gap: 8px; margin: 16px 0 20px; font-size: .875rem; }
.long-costs > span { display: flex; justify-content: space-between; gap: 10px; }
.long-detail > details { margin: 24px 0; }
.long-detail .section-heading { flex-wrap: wrap; gap: 12px; }
.long-detail ul, .long-results .settings-card ul { padding-left: 22px; line-height: 1.8; }
.long-detail li { margin: 8px 0; }
.long-ledger { max-height: 420px; overflow: auto; }
.long-ledger th, .long-ledger td { font-size: .875rem; }
.long-ledger td:last-child { white-space: normal; min-width: 170px; }
#long-contract > label { margin-top: 16px; }
#long-contract[hidden] { display: none; }
#long-error { color: #a53631; margin-bottom: 14px; }
.long-saved-item { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 18px 0; border-bottom: 1px solid var(--line); }
.long-saved-item a { display: grid; gap: 7px; }
.long-saved-item span { font-size: .875rem; color: var(--muted); }
@media (max-width: 1000px) { .long-options { grid-template-columns: 1fr; } .site-header { gap: 20px; } .site-header nav { gap: 20px; } }
@media (max-width: 820px) { .long-workspace { grid-template-columns: 1fr; } .long-options { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .long-options { grid-template-columns: 1fr; } .long-workspace .field-row { grid-template-columns: 1fr; } .site-header nav { overflow-x: auto; justify-content: flex-start; } .long-detail { padding: 20px; } .long-detail .table-scroll { max-width: 100%; } }
@media (max-width: 600px) { .offer-row { align-items: stretch; flex-direction: column; gap: 16px; } .offer-row .button { width: 100%; } }
.table-scroll .maintenance-source { max-width: 32rem; min-width: 12rem; overflow-wrap: anywhere; white-space: normal; }
.product-review-table { min-width: 860px; table-layout: fixed; }
.recurring-travel { margin: 22px 0; border-top: 1px solid var(--line); padding-top: 18px; }
.recurring-card { padding: 14px; border: 1px solid var(--line); border-radius: 10px; margin: 10px 0; background: #fffbf5; overflow-wrap: anywhere; }
.recurring-card p { font-size: 13px; }
.recurring-form { min-width: 0; border: 1px solid var(--line); padding: 14px; border-radius: 10px; display: grid; gap: 12px; }
.recurring-form legend { padding: 0 6px; font-weight: 650; }
.recurring-dates { margin: 14px 0; }
.recurring-dates table { min-width: 620px; }
.recurring-dates th,.recurring-dates td { white-space: normal; vertical-align: top; overflow-wrap: anywhere; }
.recurring-dates small { display: block; }
.table-scroll .product-review-table th, .table-scroll .product-review-table td { vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.table-scroll .product-review-table th:first-child { width: 150px; overflow-wrap: normal; word-break: normal; }
.table-scroll .product-review-table th[scope="row"] { background: #fffbf5; font-weight: 600; }
.admin-section p, .admin-item { overflow-wrap: anywhere; }
.admin-json { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.reference-options{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);}
.reference-options h3{margin:0 0 .6rem;}
.reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0;}
.reference-list article{display:grid;align-content:start;gap:.4rem;border:1px solid var(--line);border-radius:12px;padding:1rem;overflow-wrap:anywhere;}
.reference-list a{font-weight:600;}
.reference-list span,.reference-list small,.comparison-notice{font-size:.875rem;line-height:1.55;}
.comparison-notice{margin:.75rem 0 0;padding:.75rem;border-radius:8px;background:#f6f4ec;color:#665123;overflow-wrap:anywhere;}
@media(max-width:640px){.reference-list{grid-template-columns:1fr;}}
.route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.route-grid > .muted { grid-column: 1 / -1; }
.route-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 10px; }
.route-card h3 { font-size: 18px; overflow-wrap: anywhere; }
.route-card p { font-size: 13px; color: var(--muted); margin-top: 8px; }
.route-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 16px; }
.route-form { display: grid; gap: 18px; }
.route-form > p:empty, .route-preview:empty { display: none; }
.route-form > .button { justify-self: start; }
.route-date-list { padding: 0; margin: 0; list-style: none; }
.route-date-list li { display: flex; gap: 16px; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.route-preview p { font-size: 13px; margin-top: 12px; }
.saved-section-heading { font-size: 21px; margin: 28px 0 18px; }
@media (max-width: 620px) {
  .route-grid { grid-template-columns: 1fr; }
  .route-library { padding: 20px; }
  .route-date-list li { flex-direction: column; gap: 5px; }
  .route-actions { gap: 12px; }
}
.catalog-filters.directory-filters { display: block; padding: 22px; }
.directory-basic, .directory-advanced { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: end; }
.directory-filters label { min-width: 0; font-size: 13px; }
.directory-filters select, .directory-filters input { min-width: 0; width: 100%; }
.directory-more { margin: 20px 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.directory-more summary { color: var(--green); font-size: 14px; cursor: pointer; }
.directory-advanced { margin: 18px 0 14px; }
.directory-controls { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; }
.directory-controls label { flex: 1 1 180px; max-width: 300px; }
.directory-controls .text-button { min-height: 44px; display: inline-flex; align-items: center; }
.directory-cost-note { margin: 12px 0 20px; }
.compare-plan-choice { padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--line); font-size: 14px; }
.comparison-selection { position: sticky; top: 10px; z-index: 10; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; border: 1px solid #dfaa70; border-radius: 12px; padding: 16px 20px; margin: 18px 0; background: #fff0da; box-shadow: 0 4px 16px #4e303f10; }
.comparison-selection[hidden] { display: none; }
.selection-heading { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.selection-items { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-height: 96px; overflow: auto; }
.selection-items button { display: flex; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 6px; background: white; font-size: 12px; max-width: 100%; text-align: left; overflow-wrap: anywhere; }
.selection-items svg { flex-shrink: 0; }
#compare-selected[aria-disabled=true] { opacity: .55; cursor: default; }
.comparison-options { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; margin: 24px 0 16px; }
.comparison-options label { flex: 1 1 160px; max-width: 280px; }
.plan-comparison-table { margin: 20px 0; }
.plan-comparison-table table { min-width: 680px; }
.plan-comparison-table th, .plan-comparison-table td { vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.plan-comparison-table th:first-child { position: sticky; left: 0; background: #fff4e5; min-width: 145px; width: 145px; z-index: 1; }
.plan-comparison-table thead th:not(:first-child), .plan-comparison-table td { min-width: 240px; max-width: 300px; }
.plan-comparison-table thead a { display: block; font-size: 17px; line-height: 1.5; margin-top: 8px; color: var(--green); }
.plan-comparison-table small { display: block; color: var(--muted); font-size: 12px; margin-top: 6px; }
.plan-comparison-table .source-link { display: flex; margin: 8px 0; }
.plan-comparison-table ul { padding-left: 18px; }
.plan-comparison-table li { margin: 8px 0; }
.plan-comparison-table summary { cursor: pointer; color: var(--green); }
.comparison-trip-link { margin-top: 12px; }
@media (max-width: 1000px) { .directory-basic, .directory-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .catalog-filters.directory-filters { padding: 16px; }
  .directory-basic, .directory-advanced { grid-template-columns: 1fr; gap: 13px; }
  .directory-controls label { max-width: none; }
  .comparison-selection { grid-template-columns: 1fr; padding: 14px; gap: 10px; }
  .comparison-selection .button { justify-self: start; }
  .plan-comparison-table th:first-child { min-width: 116px; width: 116px; }
  .plan-comparison-table th, .plan-comparison-table td { padding: 12px; white-space: normal; }
}
.locale-control { min-width: 0; margin-left: auto; }
.site-header .language { display: none !important; }
.locale-control select { width: auto; max-width: 150px; margin: 0; padding: 8px; font-size: 13px; }
.locale-control .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) { .locale-control select { max-width: 126px; } }

/* Tangerine theme: bright surfaces and tactile choices. */
:root {
  --vivid: #ff681f; --accent: #c64008; --accent-dark: #923006; --green: var(--accent); --dark: var(--accent-dark);
  --ink: #302b26; --muted: #74695d; --line: #eee4d9; --soft: #fff2e3;
  --header-height: 80px; --sidebar-top: calc(var(--header-height) + 20px);
  --raised: inset 0 1px 0 #fff, 0 1px 0 #e3d3c3, 0 2px 4px #5b300c09;
  --pressed: inset 0 2px 4px #9b420f24, inset 0 -1px 0 #ffffffaa;
}

/* Local official brand artwork and country flags retain their own colors. */
.provider-logo { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 48px; flex-shrink: 0; padding: 5px; background: #fff; border: 1px solid #f2e9de; border-radius: 8px; vertical-align: middle; }
.provider-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.provider-logo-dark { background: #4f7100; border-color: #4f7100; }
.provider-identity { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; min-width: 0; }
.provider-identity h2 { margin-bottom: 0; }
.provider-identity h2 small { display: flex; align-items: center; gap: 7px; margin-top: 7px; font-size: 14px; color: var(--muted); }
.provider-directory-name small { display: flex; align-items: center; gap: 7px; }
.provider-label { display: inline-flex; align-items: center; gap: 10px; }
.provider-label .provider-logo { width: 62px; height: 38px; }
.provider-detail-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 15px; }
.quote-icon:has(.provider-logo) { width: 64px; height: 46px; background: white; }
.quote-icon .provider-logo { width: 64px; height: 44px; }
.country-flag { display: inline-block; object-fit: cover; border-radius: 2px; outline: 1px solid #0000000d; vertical-align: middle; flex-shrink: 0; }
.country-label { display: inline-flex; align-items: center; gap: 5px; margin-right: 9px; line-height: 1.9; }
.country-label .country-flag { width: 20px; height: 15px; }
.country-pills > span { display: inline-flex; align-items: center; gap: 7px; }
.destination-card h2 .country-flag,.page-intro h1 > .country-flag { margin-right: 10px; width: 30px; height: 22.5px; }
.country-select-field { display: block; position: relative; width: 100%; min-width: 0; }
.country-select-flag { position: absolute; top: 50%; left: 11px; transform: translateY(-50%); pointer-events: none; object-fit: cover; border-radius: 2px; }
.country-select-field.has-country-flag > select { padding-left: 44px; }
@media (max-width: 600px) {
  .provider-directory-item { flex-wrap: wrap; }
  .provider-directory-count { flex-basis: calc(100% - 100px); max-width: none; margin-left: 88px; }
  .provider-directory-item > svg { margin-left: auto; }
  .provider-logo { width: 68px; height: 44px; }
}
html { scroll-padding-top: calc(var(--header-height) + 24px); }
[hidden] { display: none !important; }
.site-header { position: sticky; top: 0; z-index: 40; min-height: 80px; gap: 30px; padding: 0 max(32px,calc((100vw - 1440px)/2)); }
.brand-logo { display: block; width: 40px; height: 40px; flex-shrink: 0; }
.brand { font-weight: 740; }
.site-header nav { gap: 24px; }
.site-header nav a { color: var(--ink); }
.page-shell { max-width: 1440px; padding: 28px 32px 48px; }
.page-intro { margin-bottom: 24px; }
.page-intro .overline { display: none; }
h1,h2,h3 { color: var(--ink); }
.button { border-radius: 6px; box-shadow: var(--raised); transition: background .15s, box-shadow .15s, transform .15s; }
.button.primary { background: var(--vivid); color: #402006; border-color: #ef5816; box-shadow: inset 0 1px 0 #ffffff26, 0 2px 0 #d6470c, 0 3px 5px #8e3c0c18; }
.button:not(:disabled):active { transform: translateY(1px); box-shadow: var(--pressed); }
.button.secondary:hover { background: #fff0dc; }
input,select { border-radius: 6px; box-shadow: inset 0 1px 2px #5b300c08; }
.workspace { grid-template-columns: 300px minmax(0,1fr); gap: 28px; }
.workspace > .planner,.long-workspace > .planner,.directory-workspace > .directory-filters {
  position: sticky; top: var(--sidebar-top); max-height: var(--available-sidebar-height,calc(100dvh - var(--sidebar-top) - 20px));
  overflow-y: auto; scrollbar-width: thin; scrollbar-color: #d2b798 transparent;
}
.planner { border-radius: 8px; }
.form-section { padding: 20px; }
.form-submit { position: sticky; bottom: 0; background: #fffdf9; border-top: 1px solid var(--line); z-index: 2; }
.usage-presets button,.selection-items button { box-shadow: var(--raised); }
.usage-presets button:active { box-shadow: var(--pressed); background: var(--soft); }
.route-strip { border-radius: 6px; }
.recommendation { padding: 18px 20px; border-radius: 8px; gap: 18px; }
.recommendation h2 { font-size: 21px; margin-top: 4px; }
.recommendation p { margin-top: 6px; }
.budget-card { padding: 18px 20px; border-radius: 8px; }
.budget-numbers { margin: 14px 0; }
.budget-numbers strong { font-size: 28px; }
.quote-list { gap: 0; border: 1px solid var(--line); border-radius: 8px; background: white; overflow: hidden; }
.quote-card,.quote-card.best { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; margin: 0; }
.quote-card:last-child { border-bottom: 0; }
.quote-card.best { background: #fff5e7; box-shadow: inset 3px 0 var(--accent); }
.plan-card { border-radius: 8px; transition: border-color .15s; }
.plan-card:hover { transform: none; }
.plan-grid { gap: 16px; }
.compare-plan-choice { border: 1px solid #dfcfbd; border-radius: 6px; padding: 11px 12px; background: #fffdf9; box-shadow: var(--raised); cursor: pointer; }
.compare-plan-choice:has(input:checked) { background: #ffe1bd; border-color: var(--accent); box-shadow: var(--pressed); color: var(--accent-dark); }
.compare-plan-choice:active { transform: translateY(1px); }
.compare-plan-choice input { accent-color: var(--accent); }
.comparison-selection { top: calc(var(--header-height) + 8px); border-radius: 8px; }
.purchase-panel { top: var(--sidebar-top); }
.directory-workspace { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: start; gap: 28px; }
.directory-workspace > * { min-width: 0; }
.directory-workspace .directory-filters { display: block; padding: 20px; margin: 0; border-radius: 8px; }
.directory-workspace .directory-basic,.directory-workspace .directory-advanced { display: grid; grid-template-columns: 1fr; gap: 15px; }
.directory-workspace .directory-controls { display: grid; grid-template-columns: 1fr; gap: 14px; }
.directory-workspace .directory-controls label { max-width: none; }
.directory-results > .section-heading { margin-top: 0; }
.directory-results .plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.provider-directory-search { max-width: 420px; margin: 8px 0 28px; }
.provider-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 32px; }
.provider-directory-item { display: flex; align-items: center; gap: 20px; padding: 24px 8px; border-bottom: 1px solid var(--line); }
.provider-directory-item:hover { background: var(--soft); }
.provider-directory-name { display: grid; gap: 5px; flex: 1; }
.provider-directory-name small,.provider-directory-count { color: var(--muted); font-size: 13px; line-height: 1.6; }
.provider-directory-name strong { font-size: 23px; font-weight: 650; }
.provider-directory-count { max-width: 155px; }
.provider-workspace { display: grid; grid-template-columns: 332px minmax(0,1fr); gap: 38px; align-items: start; }
.page-shell:has(.provider-workspace) { padding: 0 32px 48px; }
.provider-sidebar { position: sticky; top: var(--header-height); display: flex; flex-direction: column; height: calc(100dvh - var(--header-height)); max-height: 1060px; padding: 26px 24px 20px 0; border-right: 1px solid var(--line); background: #fff9f0; min-width: 0; }
.provider-sidebar::before { content: ''; position: absolute; top: 0; bottom: 0; right: 100%; width: max(32px,calc((100vw - 1376px)/2)); background: #fff9f0; }
.provider-sidebar .back-link { margin: 0 0 24px; font-size: 13px; color: var(--muted); }
.provider-sidebar .back-link svg { transform: rotate(180deg); }
.provider-sidebar h2 { font-size: 30px; line-height: 1.35; margin-bottom: 10px; }
.provider-sidebar h2 small { font-size: 17px; font-weight: 500; display: inline-block; }
.provider-sidebar > .text-button { align-self: start; margin-bottom: 20px; }
.provider-plan-search { margin-bottom: 20px; }
.provider-chooser { display: flex; flex-direction: column; min-height: 0; }
.provider-chooser > summary { display: none; }
.provider-chooser:not([open]) > :not(summary) { display: none !important; }
.provider-plan-search input { height: 44px; font-size: 14px; }
.provider-kind-controls { display: flex; gap: 22px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.provider-kind-controls button { display: flex; gap: 10px; align-items: center; padding: 10px 0 13px; background: transparent; font-size: 14px; border-bottom: 3px solid transparent; }
.provider-kind-controls button[aria-pressed=true] { color: var(--accent); font-weight: 650; border-color: var(--accent); }
.provider-kind-controls span { font-size: 12px; }
.provider-plan-list { overflow-y: auto; max-height: calc(100dvh - var(--header-height) - 360px); min-height: 90px; padding: 18px 6px 5px 1px; scrollbar-width: thin; scrollbar-color: #ccae8c transparent; }
.provider-plan-choice { display: flex; align-items: center; gap: 9px; min-height: 61px; margin-bottom: 10px; padding: 13px 12px; border: 1px solid #ecddcd; border-radius: 7px; background: #fffdf9; box-shadow: var(--raised); color: var(--ink); font-size: 15px; line-height: 1.45; transition: background .15s, box-shadow .15s; }
.provider-plan-choice > span:not(.provider-choice-check) { flex: 1; overflow-wrap: anywhere; }
.provider-plan-choice strong { font-size: 13px; font-weight: 550; white-space: nowrap; font-variant-numeric: tabular-nums; }
.provider-plan-choice:hover { background: #fff0db; border-color: #ee9b59; }
.provider-plan-choice:active,.provider-plan-choice[aria-current] { box-shadow: var(--pressed); background: #ffe1bd; border-color: var(--accent); }
.provider-plan-choice[aria-current] { color: var(--accent-dark); font-weight: 650; }
.provider-choice-check { display: none; }
.provider-plan-choice[aria-current] .provider-choice-check { display: inline-flex; color: var(--accent); }
.provider-sidebar-note { margin-top: auto; padding-top: 18px; flex-shrink: 0; font-size: 12px; }
.provider-detail { min-width: 0; padding-top: 32px; scroll-margin-top: calc(var(--header-height) + 16px); }
.provider-plan-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.provider-plan-heading h1 { font-size: clamp(28px,3vw,42px); line-height: 1.25; margin-bottom: 14px; overflow-wrap: anywhere; }
.provider-plan-heading .tag { display: inline-block; padding: 4px 8px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); background: transparent; }
.provider-plan-heading > .hint { align-self: start; padding-top: 12px; white-space: nowrap; }
.provider-price-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 22px 0 26px; }
.provider-price-row > div { min-width: 0; }
.provider-price { font-size: 42px; font-weight: 700; line-height: 1.5; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.provider-price small { font-size: 15px; font-weight: 400; color: var(--muted); letter-spacing: 0; }
.provider-price-row .muted { font-size: 14px; margin-top: 5px; }
.provider-price-row .button { flex-shrink: 0; min-width: 166px; }
.provider-section-nav { display: flex; gap: 30px; border-bottom: 1px solid var(--line); }
.provider-section-nav a { font-size: 15px; padding: 12px 0 16px; color: var(--muted); }
.provider-section-nav a[aria-current] { color: var(--accent); border-bottom: 3px solid var(--accent); font-weight: 650; }
.provider-content-section { padding-top: 28px; scroll-margin-top: calc(var(--header-height) + 16px); }
.provider-content-section h2 { font-size: 22px; margin-bottom: 12px; }
.provider-benefit-row { display: grid; grid-template-columns: 220px minmax(110px,1fr) minmax(0,1.4fr); gap: 22px; align-items: start; padding: 21px 0; border-bottom: 1px solid var(--line); }
.provider-benefit-row > div > strong { font-size: 15px; font-weight: 600; }
.provider-benefit-row .hint { font-size: 12px; margin-top: 5px; }
.provider-allowance { font-size: 25px; font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums; }
.provider-allowance small { font-size: 14px; font-weight: 400; color: var(--muted); }
.provider-countries { color: var(--muted); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.provider-countries summary { color: var(--accent); font-size: 13px; font-weight: 500; }
.provider-countries details + details { margin-top: 8px; }
.provider-countries details[open] > summary { margin-bottom: 8px; }
.provider-source-section { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 26px 0; border-bottom: 1px solid var(--line); scroll-margin-top: calc(var(--header-height) + 16px); }
.provider-source-section > strong { font-size: 15px; }
.provider-source-section > span { font-size: 13px; color: var(--muted); }
.provider-source-section > a { margin-left: auto; }
.provider-source-section > details { flex-basis: 100%; font-size: 13px; overflow-wrap: anywhere; }
.provider-source-section details .hint { display: block; }
.provider-source-section details p { margin-top: 12px; }
.provider-explanation,.provider-conditions { font-size: 14px; line-height: 1.85; color: var(--muted); }
.provider-conditions { padding-left: 20px; }
.provider-conditions li { padding: 5px 0; }
.provider-retail-facts { margin: 0; }
.provider-retail-facts > div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.provider-retail-facts dt { font-size: 14px; color: var(--muted); }
.provider-retail-facts dd { margin: 0; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.provider-empty { padding: 24px 12px; color: var(--muted); line-height: 1.7; }
@media (max-width: 1100px) {
  :root { --header-height: 120px; }
  .site-header { flex-wrap: wrap; padding: 12px 24px 0; gap: 12px; }
  .site-header nav { order: 3; flex-basis: 100%; margin: 0; min-height: 42px; justify-content: space-between; overflow-x: auto; }
  .site-header nav a { padding: 8px 0; }
  .provider-workspace { grid-template-columns: 290px minmax(0,1fr); gap: 24px; }
  .provider-sidebar { padding-right: 18px; }
  .provider-price-row { align-items: flex-start; flex-direction: column; }
  .provider-price { font-size: 29px; }
  .provider-plan-heading > .hint { white-space: normal; }
  .provider-benefit-row { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .provider-countries { grid-column: 1/-1; }
}
@media (max-width: 820px) {
  .workspace,.long-workspace,.directory-workspace { display: grid; grid-template-columns: 1fr; }
  .workspace > .planner,.long-workspace > .planner,.directory-workspace > .directory-filters { position: static; max-height: none; overflow: visible; }
  .form-submit { position: static; }
  .directory-workspace .directory-basic,.directory-workspace .directory-advanced { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .provider-workspace { grid-template-columns: 1fr; gap: 0; }
  .provider-sidebar { position: static; height: auto; max-height: none; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); background: transparent; }
  .provider-sidebar::before { display: none; }
  .provider-sidebar .back-link { margin-bottom: 16px; }
  .provider-sidebar h2 { font-size: 24px; }
  .provider-plan-list { max-height: 225px; }
  .provider-chooser > summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 12px; margin-bottom: 0; border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--raised); background: #fffdf9; font-size: 14px; }
  .provider-chooser > summary strong { color: var(--accent); font-size: 13px; }
  .provider-chooser[open] > summary { margin-bottom: 16px; box-shadow: var(--pressed); }
  .provider-sidebar-note { margin-top: 12px; padding-top: 0; }
  .provider-detail { padding-top: 28px; }
  .provider-price-row { flex-direction: row; align-items: center; }
  .provider-benefit-row { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 16px; }
  .provider-countries { grid-column: auto; }
}
@media (max-width: 600px) {
  .site-header { padding: 12px 16px 0; }
  .site-header nav { margin-top: 0; gap: 22px; }
  .page-shell,.page-shell:has(.provider-workspace) { padding-left: 16px; padding-right: 16px; }
  .directory-results .plan-grid,.provider-directory { grid-template-columns: 1fr; }
  .directory-workspace .directory-basic,.directory-workspace .directory-advanced { grid-template-columns: 1fr; }
  .provider-plan-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
  .provider-plan-heading > .hint { padding: 0; }
  .provider-price-row { flex-direction: column; align-items: flex-start; gap: 16px; }
  .provider-price-row .button { width: 100%; }
  .provider-plan-heading h1 { font-size: 30px; }
  .provider-price { font-size: 29px; }
  .provider-price small { font-size: 13px; }
  .provider-section-nav { gap: 24px; }
  .provider-section-nav a { font-size: 14px; }
  .provider-benefit-row { grid-template-columns: 1fr auto; }
  .provider-countries { grid-column: 1/-1; }
  .provider-retail-facts > div { grid-template-columns: 90px minmax(0,1fr); }
  .provider-directory-item { gap: 12px; }
  .provider-directory-count { max-width: 130px; }
}

.provider-identity h2 small { display: flex; align-items: center; gap: 7px; }


/* Shared polished card surfaces: visible lift, warm edges and a white highlight. */
:root {
  --card-face: linear-gradient(145deg, #fff 0%, #fff 58%, #fff8ed 100%);
  --card-edge: #eed8bf;
  --card-shadow: inset 0 2px 0 #fff, inset 0 -1px 0 #fff7eb,
    0 2px 0 #ead5bd, 0 8px 22px #99501316, 0 2px 5px #9950130c;
  --card-lift: inset 0 2px 0 #fff, 0 3px 0 #f0c99c, 0 12px 28px #a64d1724;
  --raised: inset 0 2px 0 #fff, inset 0 -1px 0 #ffedda,
    0 2px 0 #e5cdb2, 0 4px 9px #99501315;
  --pressed: inset 0 2px 5px #a952162c, inset 0 -1px 0 #ffffffb3;
}
body { background: linear-gradient(180deg, #fffaf3 0, #fff7ed 560px, #fffaf5 100%); }
.site-header { box-shadow: 0 2px 12px #80400c09; }
.plan-card,.home-plan-card,.destination-card,.saved-card,.route-card,
.budget-card,.settings-card,.feedback-form,.purchase-panel,.recurring-card,
.planner,.catalog-filters,.route-strip,.empty-state,.admin-stat,.admin-item,
.provider-directory-item,.quote-card,.quote-card.best,.recommendation {
  background: var(--card-face);
  border: 1px solid var(--card-edge);
  border-top-color: #fff;
  border-radius: 14px;
  box-shadow: var(--card-shadow);
}
.plan-card,.home-plan-card,.destination-card,.saved-card,.route-card,.provider-directory-item {
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}
.plan-grid,.home-plan-grid { gap: 22px; }
.provider-directory { gap: 20px; }
.provider-directory-item { padding: 24px 20px; }
.quote-list { gap: 16px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.quote-card:last-child { border-bottom: 1px solid var(--card-edge); }
.recommendation,.quote-card.best {
  background: linear-gradient(135deg, #fffefb, #fff0d5);
  border-color: #ffc27c;
  box-shadow: inset 0 2px 0 #fff, inset 4px 0 0 var(--vivid), 0 2px 0 #efc89b, 0 8px 22px #99501319;
}
.plan-card:has(.compare-plan-choice input:checked) {
  border-color: var(--vivid);
  background: linear-gradient(140deg, #fff, #fff0d9);
  box-shadow: inset 0 2px 0 #fff, 0 0 0 1px #ff8a43, 0 3px 0 #efbf88, 0 10px 24px #ee6a2026;
}
.compare-plan-choice,.provider-plan-choice,.provider-chooser > summary {
  background: linear-gradient(180deg, #fff 0%, #fffdf9 65%, #fff0df 100%);
  border-color: #e8cdb0;
  box-shadow: var(--raised);
}
.compare-plan-choice:has(input:checked),.provider-plan-choice[aria-current] {
  background: linear-gradient(180deg, #ffd6a5, #ffe9c9 55%, #fff1db);
  border-color: var(--vivid);
  box-shadow: var(--pressed), 0 0 0 1px #ffb16a66;
}
.provider-plan-choice:active { box-shadow: var(--pressed); }
.button.primary {
  background: linear-gradient(180deg, #ff934a 0%, #ff762b 48%, #ff681f 49%, #ff7626 100%);
  border-color: #ed5c19;
  box-shadow: inset 0 1px 0 #ffd3a5, 0 3px 0 #d95010, 0 5px 12px #ed671f2b;
}
.button.primary:hover { background: linear-gradient(180deg, #ffa25b, #ff7a30 50%, #ff812f); }
.button.primary:active { box-shadow: var(--pressed); }
.provider-label { color: var(--ink); }
.budget-bar span { background: var(--vivid); }
@media (hover: hover) and (pointer: fine) {
  .plan-card:hover,.home-plan-card:hover,.destination-card:hover,.provider-directory-item:hover {
    border-color: #ffa956;
    box-shadow: var(--card-lift);
    transform: translateY(-2px);
  }
  .plan-card:has(.compare-plan-choice input:checked):hover {
    box-shadow: inset 0 2px 0 #fff, 0 0 0 1px var(--vivid), 0 3px 0 #efbf88, 0 12px 28px #ee6a202b;
  }
}
@media (prefers-reduced-motion: reduce) {
  .plan-card:hover,.home-plan-card:hover,.destination-card:hover,.provider-directory-item:hover { transform: none; }
}

/* Source explanations are part of the public, crawlable document. */
#methodology { margin-top: 36px; scroll-margin-top: calc(var(--header-height) + 24px); }
#methodology h3 { margin: 24px 0 8px; }
.site-footer > div { flex-wrap: wrap; }
