/*
Theme Name: ruyidog
Description: 如意狗旅行品牌主题，配合产品内容与咨询后台使用。
 Version: 1.3.1
Text Domain: ruyidog
*/
@import url('assets/fonts.css');
:root{--paper:#faf8f5;--ink:#18354a;--blue:#0864af;--orange:#f7741f;--line:#dce2e4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Outfit,'Noto Sans SC',sans-serif;line-height:1.7}a{color:var(--blue);text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:10}header,footer{padding:24px max(22px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line)}header{display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{width:180px;height:52px;object-fit:contain}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;color:var(--ink)}main{min-height:65vh;max-width:1200px;margin:auto;padding:65px 24px}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,6vw,84px);font-weight:600}h2{font-size:clamp(30px,4vw,48px)}p{max-width:760px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}.hero h1{margin:18px 0 26px}.hero p{font-size:19px;max-width:550px}.hero-art{width:100%;aspect-ratio: .92;object-fit:cover;border-radius:48% 48% 12px 12px;background:#f0e9df}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px!important;font-weight:600}.actions{display:flex;gap:15px;flex-wrap:wrap;margin:30px 0}.button,.wp-block-button__link{display:inline-block;padding:12px 23px;border:1px solid var(--blue);border-radius:5px;text-decoration:none;background:var(--blue);color:white;font-size:16px}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:38px 0;margin:50px 0;border-block:1px solid var(--line)}.facts strong{display:block;font-size:23px}.section{padding:35px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.steps h3{font-size:23px}.muted{color:#60727c}.notice{border-left:3px solid var(--orange);padding:14px 20px;background:#fff0e5;font-size:14px}.final{margin-top:45px;padding:50px;background:#e9eff0;border-radius:8px}.page-content{max-width:850px}.page-content h1{font-size:48px}.page-content h2{font-size:28px;margin-top:38px}footer{border-top:1px solid var(--line);border-bottom:0;margin-top:40px}footer nav{margin:20px 0}img{max-width:100%}.wp-block-image img{height:auto}details.languages summary{cursor:pointer}details.languages{position:relative}details.languages div{position:absolute;right:0;padding:15px;background:var(--paper);border:1px solid var(--line);min-width:150px;z-index:2}details.languages a{display:block}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:25px;background:white;border:1px solid var(--line);border-radius:7px}.card h2{font-size:25px}.caption{font-size:12px;color:#60727c} @media(max-width:768px){header{align-items:flex-start;flex-wrap:wrap}.logo{width:140px}nav{gap:15px;font-size:14px}main{padding:35px 20px}.hero{grid-template-columns:1fr;gap:20px}.hero-art{max-height:460px}.facts,.steps,.cards{grid-template-columns:1fr}.facts{gap:20px}.final{padding:25px}.page-content h1{font-size:38px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Phase 1: accessible responsive catalogue, matching and inquiry UI. */
.intro{font-size:20px}.managed-page>h1{max-width:950px}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:24px;background:#eef1ef;border-radius:8px}.filters label{flex:1;min-width:150px}label{display:block;font-size:15px;font-weight:500}input,select,textarea{display:block;width:100%;font:inherit;color:var(--ink);border:1px solid #9cabb4;border-radius:5px;background:white;padding:12px;margin-top:7px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.button[aria-pressed=true]{background:var(--ink);color:white}.card{overflow:hidden}.card>img{width:calc(100% + 50px);max-width:none;height:190px;object-fit:cover;margin:-25px -25px 20px}.card h2{line-height:1.3}.card .notice{font-size:12px}.compare-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;background:white;min-width:700px}th,td{padding:18px;border:1px solid var(--line);text-align:left;vertical-align:top}th{font-weight:500}caption{text-align:left;font-size:25px;padding:15px 0}.empty{background:#f0eee8;border:1px solid var(--line);padding:35px;border-radius:8px}.empty h2{font-size:30px}.inquiry{margin:45px 0;max-width:780px;padding:35px;background:white;border:1px solid var(--line);border-radius:8px}.inquiry>label{margin:20px 0}.consent{display:flex;gap:12px;align-items:flex-start}.consent input{width:18px;flex:0 0 18px;margin-top:5px}.form-status:not(:empty){padding:15px;border-left:3px solid var(--orange);background:#fff4e9}.matcher{max-width:850px;margin:0 auto}.matcher h1{font-size:clamp(34px,5vw,58px)}progress{width:100%;height:8px;accent-color:var(--orange)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:35px 0}.choice{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:20px;padding:23px;border:1px solid #abb9bd;border-radius:6px;background:white;font-size:20px;color:var(--ink)}.choice[aria-pressed=true]{background:#e5eef3;border:2px solid var(--blue);padding:22px}.choice span{font-size:24px}.itinerary{background:white;border:1px solid var(--line);padding:20px;margin:15px 0}.itinerary summary{cursor:pointer;font-size:21px}.price{font-size:30px}.product-content h2{font-size:32px}.site-header nav{font-size:15px}.result-count{font-weight:500}.final h2{margin-top:0}@media(max-width:600px){.choices{grid-template-columns:1fr}.filters{padding:18px}.filters label{min-width:100%}.inquiry{padding:20px}.card>img{height:210px}.site-header{gap:15px}.site-header nav{gap:14px}.languages{margin-left:0}.matcher .actions{justify-content:space-between}.empty{padding:22px}}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px;background:#eef1ef;border-radius:8px}.profile-grid dt{font-size:13px;color:#60727c}.profile-grid dd{margin:5px 0;font-size:20px}.image-missing{aspect-ratio:.92;display:grid;place-items:center;text-align:center;padding:25px;background:#e9eff0;border:1px dashed #a7b7bd;border-radius:48% 48% 12px 12px;color:#60727c}@media(max-width:600px){.profile-grid{grid-template-columns:1fr 1fr}.profile-grid dd{font-size:17px}}
/* Header logo: use existing vector master; cover trims only its export padding. */
.site-header{padding-top:16px;padding-bottom:16px}
.site-header>a{flex:0 0 auto;display:block}
.site-header .logo{display:block;width:220px;height:88px;object-fit:cover;object-position:center}
@media(max-width:768px){.site-header .logo{width:180px;height:72px}}
.gallery-grid,.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery-grid figure{margin:0;min-width:0}.gallery-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.package-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow-wrap:anywhere}.package-card h3{margin-top:0}.package-card dl{margin:0}.package-card dl>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.package-card dd{margin:0}.package-card dd span{font-size:14px;color:#526775}@media(max-width:600px){.gallery-grid,.package-grid{grid-template-columns:minmax(0,1fr)}}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.quote-fields label{display:grid;gap:.4rem;min-width:0}.quote-fields input,.quote-fields select{box-sizing:border-box;width:100%;max-width:100%;padding:.75rem;border:1px solid var(--line,#deded8);border-radius:6px;background:#fff;color:inherit;font:inherit}.quote-fields :focus-visible{outline:3px solid #f7741f;outline-offset:2px}.quote-result{margin-top:1rem}@media(max-width:480px){.quote-fields{grid-template-columns:1fr}}
