/* Phase 3 customer pages G9–G13 (tourism routes + check-in). Mockups are 941 px wide → --g = 1 mockup pixel (set in golf.css).
   G9 uses inpainted art (hero_g9.jpg); G10–G13 headers use the route's own photo under the G9 logo band (cap_tour.jpg). */
.p-tour .menu summary{left:calc(832*var(--g));top:calc(14*var(--g));width:calc(84*var(--g));height:calc(70*var(--g))}
.tp{padding-top:calc(6*var(--g))}

/* ---------- G9 hero */
.g9h{background-image:url(../img/hero_g9.jpg);aspect-ratio:941/340}
.g9back{position:absolute;left:calc(40*var(--g));top:calc(170*var(--g));width:calc(70*var(--g));height:calc(80*var(--g))}
.g9title{position:absolute;left:calc(130*var(--g));top:calc(148*var(--g));margin:0;color:#fff;font-weight:800;font-style:italic;font-size:calc(66*var(--g));line-height:1.2;white-space:nowrap;text-shadow:0 calc(3*var(--g)) calc(10*var(--g)) rgba(0,40,10,.35)}
.g9sub{position:absolute;left:calc(132*var(--g));top:calc(232*var(--g));margin:0;color:#fff;font-style:italic;font-size:calc(31*var(--g));white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.4);max-width:calc(560*var(--g));overflow:hidden;text-overflow:ellipsis}

/* ---------- G10–G13 header: route photo + logo band + live title */
.rh{position:relative;aspect-ratio:941/300;background:#0b5424;overflow:hidden;color:#fff}
.rh-big{aspect-ratio:941/600}
.rh-photo{position:absolute;left:0;top:calc(80*var(--g));width:100%;height:calc(100% - 80*var(--g));object-fit:cover}
.rh:before{content:"";position:absolute;inset:calc(80*var(--g)) 0 0;background:linear-gradient(90deg,rgba(6,70,30,.92) 0%,rgba(6,70,30,.7) 38%,rgba(6,70,30,.1) 72%,rgba(6,70,30,0) 100%)}
.rh-big:before{background:linear-gradient(90deg,rgba(6,70,30,.95) 0%,rgba(6,70,30,.78) 42%,rgba(6,70,30,.15) 75%,rgba(6,70,30,0) 100%),linear-gradient(0deg,rgba(6,70,30,.55),rgba(6,70,30,0) 45%)}
.rh-cap{position:absolute;left:0;top:0;width:100%;aspect-ratio:941/98;background:url(../img/cap_tour.jpg) top center/100% auto no-repeat;border-bottom-right-radius:0 0}
.rh-cap:after{content:"";position:absolute;left:0;right:0;top:100%;height:calc(24*var(--g));background:linear-gradient(90deg,#9be22d,#e4f53a 45%,rgba(228,245,58,.5) 75%,rgba(228,245,58,0));clip-path:polygon(0 0,100% 0,100% 15%,0 100%)}
.rh:after{content:"";position:absolute;left:-5%;right:-5%;bottom:calc(-34*var(--g));height:calc(70*var(--g));background:#fbfcfd;border-radius:50% 50% 0 0/100% 100% 0 0}
.rh-back{position:absolute;z-index:2;left:calc(34*var(--g));top:calc(150*var(--g));width:calc(60*var(--g));height:calc(70*var(--g));display:grid;place-items:center;color:#fff}
.rh-back svg{width:calc(44*var(--g));height:calc(44*var(--g))}
.rh-title{position:absolute;z-index:2;left:calc(104*var(--g));top:calc(134*var(--g));right:calc(220*var(--g));margin:0;font-weight:800;font-style:italic;font-size:calc(48*var(--g));line-height:1.18;text-shadow:0 calc(3*var(--g)) calc(10*var(--g)) rgba(0,40,10,.45);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rh-big .rh-title{top:calc(156*var(--g));font-size:calc(58*var(--g));right:calc(160*var(--g))}
.rh-line{position:absolute;z-index:2;left:calc(150*var(--g));top:calc(250*var(--g));width:calc(250*var(--g));height:calc(14*var(--g));border-top:calc(6*var(--g)) solid var(--lime);border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-2deg)}
.rh-big .rh-line{top:calc(318*var(--g))}
.rh-tag{position:absolute;z-index:2;left:calc(52*var(--g));top:calc(352*var(--g));width:calc(370*var(--g));margin:0;display:flex;gap:calc(14*var(--g));font-size:calc(29*var(--g));line-height:1.42;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.rh-tag svg{flex:none;width:calc(54*var(--g));height:calc(60*var(--g));color:var(--lime);margin-top:calc(2*var(--g))}
.rh-tag span{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rh-th{position:absolute;z-index:2;left:calc(432*var(--g));top:calc(440*var(--g));display:flex}
.rh-th img,.rc-th img{width:calc(200*var(--g));height:calc(150*var(--g));object-fit:cover;border:calc(8*var(--g)) solid #fff;border-radius:calc(14*var(--g));box-shadow:0 calc(6*var(--g)) calc(16*var(--g)) rgba(0,0,0,.25);transform:rotate(-6deg)}
.rh-th img+img,.rc-th img+img{transform:rotate(5deg);margin-left:calc(-8*var(--g));margin-top:calc(-14*var(--g))}

/* ---------- headings */
.t-h{display:flex;align-items:center;gap:calc(26*var(--g));margin:calc(14*var(--g)) calc(20*var(--g)) calc(30*var(--g));font-size:calc(50*var(--g));font-weight:800;font-style:italic;color:#13301b}
.t-h svg{width:calc(60*var(--g));height:calc(80*var(--g));color:#3caa3c}
.t-h2{display:flex;align-items:center;gap:calc(18*var(--g));margin:calc(4*var(--g)) calc(10*var(--g)) calc(28*var(--g))}
.t-h2>svg{flex:none;width:calc(96*var(--g));height:calc(96*var(--g));color:#3caa3c}
.t-h2 b{display:block;font-size:calc(46*var(--g));font-weight:800;color:#13301b;line-height:1.2}
.t-h2 small{display:block;font-size:calc(27*var(--g));color:#4c5650;font-weight:400}
.t-ic{flex:none;display:grid;place-items:center;width:calc(96*var(--g));height:calc(96*var(--g));border-radius:calc(26*var(--g));background:#dcf5c4;color:#13301b}
.t-ic svg{width:calc(58*var(--g));height:calc(58*var(--g))}
.t-ic.sm{width:calc(80*var(--g));height:calc(80*var(--g));border-radius:calc(22*var(--g))}
.t-ic.sm svg{width:calc(46*var(--g));height:calc(46*var(--g))}
.t-sec{display:flex;gap:calc(22*var(--g));align-items:flex-start;margin:calc(4*var(--g)) calc(18*var(--g)) calc(28*var(--g))}
.t-sec b{display:block;font-size:calc(42*var(--g));font-weight:800;color:#13301b;line-height:1.2}
.t-sec small{display:block;font-size:calc(26*var(--g));color:#4c5650;margin-top:calc(4*var(--g))}
.t-sec .rc-line{position:static;margin-top:calc(10*var(--g))}

/* ---------- G9 route card */
.rcard{display:block;position:relative;height:calc(370*var(--g));border-radius:calc(40*var(--g));overflow:hidden;margin-bottom:calc(36*var(--g));cursor:pointer;background:linear-gradient(90deg,#fff 0%,#f0f9e8 60%,#e6f6d6 100%);border:calc(3*var(--g)) solid #e6efe8;box-shadow:0 calc(6*var(--g)) calc(20*var(--g)) rgba(20,60,30,.12)}
.rcard input{position:absolute;opacity:0;pointer-events:none}
.rcard:has(input:checked){border-color:#7ccf4f}
.rcard:has(input:focus-visible){box-shadow:0 0 0 3px rgba(58,166,74,.35)}
.rc-bg{position:absolute;left:0;top:0;width:62%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
i.rc-bg{display:block;border-radius:0}
.rc-tx{position:absolute;left:44%;right:calc(110*var(--g));top:calc(46*var(--g))}
.rc-tx b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:calc(44*var(--g));line-height:1.22;font-weight:800;font-style:italic;color:#0f3d1e}
.rc-line{display:block;width:calc(190*var(--g));height:calc(12*var(--g));border-top:calc(6*var(--g)) solid #c7ea2c;border-radius:50% 50% 0 0/100% 100% 0 0;margin-top:calc(10*var(--g))}
.rc-th{position:absolute;right:calc(70*var(--g));bottom:calc(26*var(--g));display:flex}
.rc-th img{width:calc(170*var(--g));height:calc(132*var(--g))}
.rc-radio{position:absolute;right:calc(40*var(--g));top:calc(64*var(--g));width:calc(54*var(--g));height:calc(54*var(--g));border-radius:50%;border:calc(4*var(--g)) solid #1b3d26;background:#fff;display:grid;place-items:center;color:transparent}
.rc-radio svg{width:calc(32*var(--g));height:calc(32*var(--g))}
.rcard:has(input:checked) .rc-radio{background:#1f9a3a;border-color:#1f9a3a;color:#fff}
.tp .btn-g.big{margin-top:calc(40*var(--g));height:calc(118*var(--g));font-size:calc(46*var(--g))}
.tp .btn-g.big>svg:first-child{width:calc(60*var(--g));height:calc(60*var(--g))}

/* ---------- G10 sub-route card */
.scard{position:relative;display:flex;align-items:center;gap:calc(20*var(--g));min-height:calc(280*var(--g));background:#fff;border:calc(3*var(--g)) solid #c9ecb4;border-radius:calc(40*var(--g));padding:calc(8*var(--g));margin-bottom:calc(28*var(--g));text-decoration:none;color:inherit;box-shadow:0 calc(6*var(--g)) calc(18*var(--g)) rgba(20,60,30,.08)}
.sc-img{position:relative;flex:none;width:calc(362*var(--g));height:calc(262*var(--g));border-radius:calc(32*var(--g));overflow:hidden}
.sc-img img,.sc-img .cc-noimg{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.sc-img em{position:absolute;left:0;top:0;padding:calc(10*var(--g)) calc(30*var(--g)) calc(10*var(--g)) calc(26*var(--g));background:#0f5a2a;color:#fff;font-style:normal;font-weight:700;font-size:calc(31*var(--g));border-radius:0 0 calc(30*var(--g)) 0}
.sc-tx{flex:1;min-width:0;padding-right:calc(70*var(--g))}
.sc-tx b{display:flex;gap:calc(16*var(--g));align-items:center;font-size:calc(34*var(--g));line-height:1.22;color:#13301b;font-weight:800}
.sc-tx b span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sc-tx small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:calc(14*var(--g));font-size:calc(27*var(--g));line-height:1.4;color:#4c5650}
.sc-go{position:absolute;right:calc(18*var(--g));top:50%;transform:translateY(-50%);width:calc(58*var(--g));height:calc(58*var(--g));border-radius:50%;background:linear-gradient(160deg,#5cc433,#13862c);color:#fff;display:grid;place-items:center;box-shadow:0 calc(3*var(--g)) calc(8*var(--g)) rgba(20,100,30,.3)}
.sc-go svg{width:calc(30*var(--g));height:calc(30*var(--g))}

/* ---------- G11 point card */
.pcard{position:relative;display:flex;align-items:center;gap:calc(22*var(--g));background:linear-gradient(90deg,#fff 50%,#f3fbec);border:calc(2*var(--g)) solid #e1efd9;border-radius:calc(34*var(--g));padding:calc(8*var(--g));margin-bottom:calc(24*var(--g));text-decoration:none;color:inherit;box-shadow:0 calc(5*var(--g)) calc(16*var(--g)) rgba(20,60,30,.1)}
.pcard>img,.pcard>.cc-noimg{flex:none;width:calc(370*var(--g));height:calc(196*var(--g));object-fit:cover;border-radius:calc(28*var(--g))}
.pc-tx{flex:1;min-width:0;padding-right:calc(76*var(--g))}
.pc-tx b{display:flex;gap:calc(8*var(--g));align-items:flex-start;font-size:calc(34*var(--g));line-height:1.22;font-weight:800;color:#13301b}
.pc-tx b svg{flex:none;width:calc(34*var(--g));height:calc(40*var(--g));color:#3caa3c;margin-top:calc(2*var(--g))}
.pc-tx b span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-tx small{display:block;font-size:calc(26*var(--g));color:#4c5650;margin:calc(6*var(--g)) 0 calc(14*var(--g)) calc(42*var(--g));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-more,.pc-done{display:inline-flex;align-items:center;gap:calc(10*var(--g));margin-left:calc(36*var(--g));padding:calc(8*var(--g)) calc(30*var(--g));border:calc(3*var(--g)) solid #7fd34a;border-radius:calc(30*var(--g));font-style:normal;font-weight:700;font-size:calc(26*var(--g));color:#13301b;background:#fff}
.pc-more svg,.pc-done svg{width:calc(24*var(--g));height:calc(24*var(--g))}
.pc-done{background:#1f9a3a;border-color:#1f9a3a;color:#fff}

/* ---------- G12 point detail */
.pt-main{display:block;width:100%;aspect-ratio:896/380;object-fit:cover;border-radius:calc(40*var(--g));box-shadow:0 calc(6*var(--g)) calc(18*var(--g)) rgba(20,60,30,.15)}
.pt-top{display:flex;gap:calc(20*var(--g));margin-top:calc(26*var(--g))}
.pt-l{flex:1;min-width:0}
.pt-head{display:flex;gap:calc(18*var(--g));align-items:center}
.pt-head .t-ic{border-radius:50%;width:calc(100*var(--g));height:calc(100*var(--g))}
.pt-head h2{margin:0;font-size:calc(46*var(--g));font-weight:800;color:#13301b;line-height:1.2;overflow-wrap:anywhere}
.pt-addr{display:flex;gap:calc(6*var(--g));align-items:flex-start;margin:calc(4*var(--g)) 0 0;font-size:calc(26*var(--g));color:#2c3530}
.pt-addr svg{flex:none;width:calc(30*var(--g));height:calc(36*var(--g));color:#3caa3c}
.pt-desc{margin:calc(16*var(--g)) 0 0;font-size:calc(26*var(--g));line-height:1.45;color:#2c3530}
.pt-acts{flex:none;width:calc(240*var(--g));display:flex;flex-direction:column;gap:calc(22*var(--g));padding-top:calc(20*var(--g))}
.pt-btn{display:flex;align-items:center;justify-content:center;gap:calc(12*var(--g));min-height:calc(66*var(--g));padding:calc(6*var(--g)) calc(10*var(--g));border:calc(3*var(--g)) solid #7fd34a;border-radius:calc(36*var(--g));background:#fff;color:#13301b;font-weight:700;font-size:calc(28*var(--g));text-decoration:none;box-shadow:0 calc(3*var(--g)) calc(8*var(--g)) rgba(20,60,30,.1)}
.pt-btn svg{flex:none;width:calc(34*var(--g));height:calc(38*var(--g));color:#18852f}
.pt-gal{background:linear-gradient(180deg,#eef9e4,#f6fbf1);border-radius:calc(34*var(--g));padding:calc(20*var(--g)) calc(18*var(--g)) calc(22*var(--g));margin-top:calc(28*var(--g))}
.pt-gal h3{display:flex;align-items:center;gap:calc(14*var(--g));margin:0 0 calc(14*var(--g)) calc(10*var(--g));font-size:calc(38*var(--g));font-weight:800;color:#13301b}
.pt-gal h3 svg{width:calc(48*var(--g));height:calc(48*var(--g));color:#f2c21b;stroke:#c9a000}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(14*var(--g))}
.pg figure{margin:0;text-align:center}
.pg img{display:block;width:100%;aspect-ratio:280/180;object-fit:cover;border-radius:calc(20*var(--g))}
.pg figcaption{font-size:calc(24*var(--g));color:#1f2a24;margin-top:calc(8*var(--g));line-height:1.3}
.pt-info{display:flex;background:#f1f9eb;border-radius:calc(30*var(--g));padding:calc(20*var(--g)) calc(18*var(--g));margin-top:calc(22*var(--g))}
.pt-info>div{flex:1;display:flex;gap:calc(14*var(--g));align-items:center;min-width:0}
.pt-info>div+div{border-left:calc(2*var(--g)) solid #d5e6cc;padding-left:calc(18*var(--g))}
.pt-info i{flex:none;width:calc(76*var(--g));height:calc(76*var(--g));border-radius:50%;background:#dcf5c4;display:grid;place-items:center;color:#13301b}
.pt-info i svg{width:calc(46*var(--g));height:calc(46*var(--g))}
.pt-info b{display:block;font-size:calc(29*var(--g));color:#13301b}
.pt-info small{display:block;font-size:calc(23*var(--g));color:#2c3530;line-height:1.35}
.tp .ci-open{margin-top:calc(26*var(--g))}
.btn-dk{display:flex;align-items:center;justify-content:center;gap:calc(18*var(--g));margin-top:calc(22*var(--g));min-height:calc(70*var(--g));padding:calc(8*var(--g)) calc(30*var(--g));border-radius:calc(40*var(--g));background:linear-gradient(90deg,#0f6b2d,#0b5424);color:#fff;font-weight:700;font-size:calc(32*var(--g));text-decoration:none;box-shadow:0 calc(6*var(--g)) calc(14*var(--g)) rgba(10,60,20,.25)}
.btn-dk svg{flex:none;width:calc(34*var(--g));height:calc(34*var(--g))}
.btn-dk span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- G13 check-in */
.ci-head{display:flex;gap:calc(30*var(--g));align-items:center}
.ci-head>img,.ci-head>.cc-noimg{flex:none;width:calc(290*var(--g));height:calc(240*var(--g));object-fit:cover;border-radius:calc(34*var(--g));box-shadow:0 calc(5*var(--g)) calc(14*var(--g)) rgba(20,60,30,.15)}
.ci-head>div{flex:1;min-width:0}
.ci-head h2{margin:0;font-size:calc(46*var(--g));font-weight:800;color:#13301b;line-height:1.2;overflow-wrap:anywhere}
.ci-head .t-ic{align-self:flex-start;margin-top:calc(14*var(--g));width:calc(80*var(--g));height:calc(80*var(--g))}
.ci-card{display:block;background:linear-gradient(180deg,#eaf8d8 0,#fff calc(200*var(--g)));border-radius:calc(40*var(--g));padding:calc(26*var(--g)) calc(18*var(--g)) calc(30*var(--g));margin-top:calc(24*var(--g));box-shadow:0 calc(6*var(--g)) calc(20*var(--g)) rgba(20,60,30,.1)}
.ci-card h2{display:flex;align-items:center;justify-content:center;gap:calc(18*var(--g));margin:0;font-size:calc(52*var(--g));font-weight:800;color:#13301b}
.ci-card h2 svg{width:calc(60*var(--g));height:calc(70*var(--g));color:#0f6b2d}
.ci-done h2 svg{color:#1f9a3a}
.ci-sub{text-align:center;font-size:calc(28*var(--g));line-height:1.45;color:#2c3530;margin:calc(10*var(--g)) calc(20*var(--g)) calc(18*var(--g))}
.ci-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(16*var(--g))}
.ci-ph{position:relative;display:block;aspect-ratio:225/205;border-radius:calc(22*var(--g));overflow:hidden}
.ci-ph img{width:100%;height:100%;object-fit:cover;display:block}
.ci-x{position:absolute;right:calc(8*var(--g));top:calc(8*var(--g));width:calc(46*var(--g));height:calc(46*var(--g));min-width:28px;min-height:28px;border-radius:50%;border:calc(3*var(--g)) solid #fff;background:rgba(30,40,35,.75);color:#fff;font-size:calc(34*var(--g));line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}
.ci-add{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:225/205;border:calc(3*var(--g)) dashed #3caa3c;border-radius:calc(22*var(--g));background:#fbfef8;color:#0f6b2d;text-align:center;cursor:pointer}
.ci-add[hidden]{display:none}
.ci-add input{position:absolute;opacity:0;width:1px;height:1px}
.ci-add:focus-within{box-shadow:0 0 0 3px rgba(58,166,74,.35)}
.ci-add svg{width:calc(70*var(--g));height:calc(70*var(--g))}
.ci-add b{font-size:calc(26*var(--g));line-height:1.2;margin-top:calc(6*var(--g))}
.ci-add small{font-size:calc(22*var(--g))}
.ci-note{display:flex;align-items:center;justify-content:center;gap:calc(10*var(--g));font-size:calc(23*var(--g));color:#2c3530;margin:calc(18*var(--g)) 0}
.ci-note svg{flex:none;width:calc(36*var(--g));height:calc(36*var(--g));color:#3caa3c}
.ci-text{position:relative;display:flex;gap:calc(14*var(--g));align-items:flex-start;border:calc(2.4*var(--g)) solid #cfd8d3;border-radius:calc(30*var(--g));padding:calc(18*var(--g)) calc(24*var(--g)) calc(40*var(--g));background:#fff}
.ci-text svg{flex:none;width:calc(40*var(--g));height:calc(40*var(--g));color:#2c3530;margin-top:calc(4*var(--g))}
.ci-text textarea{flex:1;min-width:0;border:0;outline:0;resize:vertical;font:inherit;font-size:max(16px,calc(29*var(--g)));color:var(--ink);background:none;min-height:calc(70*var(--g))}
.ci-text small{position:absolute;right:calc(24*var(--g));bottom:calc(10*var(--g));font-size:calc(24*var(--g));color:#6b746e}
.ci-text:focus-within{border-color:#3caa3c}
.tp .ci-go{margin-top:calc(28*var(--g));background:linear-gradient(90deg,#9be22d 0%,#4cb31a 30%,#0b8027 65%,#005a2a 100%)}
.tp .ci-go:disabled{opacity:.7;cursor:wait}
.ci-quote{margin:calc(18*var(--g)) calc(10*var(--g)) 0;padding:calc(14*var(--g)) calc(20*var(--g));border-left:calc(6*var(--g)) solid #9be22d;background:#f6fbf1;border-radius:calc(14*var(--g));font-size:calc(27*var(--g));color:#1f2a24}
.ci-done .ci-photos{margin-top:calc(8*var(--g))}
