/* LocalTourChina Travel Light v1 — shared source of design tokens and controls. */
:root{--ltc-paper:#f7f7f5;--ltc-surface:#fff;--ltc-ink:#242927;--ltc-muted:#59615d;--ltc-line:#d4d9d3;--ltc-accent:#3f5c36;--ltc-orange:#ff8a00;--ltc-focus:#2168b1;--ltc-success:#3f6a42;--ltc-warning:#84621b;--ltc-danger:#a34538;--ltc-radius:12px;--ltc-control:46px;--ltc-space:8px;--ltc-body:16px;--ltc-small:14px;--ltc-caption:12px}
body{background:var(--ltc-paper);color:var(--ltc-ink)}
:where(button,input,select,textarea){font:inherit} :where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ltc-focus)!important;outline-offset:3px}
:where(button,.button,.btn,.shop-product-action,.journey-next){min-height:var(--ltc-control);line-height:1.4;touch-action:manipulation}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-height:var(--ltc-control);font-size:16px!important;line-height:1.5;color:var(--ltc-ink);border-radius:var(--ltc-radius);max-width:100%;box-sizing:border-box}
:where(textarea){min-height:112px;resize:vertical} :where(input[type=checkbox],input[type=radio]){width:22px;height:22px;accent-color:var(--ltc-accent);flex:none}
:where(button,a){-webkit-tap-highlight-color:#3f5c3622} :where(button):disabled{cursor:not-allowed;opacity:.45} :where(p,li){line-height:1.75;overflow-wrap:break-word}
:where(h1,h2,h3){line-height:1.25;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}:where(h1){font-size:clamp(32px,4.4vw,64px)} :where(h2){font-size:clamp(26px,3vw,40px)} :where(h3){font-size:clamp(20px,2vw,26px)}
.rounded-landing,.rounded-page,.consult-page,.success-page{color:var(--ltc-ink)}.rounded-intro h1{font-weight:500;font-size:clamp(34px,4.5vw,64px)}.rounded-intro h1 span{color:var(--ltc-muted)}
.rounded-landing :is(.rounded-section,.rounded-scenes)>header h2{font-weight:500}.rounded-landing .rounded-price-note,.rounded-landing .rounded-review time,.rounded-landing .rounded-scenes>p{font-size:13px!important;color:var(--ltc-muted)!important}.rounded-landing .rounded-shelf-controls button,.rounded-scenes header button,.rounded-close{width:46px;height:46px;min-width:46px;min-height:46px}.rounded-landing .rounded-card-actions button,.rounded-landing .rounded-card-actions a{min-height:46px;font-size:14px}.rounded-search{border:1px solid var(--ltc-line);border-radius:12px;padding:4px 16px}.rounded-search input{min-height:46px}.rounded-landing .rounded-advice img{width:76px;height:76px}.rounded-advice{font-size:14px}.rounded-advice strong{font-size:14px}.service-mascot{width:64px!important;height:64px!important;object-fit:contain!important;float:right;margin:0 0 8px 10px}.mascot-accent{width:96px;height:96px;object-fit:contain;flex:none}.mascot-aside{width:130px;height:130px;object-fit:contain;display:block;margin:0 auto 18px}.mascot-small{width:60px;height:60px;object-fit:contain}
.rounded-page :is(button,.btn,.shop-product-action,.journey-next,.rounded-page-contact,.rounded-page-menu){min-height:46px}.rounded-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px!important;min-height:46px!important}.rounded-page :is(.muted,.note,.hint,.calc-note,.shop-price-basis,.journey-progress,.journey-task-state){font-size:14px!important;line-height:1.7}.rounded-page summary{min-height:44px;line-height:1.6}.rounded-page .brand-service-rail a{min-height:44px}.rounded-page .mascot-page-tip{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#edf0e9;border:1px solid var(--ltc-line);border-radius:12px;margin:20px 0;color:var(--ltc-ink)}.mascot-page-tip p{margin:0;font-size:15px}.mascot-page-tip a{display:inline-flex;align-items:center;min-height:44px;color:var(--ltc-accent);text-underline-offset:4px}
progress{height:12px;border:0;border-radius:999px;overflow:hidden;accent-color:var(--ltc-accent);background:#e4e8e0}progress::-webkit-progress-bar{background:#e4e8e0;border-radius:999px}progress::-webkit-progress-value{background:var(--ltc-accent);border-radius:999px}progress::-moz-progress-bar{background:var(--ltc-accent);border-radius:999px}.prep-progress,.status-step,.journey-progress{font-variant-numeric:tabular-nums}.wizard-progress span.active,.status-step.active{background:var(--ltc-accent)!important;color:#fff!important}.wizard-progress span{background:#d9ded4!important}.summary,.shop-summary,.selection-ledger{font-variant-numeric:tabular-nums}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:14px}.chart-value{font-variant-numeric:tabular-nums;color:var(--ltc-ink)}
@media(max-width:800px){.rounded-intro{padding-top:30px}.rounded-landing .rounded-advice img{width:64px;height:64px}.rounded-intro h1{font-size:34px}.rounded-landing .rounded-card-actions{flex-wrap:wrap}.rounded-landing .rounded-section h2,.rounded-scenes h2{font-size:26px}.rounded-page .mascot-page-tip{padding:14px;gap:10px}.mascot-page-tip .mascot-accent{width:72px;height:72px}.service-mascot{width:56px!important;height:56px!important}.site-header .header-inner{gap:12px}.rounded-page .wizard-actions{flex-wrap:wrap}.rounded-page .wizard-actions .btn{min-width:120px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media print{.mascot-page-tip,.mascot-aside,.service-mascot{display:none!important}}

.policy-ticker button{min-height:44px;padding:8px 10px}.rounded-landing .travel-light-actions .button.primary{background:#fff!important;color:#263527!important;border-color:white!important}.rounded-landing .travel-light-actions .button.outline{border-radius:8px!important}.rounded-landing .travel-light-actions .button.primary:hover{background:#e8eee3!important}.rounded-landing .travel-light-actions .button.outline:hover{background:#ffffff24!important}.rounded-landing .rounded-advice img{object-fit:contain}
@media(max-width:800px){.rounded-mobilebar{position:static;inset:auto;margin-top:24px;border-radius:12px;box-shadow:none;border:1px solid var(--ltc-line)}.rounded-landing{padding-bottom:40px}.site-footer{padding-bottom:40px}.rounded-mobilebar a{min-height:44px;border-radius:8px}.rounded-mobilebar a:last-child{background:var(--ltc-accent);color:#fff}.rounded-scenes>img{height:300px}}

.rounded-section>header h2,.rounded-scenes>header h2{min-width:0;flex:1;overflow-wrap:anywhere}.rounded-shelf-controls,.rounded-scenes header>div{flex-shrink:0}.rounded-section>header,.rounded-scenes>header{min-width:0}.rounded-landing .rounded-section>header h2{font-size:clamp(26px,3vw,40px)}

.rounded-page textarea,.consult-page textarea,.success-page textarea{min-height:112px!important}

.rounded-landing .rounded-advice img{width:96px;height:144px}.service-mascot{width:72px!important;height:108px!important}.mascot-accent{width:96px;height:144px}.rounded-page .mascot-page-tip .mascot-accent{width:96px;height:144px}@media(max-width:800px){.rounded-landing .rounded-advice img{width:80px;height:120px}.service-mascot{width:64px!important;height:96px!important}.rounded-page .mascot-page-tip .mascot-accent{width:72px;height:108px}}

/* Interactive affordances v1: shape, underline, open and selected states. */
button,a[href],summary,select,input[type=checkbox],input[type=radio],input[type=range]{cursor:pointer}
body button:not(:disabled){border:1px solid #a5afa2;border-radius:8px;transition:background-color .15s,border-color .15s,box-shadow .15s}
a[href]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:is(.button,.btn,.button-link,.wordmark,.brand,.intent-card,.service-choice,.shop-product-action){text-decoration:none;border-radius:8px}
a:is(.button,.btn,.button-link){border:1px solid #a5afa2;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
body summary{list-style:none;display:flex;align-items:center;gap:12px;border:1px solid #c7cec3;border-radius:8px;padding:12px 16px;min-height:44px;box-sizing:border-box;background:#f1f3ee;cursor:pointer}
summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:22px;line-height:1;flex:none;margin-left:auto;color:inherit}details[open]>summary:after{content:'−'}
button[aria-pressed=true],button[aria-selected=true],button.active{box-shadow:inset 0 0 0 2px currentColor}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){cursor:pointer;min-height:44px}
button:disabled{cursor:not-allowed}input:disabled,select:disabled{cursor:not-allowed;background:#eceee8}
@media(hover:hover){button:not(:disabled):hover,a:is(.button,.btn,.button-link):hover,summary:hover{box-shadow:0 0 0 2px #3f5c3633;border-color:#3f5c36}a[href]:hover{text-decoration-thickness:2px}}
button:not(:disabled):active,a:is(.button,.btn,.button-link):active{box-shadow:inset 0 0 0 2px #3f5c3677}
@media(prefers-reduced-motion:reduce){button{transition:none}}
