/* Style block 1 */

:root{color-scheme:light dark;--ivory:#FFF9F4;--white:#FFFFFF;--ink:#30343B;--muted:#4B5563;--pink:#B82E70;--pink-d:#8F2458;--teal:#164C56;--purple:#684087;--line:#E8E3E6;--soft:#FCE8F1;--shadow:0 18px 45px rgba(70,35,55,.12);--hero:linear-gradient(90deg,rgba(16,49,55,.88),rgba(16,49,55,.52) 52%,rgba(16,49,55,.08));}
@media(prefers-color-scheme:dark){:root{--ivory:#171315;--white:#211b1e;--ink:#f8eff3;--muted:#cbbfc5;--line:#47363f;--soft:#2b2026;--teal:#72b4bd;--purple:#bd91d8;--hero:linear-gradient(90deg,rgba(8,29,33,.94),rgba(8,29,33,.62) 55%,rgba(8,29,33,.18));--shadow:0 18px 45px rgba(0,0,0,.34)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--ivory);color:var(--ink);font:400 15px/1.65 Montserrat,sans-serif}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--pink) 45%,transparent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shell{max-width:1280px;margin:auto;padding:0 28px}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--ivory) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-row{max-width:1440px;margin:auto;min-height:204px;padding:6px 24px;display:flex;align-items:center;gap:22px}.logo-link{width:192px;flex:0 0 192px}.logo-link img{width:192px;height:auto;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:1px;margin-left:auto}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:5px;min-height:42px;padding:0 8px;border:0;background:none;color:var(--ink);font-size:10.5px;line-height:1.2;font-weight:700;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--pink)}.nav-link.active:after{content:"";position:absolute;left:9px;right:9px;bottom:-14px;height:2px;background:var(--pink)}.chev{width:6px;height:6px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);margin-top:-4px}.dropdown{display:none;position:absolute;top:42px;left:0;min-width:230px;padding:10px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown,.nav-item.open .dropdown{display:block}.dropdown a{display:block;padding:9px 11px;font-size:12px;font-weight:600}.dropdown a:hover{background:var(--soft);color:var(--pink)}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn,.menu-btn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer}.icon-btn svg,.menu-btn svg{width:19px}.menu-btn{display:none}.btn{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:var(--pink);color:#fff;font-weight:700;font-size:13px;cursor:pointer}.btn:hover{background:var(--pink-d)}.btn-outline{background:transparent;border-color:currentColor}.btn-teal{background:var(--teal)}.btn-soft{background:var(--soft);color:var(--pink);border-color:var(--line)}.btn-link{background:none;color:var(--pink);padding:0;min-height:auto}.wide-search{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);padding:18px 24px}.wide-search.open{display:block}.wide-search .search-wrap{max-width:800px;margin:auto}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;color:var(--muted)}.search-wrap input{width:100%;height:54px;padding:0 110px 0 46px;border:1px solid var(--line);background:var(--ivory);color:var(--ink)}.search-clear{position:absolute;right:8px;top:7px;height:40px;border:0;background:none;color:var(--pink);font-weight:700;cursor:pointer}
.view{display:none}.view.active{display:block}.hero{min-height:650px;display:grid;align-items:end;background:var(--hero),url('../assets/images/female-traveler-hero.webp') center 48%/cover;color:#fff}.hero-inner{max-width:1280px;width:100%;margin:auto;padding:110px 28px 78px}.hero-copy{max-width:700px}.kicker{margin-bottom:12px;color:var(--pink);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.hero .kicker{color:#ffbbd5}.hero h1,.page-hero h1{font:700 clamp(48px,7vw,84px)/1.02 'Playfair Display',serif;margin:0}.hero p{font-size:18px;max-width:650px;margin:22px 0 30px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.quick-services{max-width:1280px;margin:-34px auto 0;position:relative;z-index:2;padding:0 28px}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);background:var(--white);box-shadow:var(--shadow)}.quick-card{padding:22px 16px;border-right:1px solid var(--line);text-align:center;font-size:12px;font-weight:700}.quick-card:last-child{border:0}.quick-card span{display:block;width:30px;height:2px;background:var(--pink);margin:0 auto 12px}.quick-card:hover{color:var(--pink);background:var(--soft)}
section{padding:86px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-head h2{font:700 clamp(36px,4.7vw,58px)/1.05 'Playfair Display',serif;margin:0}.section-head p{max-width:540px;color:var(--muted);margin:0}.section-title{font:700 clamp(34px,4.5vw,54px)/1.08 'Playfair Display',serif;margin:0 0 14px}.lead{font-size:17px;color:var(--muted);max-width:760px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.image-card{background:var(--white);box-shadow:0 8px 26px rgba(64,35,48,.08);overflow:hidden}.image-card img{width:100%;height:240px;object-fit:cover}.card-body{padding:22px}.meta{color:var(--pink);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.image-card h3{font:700 25px/1.14 'Playfair Display',serif;margin:9px 0}.image-card p{color:var(--muted);font-size:13px}.text-link{color:var(--pink);font-weight:700;font-size:13px}.destinations{background:var(--white)}.dest-card{position:relative;min-height:360px;display:flex;align-items:end;color:#fff;overflow:hidden}.dest-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}.dest-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,42,47,.86),rgba(14,42,47,.02) 70%)}.dest-card:hover img{transform:scale(1.03)}.dest-copy{position:relative;z-index:1;padding:24px;width:100%}.dest-copy h3{font:700 30px Playfair Display,serif;margin:0 0 4px}.dest-copy p{margin:0;color:#ebf4f3;font-size:12px}.strip-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-banner{min-height:330px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(135deg,var(--teal),#0b3038)}.service-banner.alt{background:linear-gradient(135deg,var(--purple),#51316b)}.service-banner h3{font:700 38px/1.08 Playfair Display,serif;margin:0 0 12px}.service-banner p{max-width:500px}.journal-topics{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);background:var(--white)}.topic{padding:25px 18px;border-right:1px solid var(--line)}.topic:last-child{border:0}.topic strong{display:block;font:600 18px Playfair Display,serif}.topic small{color:var(--muted)}.pricing-preview{background:var(--teal);color:#fff}.pricing-preview .section-head p{color:#d5e5e8}.package-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.package{padding:28px;background:color-mix(in srgb,#fff 8%,transparent);border:1px solid rgba(255,255,255,.24)}.package.featured{background:#fff;color:#30343b}
/* V55 FIX5 I (owner 2026-10-18 16:15): pricing band cards are real links to
   their service steps — whole card clickable with clear hover/tap feedback. */
a.package{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
a.package:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(64,35,48,.18)}
a.package:focus-visible{outline:3px solid #fff;outline-offset:3px}
a.package h3{color:inherit}.package h3{font:700 26px Playfair Display,serif;margin:10px 0}.package ul{padding-left:18px;font-size:13px}.price{font-weight:800;color:#d6336c;font-size:20px}.featured .price{color:var(--pink)}.newsletter{padding:56px 0;background:var(--soft)}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.newsletter h2{font:700 40px Playfair Display,serif;margin:0}.signup{display:flex}.signup input{flex:1;min-width:0;height:50px;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:0 15px}.note{font-size:11px;color:var(--muted);margin-top:8px}
.page-hero{padding:88px 0 68px;background:var(--teal);color:#fff}.page-hero p{max-width:740px;font-size:17px;color:#deecee}.breadcrumbs{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#c9e0e3;margin-bottom:22px}.breadcrumbs button{border:0;background:none;color:inherit;padding:0;cursor:pointer}.breadcrumbs .back-btn{display:inline-block;padding:6px 14px !important;border:1px solid rgba(255,255,255,.55) !important;border-radius:999px;font-weight:700;background:rgba(255,255,255,.12) !important;color:#fff !important;margin-right:6px}.breadcrumbs .back-btn:hover{background:rgba(255,255,255,.28) !important}.breadcrumbs .crumb-sep{margin-right:8px;opacity:.6}.content-pad{padding:72px 0}.search-panel{padding:20px;background:var(--white);border:1px solid var(--line);box-shadow:0 10px 32px rgba(50,30,40,.06)}.region-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:28px 0 54px}.region-card{min-height:250px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;border:0;color:#fff;text-align:left;cursor:pointer;position:relative;overflow:hidden;background:var(--teal)}.region-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.region-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,36,41,.9),rgba(10,36,41,.12))}.region-card>*{position:relative;z-index:1}.region-card h3{font:700 25px Playfair Display,serif;margin:0}.region-card span{font-size:11px}.country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.country-card{min-height:205px;padding:22px;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}.country-card h3{font:700 23px Playfair Display,serif;margin:8px 0}.country-card .text-link{margin-top:auto}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.chip{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:9px 13px;border-radius:99px;font-size:12px;font-weight:700;cursor:pointer}.chip.active{background:var(--pink);color:#fff;border-color:var(--pink)}.empty{display:none;padding:48px;text-align:center;border:1px dashed var(--line);color:var(--muted)}.count{font-size:12px;color:var(--muted);margin:14px 0}.load-row{text-align:center;margin-top:26px}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:56px}.detail-layout h2{font:700 35px Playfair Display,serif}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.fact{padding:18px;background:var(--white)}.fact small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.fact strong{display:block;margin-top:4px}.sidebar-card{padding:24px;background:var(--soft);position:sticky;top:120px}.sidebar-card h3{font:700 27px Playfair Display,serif;margin:0 0 12px}.toc{padding-left:18px}.toc a{color:var(--pink)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.featured-story{display:grid;grid-template-columns:1.1fr .9fr;background:var(--teal);color:#fff;margin:28px 0 36px}.featured-story img{width:100%;height:430px;object-fit:cover}.featured-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}.featured-copy h2{font:700 40px Playfair Display,serif;margin:10px 0}.story-grid,.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-card{padding:25px;background:var(--white);border-top:3px solid var(--pink);cursor:pointer}.category-card h3{font:700 21px Playfair Display,serif;margin:0 0 7px}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{padding:27px;background:var(--white);border-bottom:3px solid var(--pink)}.service-card .number{font:700 42px Playfair Display,serif;color:var(--pink)}.service-card h3{font:700 24px Playfair Display,serif}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;border:1px solid var(--line)}.step{padding:24px;background:var(--white);border-right:1px solid var(--line)}.step:last-child{border:0}.price-table{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-plan{padding:30px;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}.price-plan.featured{border:2px solid var(--pink)}.price-plan h3{font:700 27px Playfair Display,serif;margin:5px 0}.price-plan ul{padding-left:18px;color:var(--muted)}.price-plan .btn{margin-top:auto}.faq details{padding:18px 0;border-bottom:1px solid var(--line)}.faq summary{font-weight:700;cursor:pointer}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.about-grid img{width:100%;height:570px;object-fit:cover}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.offer{padding:24px;background:var(--white)}
.contact-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:28px}
.contact-info-card{display:flex;flex-wrap:wrap;gap:18px 36px;align-items:center;padding:18px 22px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin-bottom:22px;font-size:14px}
.contact-info-card .note{flex-basis:100%;margin-top:0;font-size:12px}.contact-tab{padding:15px 10px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-weight:700;font-size:11px;cursor:pointer}.contact-tab.active{background:var(--pink);color:#fff;border-color:var(--pink)}.form-panel{display:none}.form-panel.active{display:block}.form-shell{max-width:880px;background:var(--white);border:1px solid var(--line);padding:32px}.form-shell h2{font:700 35px Playfair Display,serif;margin:0 0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.form-grouphead{grid-column:1/-1;margin:16px 0 2px;padding-top:16px;border-top:1px dashed var(--line)}
.form-grouphead h4{margin:0;font-size:14px;color:var(--ink)}
.form-grouphead .note{margin:6px 0 0;font-size:12px}
.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--ivory);color:var(--ink);padding:12px}.field textarea{min-height:120px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px}.check input{margin-top:4px}.form-actions{margin-top:22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.form-status{font-size:12px;color:var(--teal);font-weight:700}.preview-box{display:none;white-space:pre-wrap;margin-top:20px;padding:18px;background:var(--soft);border:1px solid var(--line);font-size:12px}.form-honesty{padding:14px;background:var(--soft);color:var(--muted);font-size:12px;margin:18px 0}.form-desc{padding:14px 16px;background:var(--ivory);border-left:4px solid var(--pink);color:var(--ink);font-size:13px;margin:14px 0 4px;line-height:1.6}[data-theme="dark"] .form-desc{background:#232d3a;color:#f1f5f9}.hp{position:absolute;left:-9999px}
.site-footer{background:#123b43;color:#fff;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}.footer-logo{width:150px;background:#fff;padding:6px}.tagline{font:600 18px Playfair Display,serif}.site-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.site-footer a{display:block;color:#d5e5e8;font-size:12px;margin:8px 0}.socials{display:flex;gap:9px}.socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center}.footer-bottom{margin-top:35px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#c0d5d8}.legal{display:flex;gap:16px}.legal a{margin:0}
@media(max-width:1180px){.header-row{gap:10px}.logo-link{width:180px;flex-basis:180px}.logo-link img{width:180px}.nav-link{font-size:9px;padding:0 5px}.header-actions .btn{display:none}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-card{border-bottom:1px solid var(--line)}.region-grid{grid-template-columns:repeat(3,1fr)}.country-grid{grid-template-columns:repeat(3,1fr)}.journal-topics{grid-template-columns:repeat(3,1fr)}.topic{border-bottom:1px solid var(--line)}.service-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.header-row{min-height:166px}.logo-link{width:150px;flex-basis:150px}.logo-link img{width:150px}.main-nav{display:none;position:fixed;inset:166px 0 0;background:var(--white);overflow:auto;padding:16px 20px}.main-nav.open{display:block}.nav-link{font-size:12px;width:100%;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line)}.nav-link.active:after{display:none}.dropdown{position:static;box-shadow:none;border:0;border-left:2px solid var(--pink);margin:4px 0 10px 12px}.nav-item:hover .dropdown{display:none}.nav-item.open .dropdown{display:block}.menu-btn{display:grid}.header-actions{margin-left:auto}.hero{min-height:600px}.card-grid,.story-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.strip-grid,.newsletter-inner,.detail-layout,.about-grid{grid-template-columns:1fr}.journal-topics{grid-template-columns:repeat(3,1fr)}.package-row,.price-table{grid-template-columns:1fr 1fr}.featured-story{grid-template-columns:1fr}.featured-story img{height:360px}.category-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr 1fr}.step{border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}.contact-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.shell{padding:0 18px}.header-row{min-height:154px;padding:5px 16px}.logo-link{width:142px;flex-basis:142px}.logo-link img{width:142px;height:auto}.footer-logo{width:112px}.main-nav{inset:154px 0 0}.icon-btn{display:none}.hero{min-height:600px;background-position:58% center}.hero-inner{padding:95px 18px 54px}.hero h1,.page-hero h1{font-size:48px}.hero p{font-size:16px}.quick-services{padding:0 18px;margin:-20px auto 0}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{padding:17px 8px}.section-head{display:block}.section-head p{margin-top:16px}section{padding:66px 0}.card-grid,.story-grid,.article-grid,.package-row,.price-table,.service-cards,.offer-grid{grid-template-columns:1fr}.image-card img{height:220px}.region-grid{grid-template-columns:1fr 1fr}.region-card{min-height:220px}.country-grid{grid-template-columns:1fr}.journal-topics{grid-template-columns:1fr 1fr}.strip-grid{grid-template-columns:1fr}.service-banner{min-height:290px;padding:28px}.page-hero{padding:58px 0 45px}.featured-copy{padding:28px}.featured-copy h2{font-size:34px}.category-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{border-right:0}.about-grid img{height:430px}.contact-tabs{grid-template-columns:1fr 1fr}.form-shell{padding:22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:block}.legal{margin-top:10px}.region-grid .region-card:last-child{grid-column:1/-1}.signup{display:block}.signup .btn{width:100%;margin-top:8px}}
/* Final editorial refinement — reference-led header, page heroes and responsive polish */
.nav-cover{position:relative;min-height:88px;display:grid;place-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(12,55,64,.94),rgba(12,55,64,.54),rgba(128,80,163,.45)),url('../assets/images/female-traveler-hero.webp') center 48%/cover}.nav-cover:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--pink),#f59ac1 50%,var(--purple))}.nav-cover-copy{position:relative;z-index:1;text-align:center;padding:12px 24px;text-shadow:0 2px 18px rgba(0,0,0,.38)}.nav-cover strong{display:block;font:700 32px/1 'Playfair Display',serif;letter-spacing:.02em}.nav-cover span{display:block;margin-top:6px;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.header-row{min-height:82px;background:color-mix(in srgb,var(--ivory) 96%,transparent)}.logo-link{width:150px;flex-basis:150px;align-self:stretch;display:flex;align-items:center}.logo-link img{width:150px;height:72px;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(57,30,45,.12))}.nav-link{min-height:46px}.nav-link.active:after{bottom:-18px}.dropdown{top:50px;border-radius:6px}.icon-btn,.menu-btn,.btn{border-radius:5px}.hero{min-height:585px;background-position:center 46%}.quick-grid,.image-card,.service-banner,.package,.search-panel,.region-card,.country-card,.featured-story,.category-card,.service-card,.price-plan,.offer,.form-shell,.sidebar-card{border-radius:7px}.quick-grid{overflow:hidden}.image-card{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);box-shadow:0 12px 34px rgba(64,35,48,.09)}.image-card .card-body{padding:24px}.dest-card{min-height:345px;border:0;border-radius:7px}.destinations{background:color-mix(in srgb,var(--white) 78%,var(--ivory))}.service-banner{position:relative;overflow:hidden;box-shadow:var(--shadow)}.service-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.16),transparent 38%);pointer-events:none}.package,.price-plan,.service-card,.offer,.country-card{box-shadow:0 10px 28px rgba(64,35,48,.07)}.page-hero{min-height:320px;display:flex;align-items:end;padding:84px 0 58px;background-image:linear-gradient(90deg,rgba(10,48,56,.94),rgba(10,48,56,.6) 62%,rgba(128,80,163,.22)),url('../assets/images/female-traveler-hero.webp');background-position:center;background-size:cover}.page-hero h1{font-size:clamp(46px,6vw,72px)}#view-explore .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/kyoto.webp')}#view-journey .page-hero,#view-story .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.46)),url('../assets/images/hunza-hero.webp')}#view-journal .page-hero,#view-article .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/cappadocia.webp')}#view-services .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.52)),url('../assets/images/dubai.jpg')}#view-pricing .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.5)),url('../assets/images/marrakech.jpg')}#view-about .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.9),rgba(10,48,56,.45)),url('../assets/images/hunza-hero.webp')}#view-contact .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/rome.jpg')}.content-pad{padding:78px 0}.region-card{min-height:280px}.category-card,.service-card,.offer{transition:border-color .2s,box-shadow .2s}.category-card:hover,.service-card:hover,.offer:hover{box-shadow:0 16px 38px rgba(64,35,48,.12)}.form-shell{box-shadow:0 18px 45px rgba(50,30,40,.08)}
@media(max-width:1180px){.nav-cover{min-height:76px}.nav-cover strong{font-size:28px}.header-row{min-height:76px}.logo-link{width:136px;flex-basis:136px}.logo-link img{width:136px;height:66px}.main-nav{gap:0}.nav-link{font-size:8.7px;padding:0 4px}.nav-link.active:after{bottom:-15px}.header-actions{gap:6px}.icon-btn,.menu-btn{width:40px;height:40px}}
@media(max-width:900px){.nav-cover{min-height:66px;background-position:center 42%}.nav-cover strong{font-size:24px}.nav-cover span{font-size:8px}.header-row{min-height:74px}.logo-link{width:132px;flex-basis:132px}.logo-link img{width:132px;height:64px}.main-nav{inset:140px 0 0;padding:18px 22px 36px}.nav-link{min-height:50px;font-size:12px}.dropdown{border-radius:0}.header-actions .btn{display:inline-flex}.page-hero{min-height:300px}.country-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.1fr 1fr 1fr}}
@media(max-width:700px){html{scroll-padding-top:132px}.nav-cover{min-height:58px}.nav-cover-copy{padding:8px 12px}.nav-cover strong{font-size:21px}.nav-cover span{margin-top:4px;font-size:7px}.header-row{min-height:70px;padding:3px 14px}.logo-link{width:118px;flex-basis:118px}.logo-link img{width:118px;height:62px}.main-nav{inset:128px 0 0}.header-actions .btn{min-height:40px;padding:0 12px;font-size:11px}.menu-btn{width:40px;height:40px}.hero{min-height:570px}.hero-inner{padding-bottom:62px}.hero h1,.page-hero h1{font-size:clamp(42px,13vw,56px)}.hero p{font-size:15px}.page-hero{min-height:275px;padding:62px 0 42px}.content-pad{padding:58px 0}.quick-services{margin-top:-28px}.section-head{gap:18px;margin-bottom:28px}.section-head h2,.section-title{font-size:clamp(32px,10vw,44px)}.country-grid{grid-template-columns:1fr}.featured-story img{height:300px}.detail-layout{gap:34px}.sidebar-card{position:static}.form-actions .btn{width:100%}.contact-tabs{gap:6px}.contact-tab{min-height:48px}.site-footer{padding-top:42px}}
@media(max-width:430px){.nav-cover{min-height:54px}.nav-cover strong{font-size:20px}.header-row{min-height:66px;padding:2px 12px}.logo-link{width:108px;flex-basis:108px}.logo-link img{width:108px;height:58px}.main-nav{inset:120px 0 0}.header-actions .btn{display:none}.hero{min-height:535px;background-position:60% center}.hero-inner{padding:80px 16px 54px}.hero h1{font-size:44px}.button-row .btn{flex:1 1 100%}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{min-height:66px;display:flex;flex-direction:column;justify-content:center}.region-grid{grid-template-columns:1fr}.region-grid .region-card:last-child{grid-column:auto}.region-card{min-height:235px}.journal-topics{grid-template-columns:1fr}.topic{border-right:0}.service-banner{min-height:270px}.featured-copy{padding:24px}.newsletter h2{font-size:34px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}.contact-tabs{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.form-shell{padding:20px 16px}.search-wrap input{padding-right:76px}.search-clear{font-size:11px}.footer-bottom{line-height:1.8}}
@media(max-width:370px){.shell{padding:0 15px}.logo-link{width:130px;flex-basis:130px}.logo-link img{width:130px}.header-row{padding-left:10px;padding-right:10px}.hero h1{font-size:40px}.quick-services{padding:0 14px}.quick-card{font-size:10px}.page-hero h1{font-size:40px}.category-card,.service-card,.offer,.card-body{padding:20px}.contact-tab{font-size:10px}}
/* Dark-mode CSS variables for the manual theme toggle (data-theme="dark" set by JS).
   These ensure var(--ink), var(--ivory) etc. resolve to dark values whenever the
   user picks dark mode, regardless of the OS preference. */
:root[data-theme="dark"]{--ivory:#0F171C;--white:#1B2833;--ink:#F5F7FA;--muted:#C1CBD4;--line:#38434D;--soft:#293846;--teal:#72b4bd;--deep-teal:#72b4bd;--purple:#C7A8F2;--pink:#FF8ABB;--pink-d:#F7A4C8;--lavender:#2e2635;--hero:linear-gradient(90deg,rgba(8,29,33,.94),rgba(8,29,33,.62) 55%,rgba(8,29,33,.18));--shadow:0 18px 45px rgba(0,0,0,.34);--bg:#0F171C;--bg2:#1B2833;--text:#F5F7FA;--card:#1B2833;--border:#38434D}
.view{padding:0}.logo-link{width:160px;flex-basis:160px}.logo-link img{width:160px;height:auto}.header-row{min-height:168px}.footer-logo{width:150px;background:transparent;padding:0;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))}
@media(max-width:1180px){.logo-link{width:150px;flex-basis:150px}.logo-link img{width:150px;height:auto}.header-row{min-height:158px}}
@media(max-width:900px){.logo-link{width:138px;flex-basis:138px}.logo-link img{width:138px;height:auto}.header-row{min-height:146px}.main-nav{inset:212px 0 0}}
@media(max-width:700px){.logo-link{width:132px;flex-basis:132px}.logo-link img{width:132px;height:auto}.header-row{min-height:140px}.main-nav{inset:198px 0 0}.footer-logo{width:132px}}
@media(max-width:430px){.logo-link{width:130px;flex-basis:130px}.logo-link img{width:130px;height:auto}.header-row{min-height:138px}.main-nav{inset:192px 0 0}}
@media(max-width:370px){.logo-link{width:126px;flex-basis:126px}.logo-link img{width:126px;height:auto}.header-row{min-height:134px}.main-nav{inset:188px 0 0}}
/* Navigation and brand-system completion */
:root{--muted:#68727d;--line:#e8e3e6;--soft:#fce8f1;--lavender:#f0e8f7;--pink-d:#b82e70;--success:#26734d;--error:#b42336}
.nav-cover{display:grid}.site-header{background:var(--white);backdrop-filter:none}.header-row{min-height:92px;height:92px;background:var(--white);gap:16px;padding:0 22px}.logo-link{width:88px;flex:0 0 88px;height:82px;align-self:auto;justify-content:flex-start}.logo-link img{width:82px;height:82px;object-fit:contain;filter:none}.main-nav{gap:5px}.nav-item{display:flex;align-items:center;position:relative}.nav-link{position:relative;min-height:42px;padding:0 10px;border-radius:999px;color:var(--teal);font-size:13px;font-weight:500;letter-spacing:.01em;transition:color .18s ease,background .18s ease}.nav-link:hover{background:var(--soft);color:var(--pink)}.nav-link.active{background:color-mix(in srgb,var(--soft) 68%,var(--white));color:var(--pink)}.nav-link.active:after{left:14px;right:14px;bottom:3px;height:2px;border-radius:2px}.submenu-toggle{display:grid;place-items:center;width:22px;height:34px;margin-left:-8px;border:0;background:transparent;color:var(--teal);cursor:pointer}.submenu-toggle:hover{color:var(--pink)}.dropdown{top:calc(100% + 8px);min-width:240px;padding:10px;border-radius:14px;border-color:var(--line);box-shadow:0 18px 45px rgba(70,35,55,.14)}.main-nav.suppress-hover .nav-item:hover .dropdown,.main-nav.suppress-hover .nav-item:focus-within .dropdown{display:none}.dropdown:before{content:"";position:absolute;left:18px;top:-9px;width:18px;height:18px;background:var(--white);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.dropdown a{position:relative;border-radius:9px;color:var(--teal);font-size:12px}.dropdown a:hover{background:var(--soft);color:var(--pink)}.header-actions .btn{border-radius:999px;font-size:12px;padding:0 17px}.icon-btn,.menu-btn{border-radius:50%}.btn{border-radius:999px;font-weight:600}.btn-soft{background:var(--white);color:var(--teal);border-color:var(--teal)}.btn-soft:hover{background:var(--soft);color:var(--teal)}.btn-outline:hover{background:var(--soft);color:var(--teal)}
h1,h2,h3{color:var(--teal)}.hero h1,.page-hero h1,.service-banner h3,.pricing-preview h2,.featured-story h2,.site-footer h3,.site-footer .tagline,.dest-copy h3{color:inherit}.quick-grid,.image-card,.service-banner,.package,.search-panel,.region-card,.country-card,.featured-story,.category-card,.service-card,.price-plan,.offer,.form-shell,.sidebar-card,.dest-card{border-radius:14px}.chip,.contact-tab{border-radius:999px}.search-wrap input{border-radius:999px;background:var(--white)}.site-footer{background:var(--teal)}.site-footer a:hover{color:#ff9ac4}.category-card{border-top:0;border-bottom:3px solid var(--pink)}
@media(max-width:1260px) and (min-width:901px){.header-row{gap:7px;padding:0 12px}.logo-link{width:72px;flex-basis:72px}.logo-link img{width:68px;height:68px}.main-nav{gap:1px}.nav-link{padding:0 6px;font-size:13px}.submenu-toggle{width:18px;margin-left:-7px}.header-actions .btn{padding:0 12px;font-size:11px}.icon-btn{width:38px;height:38px}}
@media(max-width:900px){.header-row{height:82px;min-height:82px;padding:0 18px}.logo-link{width:78px;flex-basis:78px;height:76px}.logo-link img{width:76px;height:76px}.main-nav{inset:82px 0 0;padding:14px 18px 32px;background:var(--white)}.nav-item{display:grid;grid-template-columns:1fr 48px;border-bottom:1px solid var(--line)}.nav-link{min-height:54px;width:auto;padding:0 14px;border:0;border-radius:12px;justify-content:flex-start;font-size:13px}.nav-link.active:after{left:14px;right:auto;width:34px;bottom:6px}.submenu-toggle{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--soft);color:var(--teal);cursor:pointer}.submenu-toggle .chev{margin-top:-4px}.submenu-toggle[aria-expanded="true"] .chev{transform:rotate(225deg);margin-top:4px}.dropdown{grid-column:1/-1;position:static;margin:0 0 12px;padding:6px;border:0;border-left:2px solid var(--pink);border-radius:0;box-shadow:none}.dropdown:before{display:none}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:none}.nav-item.open .dropdown{display:block}.header-actions{margin-left:auto}.header-actions .btn{display:inline-flex}.menu-btn{display:grid}}
@media(max-width:620px){html{scroll-padding-top:82px}.header-row{height:78px;min-height:78px;padding:0 14px}.logo-link{width:72px;flex-basis:72px;height:72px}.logo-link img{width:70px;height:70px}.main-nav{inset:78px 0 0}.header-actions .btn{min-height:40px;padding:0 13px;font-size:10px}.hero{min-height:560px}}
@media(max-width:430px){.header-row{height:74px;min-height:74px;padding:0 12px}.logo-link{width:68px;flex-basis:68px;height:68px}.logo-link img{width:66px;height:66px}.main-nav{inset:74px 0 0}.header-actions .btn{display:none}}
/* Searchable submenus and explicit subcategory state */
.searchable-dropdown{width:300px;max-height:min(560px,72vh);overflow:auto}.dropdown-search{display:block;position:sticky;top:0;z-index:3;padding:4px 3px 9px;background:var(--white)}.dropdown-search input{width:100%;height:40px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--ivory);color:var(--ink);font-size:12px}.dropdown-search input:focus{border-color:var(--purple)}.dropdown-items a.is-filtered{display:none}.dropdown-group-label{padding:10px 11px 4px;color:var(--purple);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dropdown-empty{display:none;padding:12px;color:var(--muted);font-size:12px;text-align:center}.dropdown-empty.show{display:block}.selection-note{margin:24px 0 8px;padding:15px 18px;border-radius:12px;background:var(--lavender);color:var(--teal);font-size:13px;font-weight:600}.selection-note strong{color:var(--pink)}.nav-item.open>.dropdown{display:block!important}.hero{display:grid!important;background-image:var(--hero),url('../assets/images/hero-v28.webp')!important;background-position:center 48%!important}.logo-link{width:188px;flex-basis:188px}.logo-link img{width:184px;height:82px}.header-row{min-height:96px;height:96px}
@media(max-width:1260px) and (min-width:901px){.logo-link{width:152px;flex-basis:152px}.logo-link img{width:148px;height:78px}}
@media(max-width:900px){.searchable-dropdown{width:auto;max-height:none;overflow:visible}.dropdown-search{position:static;padding:8px 5px 10px}.dropdown-items a{padding:11px 13px}.header-row{height:88px;min-height:88px}.logo-link{width:148px;flex-basis:148px;height:82px}.logo-link img{width:144px;height:80px}.main-nav{inset:88px 0 0}}
@media(max-width:620px){.header-row{height:82px;min-height:82px}.logo-link{width:138px;flex-basis:138px;height:78px}.logo-link img{width:134px;height:76px}.main-nav{inset:82px 0 0}}
@media(max-width:430px){.logo-link{width:132px;flex-basis:132px}.logo-link img{width:130px;height:74px}}
/* Specification-complete brand tokens and responsive composition */
:root{--primary-pink:#D83F85;--brand-purple:#8050A3;--deep-teal:#164C56;--warm-ivory:#FFF9F4;--white:#FFFFFF;--soft-pink:#FCE8F1;--soft-lavender:#F0E8F7;--main-text:#30343B;--secondary-text:#68727D;--borders:#E8E3E6;--success:#26734D;--error:#B42336;--pink:var(--primary-pink);--purple:var(--brand-purple);--teal:var(--deep-teal);--ivory:var(--warm-ivory);--ink:var(--main-text);--muted:var(--secondary-text);--line:var(--borders);--soft:var(--soft-pink);--lavender:var(--soft-lavender)}
.hero{position:relative;min-height:520px;height:520px;display:grid!important;align-items:center;background:var(--warm-ivory)!important;color:var(--main-text);overflow:hidden}.hero:after{content:"";position:absolute;inset:0 0 0 50%;background:url('../assets/images/hero-v28.webp') center/cover no-repeat}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:54px 28px}.hero-copy{max-width:560px;padding-right:54px}.hero .kicker{color:#B82E70}.hero h1{color:#164C56;font-size:clamp(50px,5.2vw,74px)}.hero p{color:#30343B;font-size:16px}
/* Dark mode hero - light text */
[data-theme="dark"] .hero .kicker{color:#ffbbd5}[data-theme="dark"] .hero h1{color:#8fd1d9}[data-theme="dark"] .hero p{color:#f6f0f3}.hero .btn-outline{background:var(--white);color:var(--deep-teal);border-color:var(--deep-teal)}.hero .btn-outline:hover{background:var(--soft-pink)}
.price-table{grid-template-columns:repeat(4,1fr)}.price-plan .price{font-size:22px;font-weight:800;color:#d6336c}[data-theme="dark"] .price-plan .price{color:#ff7ab0}.calculator{margin-top:54px;padding:34px;background:var(--white);border:1px solid var(--borders);border-radius:14px;box-shadow:0 14px 36px rgba(64,35,48,.08)}.calculator-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:18px;align-items:end}.calculator .field{margin:0}.calculator output{display:block;font:700 32px 'Playfair Display',serif;color:var(--deep-teal)}.calc-addon{min-height:48px;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--borders);border-radius:10px}.calc-addon input{accent-color:var(--primary-pink)}.calc-note{margin:16px 0 0;color:var(--secondary-text);font-size:12px}.search-wrap svg{color:var(--brand-purple)}
@media(max-width:1120px){.price-table{grid-template-columns:repeat(2,1fr)}.calculator-grid{grid-template-columns:1fr 1fr}.calculator-total{grid-column:1/-1}}
@media(max-width:1023px){.header-row{height:88px;min-height:88px;padding:0 18px}.logo-link{width:148px;flex-basis:148px;height:82px}.logo-link img{width:144px;height:80px}.main-nav{display:none;position:fixed;inset:88px 0 0;background:var(--white);overflow:auto;padding:14px 18px 32px}.main-nav.open{display:block}.nav-item{display:grid;grid-template-columns:1fr 48px;border-bottom:1px solid var(--line)}.nav-link{min-height:54px;width:auto;padding:0 14px;border:0;border-radius:12px;justify-content:flex-start;font-size:13px}.nav-link.active:after{left:14px;right:auto;width:34px;bottom:6px}.submenu-toggle{display:grid;place-items:center;width:42px;height:42px;margin:0;border-radius:50%;background:var(--soft);color:var(--teal)}.dropdown{grid-column:1/-1;position:static;margin:0 0 12px;padding:6px;border:0;border-left:2px solid var(--pink);border-radius:0;box-shadow:none}.dropdown:before{display:none}.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:none}.nav-item.open .dropdown{display:block}.searchable-dropdown{width:auto;max-height:none;overflow:visible}.dropdown-search{position:static;padding:8px 5px 10px}.menu-btn{display:grid}.header-actions{margin-left:auto}}
@media(max-width:700px){.hero{height:auto;min-height:660px;align-items:start;padding-bottom:310px}.hero:after{inset:auto 0 0;height:310px;background-position:center 48%}.hero-inner{display:block;padding:58px 18px 42px}.hero-copy{padding:0;max-width:620px}.hero h1{font-size:clamp(44px,13vw,58px)}.hero p{margin:18px 0 24px}.price-table,.calculator-grid{grid-template-columns:1fr}.calculator{padding:24px 18px}.calculator-total{grid-column:auto}}
/* A5 tablet hero (2026-10-19): at 701–1199px the desktop side-by-side hero column is too
   narrow for the landscape poster (baked-in text got sliced mid-word; verified whole
   only from 1200px up). Use the same stacked hero as mobile ≤700px, with the mobile
   poster asset. */
@media(min-width:701px) and (max-width:1199px){.hero{height:auto;min-height:660px;align-items:start;padding-bottom:310px}.hero:after{inset:auto 0 0;height:310px;background:url('../assets/images/hero-v28-m.webp') center/cover no-repeat}.hero-inner{display:block;padding:58px 28px 42px}.hero-copy{padding:0;max-width:640px}}
@media(prefers-color-scheme:dark){:root{--ivory:#11191b;--white:#182326;--ink:#f6f0f3;--muted:#c8bec4;--line:#35484d;--soft:#30202a;--lavender:#2e2635}.site-header,.header-row{background:var(--white)}.hero{background:var(--ivory)!important}.hero h1{color:#8fd1d9}.hero p{color:var(--ink)}.hero .btn-outline{background:var(--white);color:#8fd1d9;border-color:#8fd1d9}.search-wrap input{background:var(--ivory)}}

/* Header cover picture — logo & nav over a scenic cover */
.site-header{background:linear-gradient(90deg,rgba(10,48,56,.88),rgba(10,48,56,.55) 55%,rgba(128,80,163,.35)),url('../assets/images/hero-v28.webp') center 30%/cover !important;backdrop-filter:none}
.header-row{background:transparent !important;border-bottom:0}
.nav-link{color:#fff !important;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.nav-link:hover{background:rgba(255,255,255,.15) !important;color:#ffd6e7 !important}
.nav-link.active{background:rgba(255,255,255,.18) !important;color:#ffd6e7 !important}
/* .submenu-toggle color fixed - uses var(--teal) from base styles */
.header-actions .btn-soft{background:rgba(255,255,255,.9);color:var(--teal);border-color:transparent}
.icon-btn,.menu-btn{background:rgba(255,255,255,.9);border-color:transparent}
.logo-link img{filter:drop-shadow(0 2px 10px rgba(0,0,0,.35)) !important}

/* ===== Dark/Light Mode Toggle ===== */
:root{--bg:#fff;--bg2:#faf7f4;--text:#1a1a2e;--muted:#6b7280;--card:#fff;--border:#e8e0d8}
[data-theme="dark"]{--bg:#0f1419;--bg2:#1a2332;--text:#f0f4f8;--muted:#a0aec0;--card:#1a2332;--border:#2d3748}
body{background:var(--bg) !important;color:var(--text) !important;transition:background .3s,color .3s}
.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--card);cursor:pointer;display:grid;place-items:center;font-size:18px;transition:transform .2s}
.theme-toggle:hover{transform:scale(1.1)}
.theme-toggle .sun{display:none}
[data-theme="dark"] .theme-toggle .sun{display:block}
[data-theme="dark"] .theme-toggle .moon{display:none}
/* Header adapts to theme */
[data-theme="dark"] .site-header{background:linear-gradient(90deg,rgba(5,20,25,.95),rgba(5,20,25,.7) 55%,rgba(60,30,80,.5)),url('../assets/images/hero-v28.webp') center 30%/cover !important}
[data-theme="dark"] .nav-link{color:#fff !important}
[data-theme="dark"] .header-row{background:transparent !important}

.theme-toggle .auto{display:none;font-size:16px}
/* (removed aggressive dark mode rule - using targeted fixes below) */

/* ===== Region > Country > City hierarchy ===== */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.city-card{background:var(--white);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform .2s,box-shadow .2s;border-radius:7px}
.city-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(64,35,48,.12)}
.city-card img{width:100%;height:190px;object-fit:cover}
.city-card .card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.city-card h3{font:700 22px 'Playfair Display',serif;margin:8px 0}
.city-card p{color:var(--muted);font-size:13.5px;flex:1}
.city-card .text-link{margin-top:12px;align-self:flex-start}
.city-hero-img{width:100%;height:340px;object-fit:cover;border-radius:7px;margin-bottom:26px}
.highlights{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px}
.highlights li{padding:14px 16px 14px 44px;background:var(--white);border:1px solid var(--line);border-radius:7px;position:relative;font-size:14px}
.highlights li:before{content:"\2726";position:absolute;left:16px;top:13px;color:var(--pink);font-weight:700}
[data-theme="dark"] .city-card{background:var(--card) !important;border-color:var(--border) !important}
[data-theme="dark"] .highlights li{background:var(--card) !important;border-color:var(--border) !important}
@media(max-width:900px){.city-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.city-grid{grid-template-columns:1fr}.city-hero-img{height:230px}}

/* Dark mode: targeted fixes only (hero keeps its own colors) */
[data-theme="dark"] body{background:#0f1419 !important;color:#e8edf3 !important}
[data-theme="dark"] section:not(.hero):not(.page-hero){background:#0f1419 !important}
[data-theme="dark"] .content-pad,[data-theme="dark"] .shell{background:transparent !important}
[data-theme="dark"] h2:not(.hero h2):not(.page-hero h2),[data-theme="dark"] h3:not(.hero h3),[data-theme="dark"] .section-title{color:#f0f4f8 !important}
[data-theme="dark"] p:not(.hero p):not(.page-hero p){color:#c8d4e0 !important}
[data-theme="dark"] .card,[data-theme="dark"] .service-card,[data-theme="dark"] .package,[data-theme="dark"] .price-plan,[data-theme="dark"] .form-shell,[data-theme="dark"] .country-card,[data-theme="dark"] .image-card,[data-theme="dark"] .sidebar-card{background:#1a2332 !important;border-color:var(--ink) !important;color:#e8edf3 !important}
[data-theme="dark"] .card h3,[data-theme="dark"] .service-card h3,[data-theme="dark"] .country-card h3{color:#f0f4f8 !important}
[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] select{background:#0f1419 !important;color:#f0f4f8 !important;border-color:var(--ink) !important}
[data-theme="dark"] .dropdown{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .dropdown a{color:#f0f4f8 !important}
[data-theme="dark"] .site-footer{background:#0a0f14 !important}
[data-theme="dark"] .chip{background:#1a2332 !important;color:#e8edf3 !important;border-color:var(--ink) !important}
/* Hero keeps original design in both modes */
.hero h1,.hero p{color:inherit !important}


/* Dark mode: fix white-background sections */
[data-theme="dark"] .quick-services,[data-theme="dark"] .quick-grid{background:#0f1419 !important}
[data-theme="dark"] .quick-card{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .quick-card span,[data-theme="dark"] .quick-card strong{color:#e8edf3 !important}
[data-theme="dark"] .destinations{background:#0f1419 !important}
[data-theme="dark"] .dest-card{background:#1a2332 !important}
[data-theme="dark"] .dest-card h3,[data-theme="dark"] .dest-card p{color:#e8edf3 !important}
[data-theme="dark"] .journal-topics{background:transparent !important}
[data-theme="dark"] .topic{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .topic h4,[data-theme="dark"] .topic p{color:#e8edf3 !important}
[data-theme="dark"] .newsletter{background:#1a2332 !important}
[data-theme="dark"] .newsletter h2,[data-theme="dark"] .newsletter p{color:#f0f4f8 !important}
[data-theme="dark"] .search-panel{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .region-card p,[data-theme="dark"] .region-card span{color:#e0e0e0 !important}


/* ===== Trip Planner v2: custom widgets ===== */
.budget-wrap{display:flex;gap:8px}
.budget-wrap input{flex:1}
.budget-wrap select{flex:0 0 150px}
.days-auto{background:var(--soft,#f6f1ec) !important;cursor:not-allowed;font-weight:700}
/* multi-select dropdown */
.ms-wrap{position:relative}
.dest-ac{position:absolute;top:100%;left:0;right:0;z-index:60;background:var(--white,#fff);border:1px solid var(--line,#e8e0d8);border-radius:10px;box-shadow:0 14px 34px rgba(50,30,40,.14);margin-top:6px;overflow:hidden;max-height:280px;overflow-y:auto}
.dest-ac-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 14px;border:0;background:none;cursor:pointer;font-size:13px;color:var(--ink);text-align:left}
.dest-ac-item:hover{background:var(--soft,#faf7f4)}
.dest-ac-item strong{font-weight:700}
.dest-ac-item span{font-size:11px;color:var(--muted,#6b7280)}
.ms-box{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:8px 12px;border:1px solid var(--line,#e8e0d8);border-radius:8px;background:var(--white,#fff);cursor:pointer}
.ms-box:focus{outline:2px solid var(--pink,#d6336c)}
.ms-placeholder{color:var(--muted,#6b7280);font-size:13px}
.ms-arrow{color:var(--pink,#d6336c);font-size:14px}
.ms-chips{display:flex;flex-wrap:wrap;gap:6px}
.ms-chip{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--pink,#d6336c) 12%,#fff);color:var(--pink,#d6336c);border:1px solid color-mix(in srgb,var(--pink,#d6336c) 30%,#fff);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}
.ms-chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;padding:0}
.ms-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow:auto;background:var(--white,#fff);border:1px solid var(--line,#e8e0d8);border-radius:10px;box-shadow:0 18px 45px rgba(70,35,55,.16);z-index:200;padding:6px}
.ms-panel-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line,#e8e0d8);font-size:12px;font-weight:700;color:var(--muted,#6b7280);position:sticky;top:0;background:var(--white,#fff);z-index:2}
.ms-close{border:1px solid var(--pink,#d6336c);background:var(--pink,#d6336c);color:#fff;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer}
.ms-close:hover{opacity:.9}
.ms-wrap.open .ms-panel{display:block}
.ms-group{border-bottom:1px solid var(--line,#e8e0d8)}
.ms-group:last-child{border-bottom:0}
.ms-group-head{display:flex;align-items:center;gap:8px;padding:10px 8px;cursor:pointer;font-weight:700;font-size:13px}
.ms-group-head:hover{background:var(--soft,#faf7f4)}
.ms-group-head .exp{margin-left:auto;color:var(--pink,#d6336c);font-size:12px;transition:transform .2s}
.ms-group.expanded .exp{transform:rotate(90deg)}
.ms-sub{display:none;padding:2px 8px 10px 30px}
.ms-group.expanded .ms-sub{display:block}
.ms-opt{display:flex;align-items:center;gap:8px;padding:7px 4px;font-size:13px;cursor:pointer;border-radius:6px}
.ms-opt:hover{background:var(--soft,#faf7f4)}
.ms-opt input{accent-color:var(--pink,#d6336c);width:16px;height:16px}
/* itinerary output */
.itin-logo{width:52px;height:auto;flex:0 0 auto}
.itin-head{display:flex;align-items:center;gap:14px}
.itin-result{margin-top:26px}
.itin-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px}
.itin-head h3{font:700 30px 'Playfair Display',serif;margin:0}
.itin-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.itin-meta .meta-pill{background:var(--soft,#faf7f4);border:1px solid var(--line,#e8e0d8);border-radius:999px;padding:5px 13px;font-size:12px;font-weight:600}
.itin-day{border:1px solid var(--line,#e8e0d8);border-radius:12px;margin-bottom:14px;overflow:hidden;background:var(--white,#fff)}
.itin-day-head{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(90deg,var(--teal,#0c3740),var(--purple,#8050a3));color:#fff;padding:13px 18px}
.itin-day-head>div{min-width:0;flex:1 1 auto}
.itin-day-head h4{overflow-wrap:break-word}
.itin-day-num{background:#fff;color:var(--teal,#0c3740);font-weight:800;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px}
.itin-day-head h4{margin:0;font:700 19px 'Playfair Display',serif}
.itin-day-body{padding:16px 18px}
.itin-slot{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line,#e8e0d8)}
.itin-slot:last-child{border-bottom:0}
.itin-slot .slot{flex:0 0 92px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--pink,#d6336c);padding-top:2px}
.itin-slot p{margin:0;font-size:14px}
.itin-hotels{margin-top:14px;background:var(--soft,#faf7f4);border-radius:10px;padding:13px 16px}
.itin-hotels h5{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal,#0c3740)}
.itin-hotels ul{margin:0;padding-left:18px;font-size:13px}
.itin-hotels li{margin-bottom:4px}
.itin-tips{margin-top:18px;border-left:3px solid var(--pink,#d6336c);padding:6px 0 6px 16px}
.itin-tips h4{margin:0 0 8px;font-size:15px}
.itin-tips li{font-size:13px;margin-bottom:4px}
.itin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.form-honesty.itin-note{background:#eef7f4;border-color:#bfe3d4}
/* dark mode */
[data-theme="dark"] .ms-box,[data-theme="dark"] .ms-panel{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .ms-group-head:hover,[data-theme="dark"] .ms-opt:hover{background:#243044 !important}
[data-theme="dark"] .itin-day{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .itin-hotels{background:#141c29 !important}
[data-theme="dark"] .itin-meta .meta-pill{background:#1a2332 !important;border-color:var(--ink) !important;color:#e8edf3}
/* print: clean PDF */
@media print{
  header,.site-header,footer,.site-footer,.contact-tabs,.form-actions,.itin-actions,.theme-toggle,.menu-btn,.page-hero,.breadcrumbs,#site-search,#fairy-fab,#fairy-panel,.fairy-panel{display:none !important}
  body{background:#fff !important;color:#111 !important}
  .view{display:none !important}
  #view-contact{display:block !important}
  #view-contact .page-hero,#view-contact .contact-tabs,#view-contact .form-actions,#view-contact .form-grid,#view-contact .form-shell h2,#view-contact .form-desc,#view-contact .form-honesty{display:none !important}
  #view-contact .preview-box{display:block !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important}
  #itin-result{display:block !important;position:static !important}
  .itin-day{break-inside:avoid;border:1px solid #ccc}
  .itin-day-head{background:#0c3740 !important;color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .form-shell{box-shadow:none !important;border:0 !important}
  #forms .form-panel{display:none !important}
  #forms .form-panel.active{display:block !important}
  .itin-result{display:block !important}
}

#forms{scroll-margin-top:110px}

/* ===== Planner v3: city picker, budget table, premium print ===== */
.city-checks{display:flex;flex-wrap:wrap;gap:8px}
.city-check{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line,#e8e0d8);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;background:var(--white,#fff)}
.city-check input{accent-color:var(--pink,#d6336c)}
.city-check:has(input:checked){background:color-mix(in srgb,var(--pink,#d6336c) 10%,#fff);border-color:var(--pink,#d6336c);font-weight:700}
.itin-city{margin:22px 0 6px}
.itin-city-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}
.itin-city-pin{font-size:26px}
.itin-city-head h4{margin:0;font:700 24px 'Playfair Display',serif}
.itin-city-head p{margin:4px 0 0;font-size:13px;color:var(--muted,#6b7280)}
.itin-places{background:var(--white,#fff);border:1px solid var(--line,#e8e0d8);border-radius:10px;padding:12px 16px;margin-bottom:10px}
.itin-places h5{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal,#0c3740)}
.itin-places ul{margin:0;padding-left:18px;font-size:13px;columns:2}
.itin-places li{margin-bottom:3px;break-inside:avoid}
.itin-day-city{font-size:12px;opacity:.85}
.itin-budget{margin-top:22px;border:1px solid var(--line,#e8e0d8);border-radius:12px;overflow:hidden;background:var(--white,#fff)}
.itin-budget h4{margin:0;padding:14px 18px;background:var(--soft,#faf7f4);font-size:16px}
.itin-budget h4 small{font-weight:400;font-size:12px;color:var(--muted,#6b7280)}
.itin-budget table{width:100%;border-collapse:collapse;font-size:14px}
.itin-budget th,.itin-budget td{padding:11px 18px;text-align:left;border-top:1px solid var(--line,#e8e0d8)}
.itin-budget thead th{background:transparent;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#6b7280)}
.itin-budget .num{text-align:right;font-weight:700;white-space:nowrap}
.itin-budget tr.total td{background:color-mix(in srgb,var(--teal,#0c3740) 6%,#fff);font-weight:800;font-size:16px}
.budget-verdict{padding:12px 18px;font-size:14px;font-weight:600}
.verdict.ok{color:#1a7a4c}.verdict.over{color:#b3402a}
.budget-note{padding:0 18px 14px;font-size:12px;color:var(--muted,#6b7280)}
/* print-only brand blocks */
.print-cover,.print-footer{display:none}
/* PDF library overlay must never intercept clicks (back-button/PDF fix 2026-10-11) */
.html2pdf__overlay{pointer-events:none !important;}
[data-theme="dark"] .itin-places,[data-theme="dark"] .itin-budget{background:#1a2332 !important;border-color:var(--ink) !important}
[data-theme="dark"] .itin-budget h4{background:#141c29 !important}
[data-theme="dark"] .itin-budget tr.total td{background:#243044 !important}
[data-theme="dark"] .city-check{background:#1a2332 !important;border-color:var(--ink) !important;color:#e8edf3}
@media print{
  .print-cover{display:block !important;text-align:center;padding:10px 0 22px;border-bottom:3px solid #d6336c;margin-bottom:20px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-cover img{width:110px;height:auto}
  .print-brand{font:800 20px Montserrat,sans-serif;letter-spacing:.32em;color:#0c3740;margin:6px 0 2px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .itin-day-body{display:grid !important;grid-template-columns:1fr 1fr;gap:4px 22px;padding:12px 16px !important}
  .itin-slot{padding:6px 0 !important}
  .itin-slot .slot{flex:0 0 78px !important;font-size:10px !important}
  .itin-slot p{font-size:12.5px !important}
  .itin-meta{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
  .meta-pill{font-size:12px}
  .itin-budget table{width:100%;border-collapse:collapse}
  .itin-budget th,.itin-budget td{border:1px solid #ccc;padding:6px 8px;text-align:left}
  .itin-budget tr.total td{font-weight:800;background:#f4f4f4;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .itin-city{break-inside:avoid}
  .itin-tips{break-inside:avoid}
  .itin-tips li{font-size:12.5px;margin-bottom:4px}
  .print-title{font:800 44px 'Playfair Display',serif;letter-spacing:.14em;margin:8px 0 4px;background:linear-gradient(90deg,#d6336c,#0c8080);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-sub{font-size:16px;font-weight:600}
  .print-meta{font-size:13px;color:#444;margin-top:6px}
  .print-meta span{margin:0 4px}
  .print-date{font-size:11px;color:#777;margin-top:6px}
  .print-footer{display:flex !important;align-items:center;gap:14px;margin-top:26px;padding-top:16px;border-top:2px solid #d6336c;font-size:12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-footer img{width:64px;height:auto}
  .print-footer span{color:#666}
  .screen-only{display:none !important}
  .itin-city,.itin-places,.itin-budget{break-inside:avoid}
  .itin-budget table{font-size:12px}
  .itin-places ul{columns:2}
  #forms .form-panel .form-shell > :not(.preview-box){display:none !important}
}

/* ===== PDF download status + attention pulse ===== */
.itin-pdf-status{display:none;margin-top:10px;padding:10px 14px;border-radius:8px;background:#f0f9ff;border:1px solid #bfe3ff;color:#0c5460;font-size:13.5px;font-weight:600}
.itin-pdf-status.error{background:#fdf0f3;border-color:#f3c2cf;color:#8f1d3a}
.itin-pdf-status .btn{margin-top:8px}
[data-theme="dark"] .itin-pdf-status{background:#14202e;border-color:#2d4a5f;color:#bfe6f5}
[data-theme="dark"] .itin-pdf-status.error{background:#2e141c;border-color:#5f2d3a;color:#f5bfcf}
@keyframes btnPulse{0%{box-shadow:0 0 0 0 rgba(214,51,108,.55)}70%{box-shadow:0 0 0 12px rgba(214,51,108,0)}100%{box-shadow:0 0 0 0 rgba(214,51,108,0)}}
.btn-attn{animation:btnPulse 1.6s ease-out 3}
/* ===== Custom Trip: what full planning includes ===== */
.form-includes{margin:14px 0;padding:14px 16px;border:1px solid #bfe3e0;border-left:4px solid #0c8080;border-radius:10px;background:#f2faf9}
.form-includes h4{margin:0 0 8px;font-size:14px;color:#0c3740}
.form-includes ul{margin:0;padding-left:20px;font-size:13.5px}
.form-includes li{margin-bottom:5px}
.human-badge{display:inline-block;background:#0c8080;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.04em;vertical-align:middle;-webkit-print-color-adjust:exact;print-color-adjust:exact}
[data-theme="dark"] .form-includes{background:#14202a;border-color:#2d4a4f}
[data-theme="dark"] .form-includes h4{color:#bfe6e2}
/* ===== Smart Search Autocomplete ===== */
.search-autocomplete{position:absolute;top:100%;left:0;right:0;background:var(--white,#fff);border:1px solid var(--line,#e8e0d8);border-radius:0 0 8px 8px;box-shadow:0 12px 32px rgba(0,0,0,.12);z-index:1000;max-height:320px;overflow-y:auto;display:none}
.search-autocomplete.open{display:block}
.search-autocomplete .sugg-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f0ebe5}
.search-autocomplete .sugg-item:hover,.search-autocomplete .sugg-item.active{background:#fdf2f7}
.search-autocomplete .sugg-item .sugg-flag{font-size:18px}
.search-autocomplete .sugg-item .sugg-name{font-weight:600;font-size:14px}
.search-autocomplete .sugg-item .sugg-type{font-size:11px;color:#888;margin-left:auto;text-transform:uppercase;letter-spacing:.05em}
.search-autocomplete .sugg-item .sugg-region{font-size:12px;color:#aaa}
.search-wrap{position:relative}
[data-theme="dark"] .search-autocomplete{background:#1a2332;border-color:var(--ink)}
[data-theme="dark"] .search-autocomplete .sugg-item{border-color:var(--ink)}
[data-theme="dark"] .search-autocomplete .sugg-item:hover,[data-theme="dark"] .search-autocomplete .sugg-item.active{background:#243044}
[data-theme="dark"] .search-autocomplete .sugg-name{color:#f0f4f8}

/* ===== Sample Itinerary modal ===== */
.sample-modal{position:fixed;inset:0;z-index:2000;background:rgba(10,20,25,.72);display:none;overflow-y:auto;padding:34px 18px;backdrop-filter:blur(3px)}
.sample-modal.open{display:block}
.sample-sheet{max-width:920px;margin:0 auto;background:var(--white,#fff);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;position:relative}
.sample-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:18px;cursor:pointer;z-index:5;display:grid;place-items:center}
.sample-close:hover{background:#d6336c}
.sample-cover{text-align:center;padding:38px 28px 26px;border-bottom:3px solid #d6336c;background:linear-gradient(180deg,color-mix(in srgb,#d6336c 6%,transparent),transparent)}
.sample-cover img{width:104px;height:auto}
.sample-title{font:800 clamp(34px,5vw,52px)/1.1 'Playfair Display',serif;letter-spacing:.1em;margin:14px 0 6px;background:linear-gradient(90deg,#d6336c,#0c8080);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sample-sub{font-size:16px;font-weight:600}
.sample-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.sample-meta .meta-pill{background:var(--soft,#faf7f4);border:1px solid var(--line,#e8e0d8);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600}
.sample-note{font-size:12px;color:var(--muted,#6b7280);margin-top:12px}
.sample-body{padding:26px 30px 34px}
.sample-body .itin-day{break-inside:avoid}
.sample-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 6px}
.sample-route{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin:16px 0 4px;font-weight:700;font-size:15px}
.sample-route .arrow{color:#d6336c}
body.sample-open{overflow:hidden}
/* dark mode */
[data-theme="dark"] .sample-sheet{background:#141c29 !important}
[data-theme="dark"] .sample-meta .meta-pill{background:#1a2332 !important;border-color:var(--ink) !important;color:#e8edf3}
[data-theme="dark"] .sample-note{color:#a0aec0}
[data-theme="dark"] .sample-sub{color:#f0f4f8}
/* print: clean PDF of the sample */
@media print{
  .sample-modal.open{position:static !important;background:none !important;padding:0 !important;display:block !important;backdrop-filter:none}
  .sample-sheet{max-width:none !important;box-shadow:none !important;border:0 !important;border-radius:0 !important}
  body.sample-open{overflow:visible !important}
  .sample-modal .screen-only{display:none !important}
  .sample-cover{padding-top:6px}
}

/* ===== Mobile drawer readability fix (white text on white drawer bug) ===== */
@media(max-width:1023px){
  .main-nav.open{background:var(--white);box-shadow:0 18px 40px rgba(0,0,0,.18);border-top:1px solid var(--line)}
  .main-nav.open .nav-link{color:var(--ink) !important;text-shadow:none !important;font-size:14px}
  .main-nav.open .nav-link:hover{background:var(--soft) !important;color:var(--pink) !important}
  .main-nav.open .nav-link.active{background:var(--soft) !important;color:var(--pink) !important}
  .main-nav.open .submenu-toggle{color:var(--teal) !important;background:var(--soft);border:1px solid var(--line)}
  .main-nav.open .nav-item.open .dropdown{background:var(--white);border:1px solid var(--line);border-radius:12px;margin:6px 0 10px;box-shadow:none}
  .main-nav.open .dropdown a{color:var(--ink) !important;text-shadow:none !important}
  .main-nav.open .dropdown a:hover{color:var(--pink) !important;background:var(--soft)}
  .main-nav.open .dropdown-group-label{color:var(--pink)}
}


/* ===== Travelers stepper ===== */
.stepper-wrap{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--white);max-width:220px}
.stepper-wrap input{flex:1;border:0;text-align:center;font-size:15px;font-weight:700;color:var(--ink);background:transparent;min-width:0;padding:10px 4px;-moz-appearance:textfield}
.stepper-wrap input::-webkit-outer-spin-button,.stepper-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper-btn{width:44px;min-height:44px;border:0;background:var(--soft);color:var(--pink);font-size:20px;font-weight:800;cursor:pointer;line-height:1}
.stepper-btn:hover{background:var(--pink);color:#fff}
.stepper-btn:active{transform:scale(.94)}

/* ===== Text visibility fixes — light & dark mode (2026-10-11) ===== */
input::placeholder,textarea::placeholder{color:#8a8f98;opacity:1}
select:invalid{color:#8a8f98}
.field label{color:var(--ink);font-weight:700}
.field input,.field select,.field textarea{color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{color:var(--ink)}
.note,.form-status{color:var(--muted)}
.budget-guide strong{color:var(--teal)}
.budget-guide span{color:var(--ink)}
#country-budget-text strong{color:var(--pink)}
.meta{color:var(--pink)}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#8b95a5;opacity:1}
[data-theme="dark"] .field label{color:var(--text)}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{color:var(--text);background:var(--card);border-color:var(--border)}
[data-theme="dark"] .budget-guide{background:#232d3a;border-color:var(--border)}
[data-theme="dark"] .budget-guide strong{color:#8fd1d9}
[data-theme="dark"] .budget-guide span,[data-theme="dark"] #country-budget-text{color:var(--text)}
[data-theme="dark"] .note,[data-theme="dark"] .form-status{color:var(--muted)}
[data-theme="dark"] .price{color:#ff7ab0}
[data-theme="dark"] .meta{color:#ff7ab0}
[data-theme="dark"] .text-link{color:#ff7ab0}
[data-theme="dark"] .fact{background:#211b1e !important;border-color:#47363f}
[data-theme="dark"] .fact strong{color:#f0f4f8 !important}
[data-theme="dark"] .fact small{color:var(--muted) !important}
[data-theme="dark"] .category-card{background:#211b1e !important;border-color:#47363f}
[data-theme="dark"] .category-card h3{color:#f0f4f8 !important}
[data-theme="dark"] .category-card p{color:var(--muted) !important}
[data-theme="dark"] .dropdown-group-label{color:#c9a3e0}
[data-theme="dark"] .selection-note{color:#1a1a1a;background:#e8d5e0}
[data-theme="dark"] .selection-note strong{color:#d6336c}

/* ===== Fix batch 2026-10-11: map button, region colors, region active (Issues 1-3) ===== */
.map-btn{background:var(--pink)!important;color:#fff!important;border-color:var(--pink)!important}
.map-btn:hover{background:var(--pink-d)!important;color:#fff!important;border-color:var(--pink-d)!important}
[data-theme="dark"] .map-btn{background:var(--pink)!important;color:#fff!important;border-color:var(--pink)!important}
/* Region cards: dark gradient overlay (transparent to rgba(0,0,0,0.68)), white text */
.region-card:after{background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.15) 85%,transparent 100%) !important}
.region-card h3{font-family:'Playfair Display',serif;font-weight:700;color:#fff !important;text-shadow:0 2px 8px rgba(0,0,0,.6) !important}
.region-card p,.region-card span{font-family:'Montserrat',sans-serif;color:#fff !important;text-shadow:0 1px 4px rgba(0,0,0,.6) !important}
/* Dark mode: notice bar */
[data-theme="dark"] .selection-note{background:#1B2833 !important;color:#F5F7FA !important;border:1px solid #38434D !important}
[data-theme="dark"] .selection-note strong{color:#F06AA7 !important}
/* Dark mode: navigation */
[data-theme="dark"] .nav-link{color:#F5F7FA !important}
[data-theme="dark"] .nav-link.active{color:#F06AA7 !important}
[data-theme="dark"] .nav-link.active:after{background:#F06AA7 !important}
[data-theme="dark"] .nav-link:hover{background:#293846 !important;color:#F5F7FA !important}
[data-theme="dark"] .dropdown{background:#1B2833 !important;border-color:var(--ink) !important}
[data-theme="dark"] .dropdown a{color:#F5F7FA !important}
[data-theme="dark"] .dropdown a:hover{background:#293846 !important;color:#F06AA7 !important}
/* Dark mode: pink buttons with dark text */
[data-theme="dark"] .btn{background:#F06AA7 !important;color:#111820 !important;border-color:#F06AA7 !important}
[data-theme="dark"] .btn:hover{background:#e0559a !important}
/* Dark mode: region cards - consistent headings, specified gradient */
[data-theme="dark"] .region-card:after{background:linear-gradient(0deg,rgba(15,23,28,.92) 0%,rgba(15,23,28,.65) 55%,rgba(15,23,28,.15) 85%,transparent 100%) !important}
[data-theme="dark"] .region-card{border:1px solid #F06AA7 !important}
[data-theme="dark"] .region-card h3{color:#F5F7FA !important;text-shadow:0 2px 8px rgba(0,0,0,.7) !important}
[data-theme="dark"] .region-card p,[data-theme="dark"] .region-card span{color:#E2E8EE !important;text-shadow:0 1px 4px rgba(0,0,0,.7) !important}
.region-card[data-region="Asia"]{border-top:8px solid #164C56;box-shadow:0 4px 15px rgba(22,76,86,.3)}
.region-card[data-region="Europe"]{border-top:8px solid #8050A3;box-shadow:0 4px 15px rgba(128,80,163,.3)}
.region-card[data-region="Middle East"]{border-top:8px solid #C67B2B;box-shadow:0 4px 15px rgba(198,123,43,.3)}
.region-card[data-region="Africa"]{border-top:8px solid #2D7D4F;box-shadow:0 4px 15px rgba(45,125,79,.3)}
.region-card[data-region="Americas"]{border-top:8px solid #2B6CB0;box-shadow:0 4px 15px rgba(43,108,176,.3)}
.region-card[data-region="Oceania"]{border-top:8px solid #D83F85;box-shadow:0 4px 15px rgba(216,63,133,.3)}
.region-card h3{text-shadow:0 1px 3px rgba(255,255,255,.8) !important}
/* Light mode: region titles in dark region colors */
.region-card p,.region-card span{text-shadow:0 1px 3px rgba(255,255,255,.8) !important;color:#1a1a1a !important}
/* Dark mode: neon colors for region titles */
[data-theme="dark"] .region-card p,[data-theme="dark"] .region-card span{color:#e0e0e0 !important;text-shadow:0 1px 3px rgba(0,0,0,.9) !important}
/* Active region highlight */
.region-card.active{outline:3px solid var(--pink);outline-offset:-3px}
.region-card .region-check{display:none;position:absolute;top:12px;right:12px;z-index:2;width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;font-weight:700;place-items:center;font-size:16px}
.region-card.active .region-check{display:grid}


/* === MASTER PROMPT: Button colors === */
.btn{background:#B82E70 !important;color:#FFFFFF !important;border-color:#B82E70 !important}
.btn:hover{background:#8F2458 !important;border-color:#8F2458 !important}
[data-theme="dark"] .btn{background:#FF8ABB !important;color:#0F171C !important;border-color:#FF8ABB !important}
[data-theme="dark"] .btn:hover{background:#F7A4C8 !important;border-color:#F7A4C8 !important}
.btn-soft{background:#FFFFFF !important;color:#164C56 !important;border:1px solid #164C56 !important}
[data-theme="dark"] .btn-soft{background:#1B2833 !important;color:#F5F7FA !important;border:1px solid #C1CBD4 !important}
/* === MASTER PROMPT: Navigation === */
.site-header{background:#FFFFFF !important}
.nav-link{color:#164C56 !important}
.nav-link.active{color:#B82E70 !important}
.nav-link.active:after{background:#B82E70 !important}
/* V36 fix (item 9): explicit hover ink — the scenic-cover rule above sets pale
   pink #ffd6e7 text on hover, which is invisible on the pale header */
.nav-link:hover{background:#FCE8F1 !important;color:#B82E70 !important}
.dropdown{background:#FFFFFF !important;border-color:#E8E3E6 !important}
.dropdown a{color:var(--ink) !important}
.dropdown a:hover{color:#B82E70 !important;background:#FCE8F1 !important}
[data-theme="dark"] .site-header{background:#1B2833 !important}
[data-theme="dark"] .nav-link{color:#F5F7FA !important}
[data-theme="dark"] .nav-link.active{color:#FF8ABB !important}
[data-theme="dark"] .nav-link.active:after{background:#FF8ABB !important}
[data-theme="dark"] .nav-link:hover{background:#293846 !important;color:#F5F7FA !important}
/* === MASTER PROMPT: Search === */
.search-wrap input{background:#FFFFFF !important;color:var(--ink) !important;border-color:#E8E3E6 !important}
.search-wrap input::placeholder{color:#626B75 !important}
.search-wrap input:focus{border-color:#684087 !important}
[data-theme="dark"] .search-wrap input{background:#1B2833 !important;color:#F5F7FA !important;border-color:var(--ink) !important}
[data-theme="dark"] .search-wrap input::placeholder{color:#B8C4CE !important}
[data-theme="dark"] .search-wrap input:focus{border-color:#C7A8F2 !important}
/* === MASTER PROMPT: Notices === */
.notice-bar{background:#F0E8F7 !important;color:var(--ink) !important}
.notice-bar strong{color:#684087 !important}
[data-theme="dark"] .notice-bar{background:#1B2833 !important;color:#F5F7FA !important;border-color:var(--ink) !important}
[data-theme="dark"] .notice-bar strong{color:#FF8ABB !important}
/* === MASTER PROMPT: Footer === */
.site-footer{background:#164C56 !important;color:#FFFFFF !important}
.site-footer a{color:#FFB5D4 !important}
[data-theme="dark"] .site-footer{background:#0B1217 !important;color:#F5F7FA !important}
[data-theme="dark"] .site-footer a{color:#FF8ABB !important}
/* === MASTER PROMPT: Form inputs === */
.field input,.field select,.field textarea{background:#FFFFFF !important;color:var(--ink) !important;border-color:#E8E3E6 !important}
.field input::placeholder,.field textarea::placeholder{color:#626B75 !important}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{background:#1B2833 !important;color:#F5F7FA !important;border-color:var(--ink) !important}
[data-theme="dark"] .field input::placeholder,[data-theme="dark"] .field textarea::placeholder{color:#B8C4CE !important}
.field label{color:var(--ink) !important}
[data-theme="dark"] .field label{color:#F5F7FA !important}


/* === REGION CARDS: DISTINCT VISIBLE COLORS === */
.region-card{border-top:6px solid transparent !important}
.region-card[data-region="Asia"]{border-top-color:#0E7C86 !important}
.region-card[data-region="Europe"]{border-top-color:#7B4FA6 !important}
.region-card[data-region="Middle East"]{border-top-color:#D97A2B !important}
.region-card[data-region="Africa"]{border-top-color:#2E8B57 !important}
.region-card[data-region="Americas"]{border-top-color:#2B6CB0 !important}
.region-card[data-region="Oceania"]{border-top-color:#E63946 !important}
/* Colored region badge */
.region-card .region-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;color:#fff !important;margin-bottom:8px}
.region-card[data-region="Asia"] .region-badge{background:#0E7C86 !important}
.region-card[data-region="Europe"] .region-badge{background:#7B4FA6 !important}
.region-card[data-region="Middle East"] .region-badge{background:#D97A2B !important}
.region-card[data-region="Africa"] .region-badge{background:#2E8B57 !important}
.region-card[data-region="Americas"] .region-badge{background:#2B6CB0 !important}
.region-card[data-region="Oceania"] .region-badge{background:#D83F85 !important}
/* Dark mode: brighter versions for visibility */
[data-theme="dark"] .region-card[data-region="Asia"]{border-top-color:#2AA8B5 !important}
[data-theme="dark"] .region-card[data-region="Europe"]{border-top-color:#9B6BD3 !important}
[data-theme="dark"] .region-card[data-region="Middle East"]{border-top-color:#F09A4A !important}
[data-theme="dark"] .region-card[data-region="Africa"]{border-top-color:#4CAF7D !important}
[data-theme="dark"] .region-card[data-region="Americas"]{border-top-color:#4A9DE0 !important}
[data-theme="dark"] .region-card[data-region="Oceania"]{border-top-color:#FF6B6B !important}
[data-theme="dark"] .region-card[data-region="Asia"] .region-badge{background:#2AA8B5 !important}
[data-theme="dark"] .region-card[data-region="Europe"] .region-badge{background:#9B6BD3 !important}
[data-theme="dark"] .region-card[data-region="Middle East"] .region-badge{background:#F09A4A !important}
[data-theme="dark"] .region-card[data-region="Africa"] .region-badge{background:#4CAF7D !important}
[data-theme="dark"] .region-card[data-region="Americas"] .region-badge{background:#4A9DE0 !important}
[data-theme="dark"] .region-card[data-region="Oceania"] .region-badge{background:#F06AA7 !important}


/* === REGION CARD TEXT VISIBILITY === */
.region-card h3{color:#fff !important;text-shadow:0 2px 8px rgba(0,0,0,.6) !important}
.region-card p{color:#fff !important;text-shadow:0 1px 6px rgba(0,0,0,.6) !important}
.region-card span{color:#fff !important;text-shadow:0 1px 6px rgba(0,0,0,.6) !important}
[data-theme="dark"] .region-card h3{color:#fff !important}
[data-theme="dark"] .region-card p{color:#f0f0f0 !important}
[data-theme="dark"] .region-card span{color:#f0f0f0 !important}


/* Fix header CTA wrap */
.site-header .btn{white-space:nowrap !important}


/* ===== PERMANENT REGION CARD FIX - DO NOT ADD MORE RULES BELOW THIS ===== */
.region-card,
.region-card h3,
.region-card p,
.region-card span,
.region-card .meta,
.region-card .region-badge,
.region-card .count{
  color:#ffffff !important;
  text-shadow:0 2px 8px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,0.9) !important;
}
.region-card:after{
  background:linear-gradient(0deg, rgba(5,20,25,0.95) 0%, rgba(5,20,25,0.7) 40%, rgba(5,20,25,0.15) 100%) !important;
}
[data-theme="dark"] .region-card,
[data-theme="dark"] .region-card h3,
[data-theme="dark"] .region-card p,
[data-theme="dark"] .region-card span,
[data-theme="dark"] .region-card .meta,
[data-theme="dark"] .region-card .region-badge,
[data-theme="dark"] .region-card .count{
  color:#ffffff !important;
  text-shadow:0 2px 8px rgba(0,0,0,0.9), 0 1px 3px rgba(0,0,0,1) !important;
}


/* Explore search Up/Down navigation */
.country-nav-btns{display:flex;gap:10px;justify-content:center;margin:15px 0;}
.country-nav-btns button{padding:10px 20px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);cursor:pointer;font-size:14px;}
.country-nav-btns button:hover{background:var(--pink);color:#fff;border-color:var(--pink);}
.country-card.keyboard-focus{outline:3px solid var(--pink);outline-offset:2px;}


/* COMPREHENSIVE DARK MODE FIX - All headers and text visible */
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6{color:#f8eff3 !important}
[data-theme="dark"] .section-title,[data-theme="dark"] .section-head h2{color:#f8eff3 !important}
[data-theme="dark"] .card h3,[data-theme="dark"] .card h4{color:#f8eff3 !important}
[data-theme="dark"] .country-card h3,[data-theme="dark"] .dest-card h3{color:#f8eff3 !important}
[data-theme="dark"] .service-card h3,[data-theme="dark"] .price-plan h3{color:#f8eff3 !important}
[data-theme="dark"] p,[data-theme="dark"] span,[data-theme="dark"] div{color:inherit}
[data-theme="dark"] .fact strong{color:#f8eff3 !important}
[data-theme="dark"] label{color:#f8eff3 !important}
[data-theme="dark"] .form-label{color:#f8eff3 !important}

/* FIX: Home hero text visible in dark mode */
[data-theme="dark"] .hero h1,[data-theme="dark"] .hero p,[data-theme="dark"] .hero .kicker{color:#fff !important;text-shadow:0 2px 18px rgba(0,0,0,.5)}

/* FIX: Form info banners visible in dark mode */
[data-theme="dark"] .info-banner,[data-theme="dark"] .form-info{background:var(--soft) !important;color:var(--ink) !important}
[data-theme="dark"] .info-banner p,[data-theme="dark"] .form-info p{color:var(--ink) !important}

/* FIX: Region-specific hero backgrounds */
#view-explore\/asia .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/japan.jpg') !important}
#view-explore\/europe .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/france.jpg') !important}
#view-explore\/middle-east .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/united-arab-emirates.jpg') !important}
#view-explore\/africa .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/morocco.jpg') !important}
#view-explore\/americas .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/united-states.jpg') !important}
#view-explore\/oceania .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/australia.jpg') !important}

/* FIX: Pricing cards visible in dark mode */
[data-theme="dark"] .price-plan h3,[data-theme="dark"] .package h3{color:#f8eff3 !important}
[data-theme="dark"] .price-plan .price,[data-theme="dark"] .package .price{color:#ffbbd5 !important}
[data-theme="dark"] .price-plan p,[data-theme="dark"] .package p{color:#e8edf3 !important}
[data-theme="dark"] .price-plan li,[data-theme="dark"] .package li{color:#e8edf3 !important}


/* Style block 2 */
.cp-item{display:block;width:100%;text-align:left;padding:12px;border:none;background:none;cursor:pointer;color:var(--ink);border-bottom:1px solid var(--line);font-size:14px}.cp-item:hover{background:var(--soft)}.cp-item small{color:var(--muted)}.cp-empty{padding:20px;text-align:center;color:var(--muted)}
/* COMPREHENSIVE DARK MODE FIX - All headers and text visible */
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6{color:#f8eff3 !important}
[data-theme="dark"] .section-title,[data-theme="dark"] .section-head h2{color:#f8eff3 !important}
[data-theme="dark"] .card h3,[data-theme="dark"] .card h4{color:#f8eff3 !important}
[data-theme="dark"] .country-card h3,[data-theme="dark"] .dest-card h3{color:#f8eff3 !important}
[data-theme="dark"] .service-card h3,[data-theme="dark"] .price-plan h3{color:#f8eff3 !important}
[data-theme="dark"] p,[data-theme="dark"] span,[data-theme="dark"] div{color:inherit}
[data-theme="dark"] .fact strong{color:#f8eff3 !important}
[data-theme="dark"] label{color:#f8eff3 !important}
[data-theme="dark"] .form-label{color:#f8eff3 !important}

/* FIX: Home hero text visible in dark mode */
[data-theme="dark"] .hero h1,[data-theme="dark"] .hero p,[data-theme="dark"] .hero .kicker{color:#fff !important;text-shadow:0 2px 18px rgba(0,0,0,.5)}

/* FIX: Form info banners visible in dark mode */
[data-theme="dark"] .info-banner,[data-theme="dark"] .form-info{background:var(--soft) !important;color:var(--ink) !important}
[data-theme="dark"] .info-banner p,[data-theme="dark"] .form-info p{color:var(--ink) !important}

/* FIX: Region-specific hero backgrounds */
#view-explore\/asia .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/japan.jpg') !important}
#view-explore\/europe .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/france.jpg') !important}
#view-explore\/middle-east .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/united-arab-emirates.jpg') !important}
#view-explore\/africa .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/morocco.jpg') !important}
#view-explore\/americas .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/united-states.jpg') !important}
#view-explore\/oceania .page-hero{background-image:linear-gradient(90deg,rgba(10,48,56,.92),rgba(10,48,56,.48)),url('../assets/images/australia.jpg') !important}

/* FIX: Pricing cards visible in dark mode */
[data-theme="dark"] .price-plan h3,[data-theme="dark"] .package h3{color:#f8eff3 !important}
[data-theme="dark"] .price-plan .price,[data-theme="dark"] .package .price{color:#ffbbd5 !important}
[data-theme="dark"] .price-plan p,[data-theme="dark"] .package p{color:#e8edf3 !important}
[data-theme="dark"] .price-plan li,[data-theme="dark"] .package li{color:#e8edf3 !important}



/* ============================================
   COMPREHENSIVE COLOR FIX - Dark/Light Mode
   Ensures ALL text visible in BOTH modes
   ============================================ */

/* Light mode defaults - ensure dark text on light bg */
h1,h2,h3,h4,h5,h6{color:var(--ink)}
p{color:var(--ink)}
.card h3,.card p{color:var(--ink)}
.country-card h3,.country-card p{color:var(--ink)}
.price-plan h3,.price-plan p,.price-plan li{color:var(--ink)}
.price-plan .price{color:var(--pink)}

/* Dark mode - ensure light text on dark bg */
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6{color:#f8eff3 !important}
[data-theme="dark"] p{color:#e8edf3 !important}
[data-theme="dark"] .card{background:var(--white)}
[data-theme="dark"] .card h3,[data-theme="dark"] .card p{color:#f8eff3 !important}
[data-theme="dark"] .country-card h3{color:#f8eff3 !important}
[data-theme="dark"] .country-card p{color:#d5d0d5 !important}
[data-theme="dark"] .price-plan{background:var(--white)}
[data-theme="dark"] .price-plan h3{color:#f8eff3 !important}
[data-theme="dark"] .price-plan p,[data-theme="dark"] .price-plan li{color:#e8edf3 !important}
[data-theme="dark"] .price-plan .price{color:#ffbbd5 !important}
[data-theme="dark"] .package h3{color:#f8eff3 !important}
[data-theme="dark"] .package p{color:#e8edf3 !important}
[data-theme="dark"] label{color:#f8eff3 !important}
[data-theme="dark"] .fact strong{color:#f8eff3 !important}
[data-theme="dark"] .fact small{color:var(--muted) !important}

/* Hero - always white text */
.hero h1,.hero p,.hero .kicker{color:#fff !important}
[data-theme="dark"] .hero h1,[data-theme="dark"] .hero p{color:#fff !important;text-shadow:0 2px 18px rgba(0,0,0,.5)}

/* Forms */
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:var(--white);color:var(--ink);border-color:var(--line)}

/* FIX: Footer always at bottom */
.site-footer{order:999 !important}
main, .views-container{display:flex;flex-direction:column}
.view.active{order:1}

/* FIX: Low issues */
/* 1. Header logo overflow */
.logo-link img{max-width:100%;height:auto;object-fit:contain}
.header-row{overflow:hidden}

/* 2. Theme toggle icon */
.theme-toggle img,.icon-btn img{width:20px;height:20px;object-fit:contain}

/* 3. Footer social icons */
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--soft);color:var(--ink);text-decoration:none;font-weight:700}

/* FIX: Logo size constraint - prevent huge logo */
.logo-link img{max-width:82px !important;max-height:82px !important;width:82px !important;height:82px !important;object-fit:contain !important}
@media(max-width:900px){
.logo-link img{max-width:76px !important;max-height:76px !important;width:76px !important;height:76px !important}
}

/* Quick card icons */
.qc-icon{display:block;font-size:28px;margin-bottom:8px;line-height:1}
.quick-card span.qc-icon{width:auto;height:auto;background:none;margin:0 auto 8px}

/* Explore dropdown with countries */
.dropdown-divider{padding:8px 14px 4px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);margin-top:6px}
.dropdown-items{max-height:320px;overflow-y:auto}

/* Dropdown visibility fix - ensure dropdowns show above all content */
.site-header{z-index:1000 !important}
.nav-item{position:relative;z-index:1001}
.dropdown{z-index:1002 !important}

/* PDF UI/UX Fixes Code - Added per user request */
.navbar, .nav-menu { position: relative; z-index: 9999 !important; }
.dropdown-menu { position: absolute; z-index: 10000 !important; }
.featured-destinations p, .search-description-text { color: #ffffff !important; }
.hero-text-section { background-color: rgba(0, 0, 0, 0.4); padding: 10px 20px; border-radius: 8px; }
.trip-planning-card, .pricing-box { border: 2px solid #7B2CBF; border-radius: 12px; box-shadow: 0 4px 15px rgba(123, 44, 191, 0.1); transition: all 0.3s ease; }
.trip-planning-card:hover, .pricing-box:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(123, 44, 191, 0.2); }

/* Hero light mode - force dark text (works with data-theme=light, auto, or unset) */
html:not([data-theme="dark"]) .hero .kicker{color:#B82E70 !important}
html:not([data-theme="dark"]) .hero h1{color:#164C56 !important}
html:not([data-theme="dark"]) .hero p{color:#30343B !important}

/* Dropdown stacking fix - header above hero */
.site-header{position:sticky !important;z-index:9999 !important}
.main-nav{z-index:10000 !important;position:relative}
.nav-item{position:relative !important;z-index:10001 !important}
.dropdown{position:absolute !important;z-index:10002 !important}
.hero{z-index:1 !important}

/* ===== COMPREHENSIVE READABILITY FIXES - 2026-10-13 Audit ===== */

/* ISSUE 1 & 4: Hero text invisible in BOTH modes (white on light cream) */
/* Hero keeps light cream bg in both modes, so text must be DARK in both */
.hero .kicker{color:#B82E70 !important}
.hero h1{color:#164C56 !important}
.hero p{color:#30343B !important}
[data-theme="dark"] .hero .kicker{color:#B82E70 !important}
[data-theme="dark"] .hero h1{color:#164C56 !important}
[data-theme="dark"] .hero p{color:#30343B !important}

/* ISSUE 2: Light mode - Travel Services cards (dark teal/purple bg, dark text invisible) */
.service-banner p{color:#fff !important}
.service-banner.alt p{color:#fff !important}

/* ISSUE 3: Light mode - My Journey teal card (dark text on dark teal) */
.featured-story .featured-copy p{color:#fff !important}
.featured-story .featured-copy{color:#fff !important}

/* ISSUE 5: Dark mode - Travel Services step cards (white cards, white text) */
[data-theme="dark"] .step{background:#1a2332 !important}
[data-theme="dark"] .step h3,[data-theme="dark"] .step h4{color:#f0f4f8 !important}
[data-theme="dark"] .step p{color:#c8d4e0 !important}

/* ISSUE 6: Dark mode - Pricing calculator and price-detail cards (white on white) */
[data-theme="dark"] .calculator{background:#1a2332 !important}
[data-theme="dark"] .calculator h3,[data-theme="dark"] .calculator label{color:#f0f4f8 !important}
[data-theme="dark"] .calculator p,[data-theme="dark"] .calculator span{color:#c8d4e0 !important}

/* ISSUE 7: Dark mode - Contact follow card (pale text on white) */
[data-theme="dark"] .contact-info-card{background:#1a2332 !important}
[data-theme="dark"] .contact-info-card{color:#f0f4f8 !important}
[data-theme="dark"] .contact-info-card .note{color:#c8d4e0 !important}

/* ISSUE 8: Dropdown cut off in both modes */
.site-header{position:sticky !important;z-index:9999 !important}
.main-nav{position:relative !important;z-index:10000 !important}
.nav-item{position:relative !important;z-index:10001 !important}
.dropdown{position:absolute !important;z-index:10002 !important;top:100% !important}
.hero,.page-hero,.view{z-index:1 !important;position:relative}

/* ===== COMPLETE 13-ISSUE FIX - 2026-10-13 A-Z Audit ===== */

/* L1+D1: Hero - white on cream in BOTH modes */
.hero .kicker{color:#B82E70 !important}
.hero h1{color:#164C56 !important}
.hero p{color:#30343B !important}
[data-theme="dark"] .hero .kicker{color:#FF6BA8 !important}
[data-theme="dark"] .hero h1{color:#E8F4F6 !important}
[data-theme="dark"] .hero p{color:#C8D4E0 !important}
[data-theme="dark"] .hero{background:linear-gradient(135deg,#0B3038,#164C56) !important}

/* L2: Service banners - dark text on dark bg (light mode) */
.service-banner p{color:#fff !important}
.service-banner.alt p{color:#fff !important}

/* L3: Pricing preview cards - dark text on dark teal (light mode) */
.pricing-preview .package:not(.featured) h3{color:#fff !important}
.pricing-preview .package:not(.featured) p{color:#D5E5E8 !important}
.pricing-preview .package:not(.featured) ul{color:#fff !important}
.pricing-preview .package:not(.featured) .price{color:#FF9AC4 !important}

/* L4+D2: Explore dropdown - invisible panel */
.dropdown{opacity:1 !important;visibility:visible !important;transform:none !important}
.dropdown a{color:#30343B !important}
[data-theme="dark"] .dropdown a{color:#E8F4F6 !important}

/* L5: Journey card - dark text on dark teal (light mode) */
.featured-story .featured-copy p{color:#fff !important}
.featured-story .featured-copy{color:#fff !important}

/* L6+D7: Itinerary day headers - dark on dark gradient */
.itinerary-day-header{background:#164C56 !important;color:#fff !important}
.itinerary-day-header h3{color:#fff !important}
.itinerary-day-header p{color:#D5E5E8 !important}

/* D3: Pricing calculator - white on white (dark mode) */
[data-theme="dark"] .calculator{background:#1A2332 !important}
[data-theme="dark"] .calculator h3{color:#F0F4F8 !important}
[data-theme="dark"] .calculator label{color:#F0F4F8 !important}
[data-theme="dark"] .calculator p{color:#C8D4E0 !important}
[data-theme="dark"] .calculator .note{color:#C8D4E0 !important}

/* D4: Pricing detail cards - white on white (dark mode) */
[data-theme="dark"] .price-detail-card{background:#1A2332 !important}
[data-theme="dark"] .price-detail-card h3{color:#F0F4F8 !important}
[data-theme="dark"] .price-detail-card p{color:#C8D4E0 !important}

/* D5: Contact itinerary form - white on white (dark mode) */
[data-theme="dark"] .itinerary-notice{color:#F0F4F8 !important}
[data-theme="dark"] .city-pill{background:#2A3444 !important;color:#F0F4F8 !important;border-color:#4A5568 !important}
[data-theme="dark"] .days-label{color:#F0F4F8 !important}

/* D6: Itinerary output header - white on white (dark mode) */
[data-theme="dark"] .itinerary-header h2{color:#F0F4F8 !important}
[data-theme="dark"] .itinerary-header .city-header{color:#F0F4F8 !important}
[data-theme="dark"] .itinerary-header p{color:#C8D4E0 !important}

/* Dropdown positioning - ensure it appears above content */
.site-header{z-index:9999 !important}
.main-nav{z-index:10000 !important;position:relative}
.nav-item{position:relative;z-index:10001}
.dropdown{z-index:10002 !important}


/* ===== FINAL FIXES 2026-10-13 (A-Z audit) ===== */
/* 1. Dropdown clipping: header ancestors must not clip the panel */
.site-header, .header-row { overflow: visible !important; }
@media (min-width: 1024px) {
  .main-nav { overflow: visible !important; }
  .nav-item .dropdown { position: absolute !important; top: calc(100% + 8px) !important; }
  /* FIX6 #31: invisible hover-bridge over the 8px gap (arrow zone). On .nav-item (NOT .dropdown — the dropdown has overflow:auto which clips an outside child). While hovered or .open, the 8px strip below the nav-item stays a painted descendant of .nav-item/#main-nav, so moving the pointer down into the panel never triggers the #main-nav mouseleave closer and :hover never drops. */
  .nav-item:hover::after,.nav-item.open::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}
}
/* 2. Itinerary day headers: white text on the teal-purple gradient (both modes) */
.itin-day-head h4, .itin-day-head .itin-day-city { color: #FFFFFF !important; }
/* 3. Dark mode: pricing + about offer cards */
[data-theme="dark"] .offer { background: #1A2332 !important; }
[data-theme="dark"] .offer p, [data-theme="dark"] .offer li { color: #C8D4E0 !important; }
/* 4. Dark mode: contact itinerary notice + city pills */
[data-theme="dark"] .form-honesty { background: #1A2332 !important; color: #DCE6F2 !important; }
[data-theme="dark"] .form-honesty.itin-note { background: #1A2332 !important; border-color: #2E4258 !important; color: #DCE6F2 !important; }
[data-theme="dark"] .city-check { color: #E8EDF3 !important; }
[data-theme="dark"] .city-check * { color: #E8EDF3 !important; }
/* 5. Dark mode: itinerary output header + city blocks */
[data-theme="dark"] .itin-head { background: #1A2332 !important; padding: 16px 18px; border-radius: 14px; }
[data-theme="dark"] .itin-city { background: #141C29 !important; border-radius: 14px; padding: 14px; }
[data-theme="dark"] .itin-city-head p { color: #B9C9DA !important; }
/* 6. Global back-to-top button */
#toTop { position: fixed; right: 18px; bottom: 18px; z-index: 4000; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #D6336C; color: #FFFFFF; font-size: 20px; line-height: 1; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.25); display: none; }/* V55 FIX6 #3: below the open Fairy panel (z 5000) — never paints over it */
/* V39.2 F10: the site-wide Fairy capsule sits at bottom-right — stack the
   back-to-top button above it so the two never overlap. */
#toTop { bottom: 92px; }
#toTop.show { display: block; }
@media print { #toTop { display: none !important; } }

/* ===== V3 FIXES 2026-10-13 (audit round 2) ===== */
/* Attractive colour header (replaces the photo strip behind the nav) */
.site-header{background-image:linear-gradient(100deg,#FFF9F4 0%,#FCE8F1 55%,#EFE6F7 100%)!important;background-color:#FFF6EF!important}
[data-theme="dark"] .site-header{background-image:linear-gradient(100deg,#0E1622 0%,#1D1226 60%,#2A1530 100%)!important;background-color:#0E1622!important}
/* Hero poster panel slightly wider so the poster's edges are not cropped */
.hero:after{left:46%!important}
/* Dark-mode city pills: dark pill + readable text on every theme path */
[data-theme="dark"] .city-check,[data-theme="dark"] .chip{background:#1A2332!important;border-color:#41506A!important;color:#E8EDF3!important}
[data-theme="dark"] .city-check span,[data-theme="dark"] .chip span{color:#E8EDF3!important}
[data-theme="dark"] .city-check:has(input:checked){background:#4A1E3C!important;color:#FFFFFF!important}
[data-theme="dark"] .city-check:has(input:checked) span{color:#FFFFFF!important}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) .city-check,:root:not([data-theme="light"]) .chip{background:#1A2332!important;border-color:#41506A!important;color:#E8EDF3!important}
:root:not([data-theme="light"]) .city-check span,:root:not([data-theme="light"]) .chip span{color:#E8EDF3!important}
}

/* ===== V4 FIXES 2026-10-13 (audit round 3) ===== */
/* Dark-mode city pills — strongest form, both theme paths */
html[data-theme="dark"] body .city-check,html[data-theme="dark"] body .chip{background:#1A2332!important;border-color:#41506A!important;color:#E8EDF3!important}
html[data-theme="dark"] body .city-check span,html[data-theme="dark"] body .chip span{color:#E8EDF3!important}
html[data-theme="dark"] body .city-check:has(input:checked){background:#4A1E3C!important;color:#FFFFFF!important}
html[data-theme="dark"] body .city-check:has(input:checked) span{color:#FFFFFF!important}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) body .city-check,:root:not([data-theme="light"]) body .chip{background:#1A2332!important;border-color:#41506A!important;color:#E8EDF3!important}
:root:not([data-theme="light"]) body .city-check span,:root:not([data-theme="light"]) body .chip span{color:#E8EDF3!important}
}

/* V4: the forms' city pills (inline-styled labels) in dark mode */
html[data-theme="dark"] body .th-city-pill{background:#1A2332!important;color:#E8EDF3!important;border-color:#41506A!important}
html[data-theme="dark"] body .th-city-pill:has(input:checked){background:#4A1E3C!important;color:#FFFFFF!important}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) body .th-city-pill{background:#1A2332!important;color:#E8EDF3!important;border-color:#41506A!important}
:root:not([data-theme="light"]) body .th-city-pill:has(input:checked){background:#4A1E3C!important;color:#FFFFFF!important}
}

#country-heading,#journey-selection,#journal-selection,#about-brand,#about-countries,#about-story,#about-traveler,#pricing-consultation,#pricing-itinerary,#pricing-packages,#pricing-visa,#service-trip{scroll-margin-top:176px}

.region-card[data-region="Oceania"] img{object-position:50% 65%}

.itin-head{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.itin-head .itin-logo{width:60px;height:auto;margin:0 auto}
.itin-head h3{margin:0;text-align:center}
.itin-head .itin-actions{justify-content:center;margin-top:2px}
.food-checks{display:flex;flex-wrap:wrap;gap:2px}

/* ===== V19 MOBILE NAV FIX (2026-10-14) =====
   Root cause: the late global patch blocks above force
   .main-nav{position:relative !important} and .dropdown{position:absolute !important}
   at EVERY width, which kills the mobile rules (fixed full-width panel +
   in-flow dropdown). On phones the menu collapsed into a squeezed strip inside
   the header row and an opened dropdown floated over the rows below it,
   pushing the page sideways. The rules below are scoped to <=1023px only;
   desktop (>=1024px) is untouched. Panel top = nav-cover height + 88px header
   row at each breakpoint (cover: 76/66/58/54px). */
@media (max-width:1023px){
  .main-nav{position:fixed !important;top:164px !important;left:0 !important;right:0 !important;bottom:0 !important}
  .main-nav .dropdown{position:static !important;top:auto !important;left:auto !important}
}
@media (max-width:900px){
  .main-nav{top:154px !important}
}
@media (max-width:700px){
  .main-nav{top:146px !important}
}
@media (max-width:430px){
  .main-nav{top:142px !important}
}

/* ===== V20 FIXES (2026-10-14): mobile hero poster full width; dark-mode
   header buttons visible; long activities box keeps text inside ===== */
@media(max-width:700px){.hero:after{left:0 !important}}
[data-theme="dark"] .menu-btn,[data-theme="dark"] .icon-btn{background:var(--white);color:var(--ink);border-color:var(--line)}
.itin-meta .meta-pill.meta-acts{border-radius:14px;padding:10px 14px;line-height:1.55}

/* ===== V23: dark-mode active contact tab (white on light-pink was 2.19:1) ===== */
:root[data-theme="dark"] .contact-tab.active{background:#D6336C;border-color:#D6336C;color:#FFFFFF}

/* ===== V23: desktop header overflow (flex min-content exceeded the row at 1024-1104 and 1261-1440) ===== */
@media(min-width:1261px) and (max-width:1440px){
  .header-row{gap:7px;padding:0 12px}
  .logo-link{width:152px;flex-basis:152px}
  .logo-link img{width:148px;height:78px}
  .main-nav{gap:1px}
  .nav-link{padding:0 6px;font-size:13px}
  .submenu-toggle{width:18px;margin-left:-7px}
  .header-actions .btn{padding:0 12px;font-size:11px}
  .icon-btn{width:38px;height:38px}
}
@media(min-width:1024px) and (max-width:1104px){
  .header-row{gap:4px;padding:0 8px}
  .logo-link{width:116px;flex-basis:116px}
  .logo-link img{width:112px;height:59px}
  .main-nav{gap:0}
  .nav-link{padding:0 3px;font-size:12.5px}
  .submenu-toggle{width:14px;margin-left:-9px}
  .header-actions{gap:5px}
  .header-actions .btn{padding:0 9px;font-size:10.5px}
  .icon-btn{width:34px;height:34px}
}

/* ===== V25: phone country-code selector ===== */
.th-phone{position:relative;display:flex;gap:8px;align-items:stretch}
.th-phone>input[name="phone"]{flex:1;min-width:0}
.th-cc-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);cursor:pointer;font-size:14px;white-space:nowrap}
.th-cc-btn:hover{border-color:var(--pink,#d6336c)}
.th-cc-panel{position:absolute;top:calc(100% + 6px);left:0;width:min(330px,92vw);max-height:300px;overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(20,10,30,.22);z-index:80;padding:8px}
.th-cc-search{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:14px;margin-bottom:6px}
.th-cc-list{display:flex;flex-direction:column}
.th-cc-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:0;border-radius:8px;background:none;color:var(--ink);cursor:pointer;font-size:14px;text-align:left}
.th-cc-item:hover{background:var(--soft)}
.th-cc-flag{font-size:17px;line-height:1}
.th-cc-name{flex:1}
.th-cc-dial{color:var(--muted);font-size:13px}

/* HERO POSTER NO-CROP (2026-10-15, owner's order): on mobile the poster zone
   was fixed at 310px tall, so the 3:2 poster was side-cropped by cover-fit.
   Zone now keeps the poster's own 3:2 ratio at full width: nothing is cut. */
@media(max-width:700px){
  .hero{padding-bottom:66.666vw!important}
  .hero:after{height:auto!important;aspect-ratio:3/2}
  .quick-services{margin-top:10px!important}
}

/* V28 (2026-10-15): mobile loads the lighter 1080px hero variant (152KB vs 274KB); desktop keeps the full poster */
@media(max-width:700px){.hero:after{background-image:url('../assets/images/hero-v28-m.webp')!important}.site-header{background-image:linear-gradient(100deg,#FFF9F4 0%,#FCE8F1 55%,#EFE6F7 100%)!important}[data-theme="dark"] .site-header{background-image:linear-gradient(100deg,#0E1622 0%,#1D1226 60%,#2A1530 100%)!important}}
/* FIX6-D26 (2026-10-18): mobile header no longer paints the hero poster (its baked-in
   "Travel Hermosa" script showed cropped as "Travel Her…" behind the logo/theme/
   hamburger buttons, doubling the nav-cover branding). Header now uses the same clean
   theme gradient as desktop; the poster art lives only in the hero zone (full 3:2, uncut). */

/* ===== V33 provinces layer (theme-safe: only var() colors) ===== */
.province{margin:0 0 28px}
.prov-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:4px}
.prov-head h3{margin:0;font-size:20px}
.prov-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--pink);color:#fff;border:1px solid var(--pink)}
.prov-cap,.prov-count{font-size:13px;color:var(--muted)}
.prov-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.pchip{font-size:12px}
.province-map-panel{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:16px;margin:0 0 22px;box-shadow:var(--shadow)}
.pmap-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pmap-head strong{font-size:16px}
.pmap-label{font-size:13px;color:var(--muted)}
.pmap-actions{display:flex;flex-wrap:wrap;gap:10px}
.pmap-frame{margin-top:12px}
.pmap-frame iframe{width:100%;height:380px;border:0;border-radius:12px;display:block;background:var(--soft)}
.city-card.prov-soon{border-style:dashed}
@media(max-width:640px){.pmap-frame iframe{height:300px}.prov-head h3{font-size:18px}}

/* V36 province view */
.capital-badge{display:inline-block;background:var(--gold,#c9a227);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;margin-right:6px}
.cap-culture{font-style:italic}
.prov-explore{margin-left:auto}
@media(max-width:640px){.prov-explore{margin-left:0}}

/* ===== V36 compact province index (owner 2026-10-16 18:22) — cards with famous
   places; no nested grids, so cards can never crush. Theme-safe: var() only. */
#country-cities.prov-index{display:block}
.prov-map-full{margin:0 0 8px}
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:26px 0}
.prov-card{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.prov-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(64,35,48,.13)}
.prov-card .card-body{padding:20px}
.prov-card h3{font:700 22px/1.2 'Playfair Display',serif;margin:10px 0 6px}
.prov-card .prov-line{font-size:13px;color:var(--muted);margin:4px 0}
.prov-card .prov-famous{font-size:13px;color:var(--ink);font-weight:600;margin:8px 0 0}
.prov-card .prov-explore{margin-top:10px}
.prov-other{margin:6px 0 26px}
.prov-other h4{font:700 20px 'Playfair Display',serif;margin:0 0 12px}
.prov-other-list{display:flex;flex-wrap:wrap;gap:8px}
.city-famous{font-size:12.5px;color:var(--ink);font-weight:600;margin:6px 0}
/* V36: map panel header must never overlap its buttons (province view audit) */
.pmap-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:10px}

/* ===== V36 compact city picker (owner 2026-10-16 18:18) — provinces live only
   inside the search/dropdown panel; nothing pre-selected, nothing locked. */
.th-picker{position:relative;margin-bottom:4px}
.th-picker-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;text-align:left}
.th-picker-btn:hover{border-color:var(--pink)}
.th-picker-label{flex:1}
.th-picker-count{font-size:12px;color:var(--muted);font-weight:400;white-space:nowrap}
.th-picker-chev{color:var(--muted);font-size:11px}
.th-picker-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10000;max-height:min(340px,72vh);display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 45px rgba(70,35,55,.16);overflow:hidden}/* V55 FIX6 #21: popup opens ABOVE the sticky header (z 9999) so its search input is never covered. NOTE: header and #country-picker-modal share z 9999, so a picker ≥10000 is unavoidably at/above the modal's level — acceptable because the two never open in the same flow (modal closes the panel via outside-click). */
.th-picker-panel[hidden]{display:none}
.th-picker-searchwrap{padding:8px;border-bottom:1px solid var(--line);flex:none}
.th-picker-search{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:13px}
.th-picker-list{overflow-y:auto;flex:1;min-height:0}
.th-picker-foot{padding:8px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);flex:none;position:sticky;bottom:0;background:var(--white);z-index:3}
/* V51 (owner 2026-10-18): ticket date/time/flight-number fields are locked —
   they fill ONLY automatically from an uploaded ticket. Manual typing disabled. */
.th-ticket-locked{background:var(--soft)!important;color:var(--muted);cursor:not-allowed}
.th-ticket-locked-wrap select{background:var(--soft)!important;color:var(--muted);cursor:not-allowed}
.th-prov-row{border-bottom:1px solid var(--line)}
.th-prov-row:last-child{border-bottom:0}
.th-prov-head{display:flex;align-items:center;gap:8px;width:100%;padding:11px 12px;border:0;background:none;color:var(--ink);font-size:13px;cursor:pointer;text-align:left}
.th-prov-head:hover{background:var(--soft)}
.th-prov-name{flex:1;font-weight:600}
.th-prov-n{font-size:12px;color:var(--muted);white-space:nowrap}
.th-prov-none{font-style:italic}
.th-prov-check{font-size:11px;font-weight:700;color:#fff;background:var(--pink);border-radius:99px;padding:2px 8px;white-space:nowrap}
.th-prov-check[hidden]{display:none}
.th-prov-chev{color:var(--muted);font-size:11px;transition:transform .15s}
.th-prov-head[aria-expanded="true"] .th-prov-chev{transform:rotate(180deg)}
.th-prov-cities{background:var(--soft)}
.th-prov-cities[hidden]{display:none}

/* ===== V36 form compaction (owner 2026-10-16 18:59): tighter vertical rhythm so
   the itinerary + custom-trip forms read as one short, clean flow.
   SPACING/PADDING ONLY — no field, option or locked behavior removed or changed. */
.form-shell{padding:26px}
.form-shell h2{font-size:30px;margin-bottom:6px}
.form-grid{gap:12px 14px;margin-top:16px}
.field input,.field select,.field textarea{padding:10px 12px}
.field textarea{min-height:96px}
.form-honesty{padding:10px 12px;margin:12px 0}
.form-desc{padding:10px 12px;margin:10px 0 2px}
.form-actions{margin-top:16px}
#city-days-wrap{margin-top:8px !important;padding:10px !important}
@media(max-width:620px){.form-shell{padding:20px 16px}.form-shell h2{font-size:28px}}
@media(max-width:430px){.form-shell{padding:18px 14px}}

/* ===== V37 Visa Assistance: live-update panel + payment step (2026-10-16) ===== */
.visa-live-panel{margin:18px 0 4px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 8px 26px rgba(64,35,48,.06)}
.visa-panel-head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;margin-bottom:12px;font-size:15px}
.visa-panel-route{color:var(--muted);font-weight:600;font-size:13px}
.visa-rows{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:12px}
.visa-row{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line);font-size:13px}
.visa-row:last-child{border-bottom:0}
.visa-row span{color:var(--muted)}
.visa-row strong{color:var(--ink);text-align:right}
.visa-row .visa-total{color:var(--pink);font-size:16px}
.visa-row strong.visa-badge{display:inline-block;background:var(--teal);color:#fff;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700}
.visa-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.visa-fallback{padding:6px 0}
.visa-guide{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.visa-guide summary{cursor:pointer;font-weight:700;color:var(--pink);font-size:14px}
.visa-guide-body h4{margin:14px 0 6px;font-size:14px}
.visa-guide-body ul{margin:0 0 6px;padding-left:20px;font-size:13px;color:var(--ink)}
.visa-guide-body .note{font-size:12px;color:var(--muted)}
.visa-pay{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--white);margin-top:6px}
.visa-pay h3{margin:0 0 4px;font-size:20px}
.visa-pay h4{margin:16px 0 6px;font-size:15px}
.visa-pay-route{color:var(--muted);font-weight:600;font-size:13px;margin:0 0 12px}
.visa-methods{display:grid;gap:10px;margin:10px 0}
.visa-method{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--soft)}
.visa-method input{margin-top:4px;accent-color:var(--pink)}
.visa-method span strong{display:block;font-size:14px;color:var(--ink)}
.visa-method span small{color:var(--muted);font-size:12px}
.visa-done{padding:22px}
.visa-done h3{margin:0 0 10px}
.visa-done p{font-size:14px}
@media(max-width:620px){.visa-live-panel{padding:14px}.visa-row{flex-direction:column;gap:2px}.visa-row strong{text-align:left}}

/* V39 item 9': three-level local time */
.hero-clock{margin:12px 0 2px}
.hero-clock:empty{display:none;margin:0}
.th-hero-clock{display:inline-flex;flex-direction:column;gap:6px;max-width:100%;padding:10px 18px;border-radius:16px;color:#fff;background:linear-gradient(135deg,rgba(214,51,108,.88),rgba(112,72,182,.88));border:1px solid rgba(255,255,255,.38);box-shadow:0 6px 22px rgba(112,72,182,.38)}
.th-hero-clock-main{display:flex;align-items:center;gap:10px}
.th-hero-clock-icon{font-size:20px;line-height:1}
.th-hero-clock-label{font-size:13px;font-weight:600;color:rgba(255,255,255,.92);white-space:nowrap}
.th-hero-clock-time{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;letter-spacing:.5px;color:#fff}
.th-hero-world{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;border-top:1px solid rgba(255,255,255,.28);padding-top:6px}
.th-hero-world-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.72);margin-right:2px}
.th-hero-wt{display:inline-flex;align-items:center;font-size:12px;color:rgba(255,255,255,.94);white-space:nowrap}
.th-hero-wt .th-hero-clock-icon{font-size:13px;margin-right:3px}
.th-hero-wt .th-hero-clock-time{font-size:13px;font-weight:700;margin-left:4px}
@media(max-width:600px){.th-hero-clock{padding:8px 14px;border-radius:14px}.th-hero-clock-time{font-size:19px}.th-hero-clock-label{font-size:12px}}
/* V39.2-clock-merge: Explore landing world-times DESIGNED CARD */
.th-explore-world-card{margin:0 0 20px}
.th-explore-world-card-inner{display:block;max-width:860px;padding:16px 22px;border-radius:18px;color:#fff;background:linear-gradient(135deg,rgba(214,51,108,.92),rgba(112,72,182,.92));border:1px solid rgba(255,255,255,.38);box-shadow:0 8px 28px rgba(112,72,182,.35)}
.th-explore-world-card-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.95);margin-bottom:8px}
.th-explore-world-card-inner .th-hero-world{border-top:none;padding-top:0;gap:8px 18px}
@media(max-width:600px){.th-explore-world-card-inner{padding:12px 16px}}
/* V39 items 10+13: visa payment box */
.visa-paybox{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.visa-paybox h4{margin:0 0 8px}
.visa-total{color:var(--teal);font-size:17px}
/* V48 (owner 2026-10-17): digital arrival-card / pre-travel authorization block */
.visa-entry{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fdf0f6}
:root[data-theme="dark"] .visa-entry{background:#33202c}
.visa-entry h4{margin:0 0 8px}
.visa-entry p{margin:6px 0}
.visa-type-nudge{margin-top:10px}
/* V50 (owner 2026-10-17): per-passport document-requirements checklist */
.visa-req{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fdf0f6}
:root[data-theme="dark"] .visa-req{background:#33202c}
.visa-req h4{margin:0 0 8px}
.visa-req-list{margin:0 0 6px;padding-left:20px}
.visa-req-list li{margin:5px 0;font-size:13.5px;line-height:1.45;color:var(--ink)}
/* V51 (owner 2026-10-18 06:55): visa boxes share the pink-tinted style consistently */
.visa-pinkbox{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fdf0f6}
:root[data-theme="dark"] .visa-pinkbox{background:#33202c}
.visa-pinkbox h4{margin:0 0 8px}
.th-transit-guide{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#eef6ff}
:root[data-theme="dark"] .th-transit-guide{background:#1d2a3a}
.th-transit-guide h4{margin:0 0 8px}
.th-transit-guide p{margin:6px 0}
.th-portal-fee{margin:8px 0 0}
/* V51 (owner 2026-10-18 07:39): group member passport boxes live in a fixed-
   height contained panel — changing the group size 1->50 scrolls inside the
   panel and never moves the Visa type box or any field below it. */
.visa-group-panel{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fdf0f6;height:280px;overflow-y:auto}
:root[data-theme="dark"] .visa-group-panel{background:#33202c}
.visa-group-panel h4{margin:0 0 8px}
.visa-group-panel .field{margin-bottom:10px}
.req{color:#c0265a;font-weight:700}
.visa-status-line{margin:0 0 4px;font-size:13px;color:var(--muted)}
.visa-status-big{font-size:16px;margin:4px 0 8px;color:var(--ink)}
/* V51 (owner 2026-10-18 06:55): detail rows share the same pink tint */
.visa-rows .visa-row{background:#fdf0f6}
:root[data-theme="dark"] .visa-rows .visa-row{background:#33202c}
/* V51 (owner 2026-10-18 06:43): per-pair category overview rows — clickable */
.visa-catrows{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.visa-catrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font-size:13px;cursor:pointer}
.visa-catrow:hover{border-color:var(--pink)}
.visa-catrow span:first-child{flex:1;font-weight:600}
.visa-catrow strong{color:var(--ink)}
.visa-catgo{color:var(--pink);font-weight:700;font-size:12px;white-space:nowrap}
.visa-catrow-off{cursor:default;opacity:.65;background:var(--soft)}
.visa-catrow-off strong{color:var(--muted);font-weight:400;font-size:12px}
/* V51 (owner 2026-10-18 08:00): overview cards — categories with their
   requirements up front; the fee appears at type selection. */
.visa-catcard{border:1px solid var(--line);border-radius:9px;background:var(--white);overflow:hidden}
.visa-catcard .visa-catrow{border:0;border-radius:0}
.visa-reqpreview{padding:0 12px 10px;font-size:12px;color:var(--ink)}
.visa-reqpreview>strong{font-size:12px}
.visa-reqpreview ul{margin:4px 0 0;padding-left:18px}
.visa-reqpreview li{margin:2px 0}
.visa-reqmore{margin-top:4px}
.visa-reqmore summary{cursor:pointer;color:var(--pink);font-weight:600;font-size:12px}
/* V51 (owner 2026-10-18 06:39/06:42): channel tick boxes inside the visa category */
.visa-ticks{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.visa-tick{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:20px;cursor:pointer;font-size:13px;background:var(--white);color:var(--ink);font-weight:600}
.visa-tick:hover{border-color:var(--pink)}
.visa-tick input{margin:0;accent-color:var(--pink);width:15px;height:15px}
/* FIX5 C2 (owner video 2026-10-18 15:51): channel ticks nested INSIDE the
   selected category's own expanding block — pink-tinted like the panel */
.visa-catchannels{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fdf0f6}
:root[data-theme="dark"] .visa-catchannels{background:#33202c}
.visa-catchannels-label{margin:0 0 4px;font-size:14px}
.visa-catchannels .visa-ticks{margin-top:8px}
/* V50 (owner 2026-10-17): post-payment document upload form */
.visa-upload{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft,#f8f8fa)}
.visa-upload h3{margin:0 0 8px}
.visa-upload-row{display:flex;flex-direction:column;gap:6px;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.visa-upload-row label{font-size:13px;font-weight:600;color:var(--ink)}
.visa-upload-row input[type=file]{font-size:13px;color:var(--ink);max-width:100%}
/* V39 item 11: payment details panel */
.visa-paydetails{margin:12px 0;padding:12px 14px;border:1px dashed var(--line);border-radius:12px}
.visa-paydetails h4{margin:0 0 8px}
.visa-paydetail-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.visa-paydetail-line:last-child{border-bottom:0}
.visa-copy{flex-shrink:0}

/* V39 items 3+16: card photo areas — real photos, lazy; text stays on solid surface below */
.card-photo{position:relative;overflow:hidden;border-radius:12px 12px 0 0;aspect-ratio:16/9;background:var(--line)}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.prov-card .card-photo,.country-card .card-photo{margin:0}

/* V39 item 15: relaxed time fields — larger tap targets, full-width on mobile */
.field input[type="time"]{min-height:48px;font-size:16px;padding:12px 14px;width:100%;box-sizing:border-box}
@media(max-width:700px){.field input[type="time"]{min-height:52px;font-size:17px}}
/* V39 item 14: picker Done button */
.th-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}
.th-picker-done{flex-shrink:0}
/* V55 FIX6 #22: high-contrast Done hover — was teal text (#164C56) on the dark-pink
   .btn:hover background. Light: white text on dark pink; dark: near-black text on light pink. */
.btn-soft.th-picker-done:hover{background:#8F2458 !important;border-color:#8F2458 !important;color:#FFFFFF !important}
[data-theme="dark"] .btn-soft.th-picker-done:hover{background:#F7A4C8 !important;border-color:#F7A4C8 !important;color:#1B2833 !important}
/* ===== V39.2 FEATURE 10 (owner 2026-10-17): Fairy creative redesign — brand-gradient
   capsule button with the flower-crown fairy image mark (round thumb) + "Ask Fairy"
   label (fairy clearly visible at a glance in both modes), soft pulse + sparkle,
   designed panel header (large doll, Style B, no circle ring), distinct
   bubbles, styled chips. Fixed brand gradient (#B82E70 -> #684087) keeps white
   text contrast-safe in BOTH light and dark modes; the rest follows theme
   vars. ===== */
/* FIX5-K2 (owner 2026-10-18 20:09): capsule outer white band -> soft white gradient (fading, no hard band); the thumb's white ring stays as-is */
.fairy-fab{position:fixed;right:18px;bottom:18px;z-index:5000;height:60px;padding:0 18px 0 10px;border-radius:999px;border:2px solid transparent;background:linear-gradient(135deg,#B82E70 0%,#684087 100%) padding-box,linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.45) 45%,rgba(255,255,255,.08) 100%) border-box;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 6px rgba(184,46,112,.14);cursor:pointer;display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:.02em}
/* FIX4 W7 (B): lighten the circle behind the fairy so the artwork stands out
   on the pink-purple capsule in both themes (icon itself untouched) */
.fairy-fab-thumb{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;display:block;border:3px solid #fff;box-shadow:0 0 0 4px rgba(255,255,255,.85),0 2px 8px rgba(0,0,0,.25);background:linear-gradient(135deg,#faf5ff 0%,#e9dcfb 100%)}/* V55 FIX5 H1: pale lavender inner circle behind the fairy */
.fairy-fab-label{line-height:1;white-space:nowrap}
.fairy-fab::after{content:"";position:absolute;inset:-7px;border-radius:999px;border:2px solid rgba(184,46,112,.55);animation:fairy-pulse 2.6s ease-out infinite;pointer-events:none}
@keyframes fairy-pulse{0%{transform:scale(.82);opacity:.9}70%{transform:scale(1.18);opacity:0}100%{transform:scale(1.18);opacity:0}}
.fairy-fab::before{content:"\2726";position:absolute;top:-5px;right:-3px;font-size:15px;color:#fff;text-shadow:0 0 7px #B82E70;animation:fairy-twinkle 2.6s ease-in-out infinite;pointer-events:none}
@keyframes fairy-twinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(0deg)}50%{opacity:1;transform:scale(1.18) rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.fairy-fab::after,.fairy-fab::before{animation:none;display:none}}
.fairy-fab:hover{transform:scale(1.07)}
.fairy-fab:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.fairy-panel{position:fixed;right:18px;bottom:88px;z-index:5000;width:min(378px,calc(100vw - 36px));max-height:min(580px,calc(100dvh - 120px));display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 52px rgba(0,0,0,.3);overflow:hidden}
.fairy-panel[hidden]{display:none}
.fairy-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:linear-gradient(135deg,#B82E70 0%,#684087 100%);color:#fff}
.fairy-title{display:flex;align-items:center;gap:10px}
/* V39.2 F10 FINAL: Style B — flower-crown fairy image, open/large, no confining circle ring
   (soft rounded corners only) */
.fairy-avatar-doll{width:64px;height:64px;flex:none;display:block;border-radius:16px;object-fit:cover;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 3px rgba(255,255,255,.92),0 4px 14px rgba(0,0,0,.28)}
.fairy-id span{display:block;font-size:10.5px;font-weight:400;opacity:.93;line-height:1.4}
.fairy-close{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;font-size:17px;cursor:pointer;line-height:1;padding:5px 10px}
.fairy-close:hover{background:rgba(255,255,255,.3)}
.fairy-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:120px;background:color-mix(in srgb,var(--soft) 45%,var(--white))}
.fairy-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:13px;line-height:1.55;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.fairy-msg.fairy{background:var(--white);color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px;border:1px solid var(--line)}
.fairy-mail-btn{display:inline-block;margin-top:8px;padding:9px 16px;border-radius:999px;background:var(--pink);color:var(--white);font-weight:700;font-size:13px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.fairy-mail-btn:hover{opacity:.88}
.fairy-msg.user{background:linear-gradient(135deg,#B82E70,#684087);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.fairy-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 12px 10px;background:color-mix(in srgb,var(--soft) 45%,var(--white))}
.fairy-chip{font-size:11px;font-weight:600;padding:7px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--pink) 45%,var(--line));background:var(--white);color:var(--pink);cursor:pointer}
.fairy-chip:hover{background:var(--pink);color:#fff;border-color:var(--pink)}
.fairy-actions{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start}
.fairy-act{font-size:12px;padding:8px 12px}
.fairy-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--white)}
.fairy-form input{flex:1;border:1px solid var(--line);border-radius:20px;padding:10px 14px;font-size:13px;background:var(--ivory);color:var(--ink)}
.fairy-form input:focus{border-color:var(--pink)}
.fairy-send{border:0;border-radius:50%;width:42px;height:42px;background:linear-gradient(135deg,#B82E70,#684087);color:#fff;font-size:16px;cursor:pointer;flex:none;box-shadow:0 4px 12px rgba(184,46,112,.4)}
.fairy-send:hover{transform:scale(1.06)}
@media(max-width:620px){.fairy-fab{right:12px;bottom:12px;height:54px;padding:0 15px 0 8px;font-size:14px}.fairy-fab-thumb{width:38px;height:38px}.fairy-panel{right:12px;bottom:74px}}
/* FIX4 W7 (owner 2026-10-18): floating buttons must never cover card titles or
   content on mobile — clear the back-to-top above the fairy capsule, respect
   the bottom safe area, and keep the page end above the fixed capsule. */
@media(max-width:620px){#toTop{right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:44px;height:44px}.fairy-fab{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.fairy-panel{bottom:calc(74px + env(safe-area-inset-bottom,0px))}.site-footer{padding-bottom:132px}}

/* ===== V39.2 FEATURE 4: custom time selects (replaces native <input type="time">) ===== */
.th-time-wrap{display:flex;align-items:center;gap:6px;max-width:360px;flex-wrap:wrap}/* V55 FIX6 #1: wrap lets the locked 🔒 note drop below instead of stealing row width */
.th-time-wrap select{width:auto;flex:1 1 0;min-width:54px;padding:12px 6px;text-align:center}/* V55 FIX6 #1: min-width 54px — hour/min/AM-PM stay legible (audit measured 14px before) */
.th-time-wrap .th-t-sep{font-weight:700;color:var(--muted);flex:none}
.th-ticket-locked-wrap .note{flex:1 1 100%;margin-left:0 !important}/* V55 FIX6 #1: the "🔒 auto from ticket" note takes its own row, never crushes the selects */
/* ===== V55 FIX5 G1/G2: styled date+time picker + nationality-driven zone dropdown ===== */
.th-datetime-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:420px}
.th-datetime-wrap .th-dt-date{flex:1 1 150px;min-width:140px;min-height:48px;font-size:16px;padding:10px 12px}
/* ===== V55 FIX6 #4: styled consultation date-picker — read-only field + custom
   calendar popover (replaces the native <input type="date"> browser popup).
   Theme-aware via CSS vars (light + dark). ===== */
.th-datetime-wrap .th-cal{position:relative;flex:1 1 160px;min-width:150px}
.th-cal .th-dt-date{width:100%;min-height:48px;font-size:16px;padding:10px 42px 10px 12px;cursor:pointer;background:var(--ivory);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.th-cal .th-dt-date::placeholder{color:var(--muted)}
.th-cal-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:none;cursor:pointer;font-size:19px;line-height:1;color:var(--muted);padding:0}
.th-cal-toggle:hover{color:var(--pink);background:var(--soft)}
.th-cal-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:10000;width:292px;max-width:calc(100vw - 48px);background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(70,35,55,.22);padding:12px}
.th-cal-pop[hidden]{display:none}
.th-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.th-cal-title{font-weight:800;font-size:15px;color:var(--ink)}
.th-cal-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;padding:0}
.th-cal-nav:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.th-cal-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}
.th-cal-week span{padding:4px 0}
.th-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.th-cal-day{aspect-ratio:1/1;min-height:34px;border:0;border-radius:50%;background:none;color:var(--ink);font-size:13.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.th-cal-day:hover{background:var(--soft);color:var(--pink);font-weight:700}
.th-cal-day.th-sel{background:var(--pink);color:#fff;font-weight:800}
.th-cal-day.th-today{box-shadow:inset 0 0 0 2px var(--pink)}
.th-cal-day.th-other{color:var(--muted);opacity:.45}
.th-datetime-wrap select{width:auto;flex:1 1 0;min-width:0;min-height:48px;padding:10px 6px;text-align:center;font-size:16px}
.th-datetime-wrap .th-t-sep{font-weight:700;color:var(--muted);flex:none}
.th-tz-wrap{max-width:420px}
.th-tz-sel{width:100%;min-height:48px;font-size:15px;padding:10px 12px}

/* ===== V39.2 FEATURE 2: ticket upload + flight lookup ===== */
.th-ticketup input[type=file]{max-width:100%}
.th-ticketup-status,.th-flightfind-status{font-size:13px;margin:8px 0 0;color:var(--muted);min-height:0}
.th-ticketup-summary,.th-flightfind-summary{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:14px;line-height:1.7;color:var(--ink)}
.th-ticketup-summary .note,.th-flightfind-summary .note{font-size:12px;color:var(--muted)}

/* ===== V39.2 FEATURE 11.6: in-page 3D map modal (lazy — zero upfront weight) ===== */
.th-3d-ov{position:fixed;inset:0;z-index:9000;background:rgba(8,12,20,.72);display:flex;align-items:center;justify-content:center;padding:18px}
.th-3d-ov[hidden]{display:none}
.th-3d-box{width:min(960px,100%);max-height:92dvh;display:flex;flex-direction:column;background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.th-3d-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#B82E70,#684087);color:#fff}
.th-3d-label{opacity:.9;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th-3d-x{margin-left:auto;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:50%;width:34px;height:34px;font-size:18px;line-height:1;cursor:pointer;flex:none}
.th-3d-x:hover{background:rgba(255,255,255,.3)}
.th-3d-map{height:min(62dvh,560px);background:#0b1220}
.th-3d-map canvas{display:block}
.th-3d-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;font-size:12px}
.th-3d-status{opacity:.75}
@media(max-width:640px){.th-3d-ov{padding:10px}.th-3d-map{height:56dvh}}
/* FIX4 W7: loading state while the framed map geocodes for fit-to-bounds. */
.pmap-loading{padding:44px 20px;text-align:center;color:var(--muted);font-size:13px}

/* V39.3 culture band: self-hosted flag + dress/food cards */
.culture-band{display:grid;grid-template-columns:130px 1fr 1fr;gap:14px;margin:18px 0 26px;align-items:stretch}
.culture-flag{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:12px;text-align:center}
.culture-flag img{width:96px;height:auto;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.culture-flag span{font-size:11px;font-weight:700;color:var(--muted)}
.culture-mini{display:flex;gap:12px;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:12px}
.culture-mini-ico{font-size:30px;line-height:1}
.culture-mini strong{font-size:13px;display:block;margin-bottom:4px}
.culture-mini p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}
.culture-mini .culture-veg{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
@media(max-width:900px){.culture-band{grid-template-columns:1fr 1fr}.culture-flag{grid-column:1/-1;flex-direction:row}}
@media(max-width:620px){.culture-band{grid-template-columns:1fr}}

/* V52 (owner 2026-10-18 08:26): travel-history country checklist — light + dark */
.visited-check{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink)}
.visited-check:hover{background:var(--soft)}
.visited-check input{accent-color:var(--pink,#d6336c);flex:none}
.visited-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--white,#fff);color:var(--ink);padding:5px 6px 5px 12px;border-radius:999px;font-size:12px;font-weight:700}
.visited-chip button{border:0;background:var(--pink,#d6336c);color:#fff;border-radius:999px;width:20px;height:20px;line-height:18px;font-size:13px;cursor:pointer;padding:0}
[data-theme="dark"] .visited-check{color:#e8edf3}
[data-theme="dark"] .visited-chip{background:#1A2332;border-color:#41506A;color:#E8EDF3}
#visa-visited-box{max-width:100%}
#visa-visited-scroll{max-width:100%}
#visa-visited-list input[type="search"]{max-width:100%}

/* V52 Item B (owner 2026-10-18 08:55): clock pill never clips at any width.
   Long place names (e.g. "Local time in Khyber Pakhtunkhwa") used to push the
   ticking time past the pill's right edge on 390px phones. The label now
   ellipsizes gracefully; the day/night icon and the time always stay fully
   visible, wrapping to their own line when needed. */
.th-hero-clock{box-sizing:border-box;overflow-wrap:anywhere}
.th-hero-clock-main{flex-wrap:wrap;min-width:0;max-width:100%}
.th-hero-clock-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th-hero-clock-time{flex:none;max-width:100%}
@media(max-width:480px){
  .th-hero-clock{padding:8px 14px}
  .th-hero-clock-main{row-gap:2px}
}

/* V52 Item B continued: the page-hero is display:flex, so its .shell flex
   item kept min-width:auto and refused to shrink below the clock pill's
   min-content width — the whole hero overflowed on long place names.
   min-width:0 on the shell + pill lets everything shrink; the label
   ellipsizes and the time stays fully visible. */
.page-hero>.shell{min-width:0}
.th-hero-clock{min-width:0}

/* FIX4 w5 — local-detail layer: light block, place search, detail cards */
.thld-block{margin:28px 0}
.thld-block .thld-search-title{font:700 24px 'Playfair Display',serif;margin:30px 0 6px;color:var(--teal)}
.thld-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.thld-chips{display:flex;flex-wrap:wrap;gap:8px}
.thld-counts{font-weight:700;margin:14px 0 4px}
.thld-list{margin:6px 0 0;padding-left:18px}
.thld-list li{margin:4px 0}
.thld-linklike{background:none;border:0;padding:0;color:var(--pink);font-weight:700;cursor:pointer;text-align:left;font-size:inherit}
.thld-linklike:hover{text-decoration:underline}
.thld-subunits{margin:8px 0 4px}
.thld-search{margin-top:12px}
.thld-results-list{margin-top:14px}
.thld-result{display:block;width:100%;text-align:left;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 8px;cursor:pointer;color:var(--ink)}
.thld-result:hover{border-color:var(--pink)}
.thld-result strong{display:block;font-size:15px}
.thld-type{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin:4px 0 2px}
.thld-result .note{margin:2px 0 0}
.thld-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:16px}
.thld-card h3{margin:8px 0 4px;font:700 26px 'Playfair Display',serif;color:var(--teal)}
.thld-card h4{margin:20px 0 8px;font-size:15px;color:var(--teal)}
.thld-card .meta{margin:0}
.thld-loc{margin:6px 0 0}
.thld-card .facts{margin-top:10px}

/* V54 (owner 2026-10-18 13:22): fee-correction report box + taxes note. */
.visa-fee-report{margin-top:10px;padding:10px 12px;border:1px dashed var(--pink);border-radius:10px;background:rgba(214,51,108,.05)}
.visa-fee-report-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;color:var(--muted)}
.visa-fee-report-check input{width:16px;height:16px;accent-color:var(--pink)}
.visa-fee-report-box{margin-top:10px;display:grid;gap:10px}
.visa-fee-report-box[hidden]{display:none}
.visa-fee-report-done{margin-top:10px;display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.visa-fee-report-done h4{margin:0;font-size:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:620px){.field-row{grid-template-columns:1fr}}
/* V54 (owner 2026-10-18 13:25): footer designer credit + MG Creative Solutions socials. */
/* V55 FIX5 H2 (owner 2026-10-18 16:14): the credit + MG social row always rests
   clear of the floating Fairy capsule + back-to-top at scroll-bottom. */
.site-footer{padding-bottom:150px}
/* V55 FIX6 #23 (owner-approved concept): the MG designer credit + the 5 MG social
   icons live in ONE bordered card. Theme-aware via CSS vars (light + dark).
   V55 FIX6 #3: z-index sits BELOW the open Fairy panel (z 5000) — the icons
   never paint over it. */
.footer-credit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:var(--soft);box-shadow:0 6px 22px rgba(64,35,48,.08);font-size:14.5px;font-weight:500;color:var(--ink);position:relative;z-index:4000}
.footer-credit strong{color:var(--pink)}
.mg-socials{display:flex;gap:10px}
/* V55 FIX5 H3: glyph ~58% of the 38px circle. NOTE (2026-10-18 re-fix): the base
   `.site-footer a{display:block}` (0,1,1) beat `.mg-soc` (0,1,0), so the grid
   centering never applied and every SVG rode 8px high. This rule carries
   0,2,1 specificity and uses flex centering per the measured fix; line-height:0
   kills baseline/strut influence, svg is a block flex child. */
.site-footer a.mg-soc{width:38px;height:38px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:0;background:linear-gradient(135deg,#d6336c,#7048b6);box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .2s}
.site-footer a.mg-soc:hover{transform:translateY(-2px)}
.site-footer a.mg-soc svg{width:24px;height:24px;display:block;flex:0 0 auto}/* V55 FIX5 H3 re-fix (owner 19:13): glyph dominant dimension ~22.8px = 60% of the 38px circle; each SVG's artwork is scaled about the viewBox center so all five read uniformly bold with breathing room */
@media(max-width:620px){.footer-credit{flex-direction:column;align-items:center;text-align:center;gap:12px}}
/* V54 (owner 2026-10-18 13:25): Fairy "searching the web" indicator. */
.fairy-thinking{color:var(--muted);font-style:italic}
/* FIX6 (audit defect #3): while the Fairy panel is open, the capsule and the
   back-to-top arrow hide entirely — the panel owns the corner. */
body.fairy-open #fairy-fab{display:none!important;visibility:hidden;pointer-events:none}
body.fairy-open #toTop{display:none!important}
/* FIX6 defect 27: styled single-select picker (replaces raw native selects).
   Visual proxy over a real 1px <select>; panel reuses .th-picker-panel. */
.th-single{position:relative}
.th-single .th-picker-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}
.th-single-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th-single-chev{flex:0 0 auto;opacity:.6}
.th-single-opt{display:block;width:100%;text-align:left;padding:10px 14px;border:0;background:transparent;cursor:pointer;font-size:14px;color:var(--ink)}
.th-single-opt:hover{background:var(--soft)}
.th-single-opt[aria-selected="true"]{background:var(--soft);font-weight:600}
.th-single-empty{padding:10px 14px;color:var(--muted);font-size:13px}

/* FIX6-R5 (2026-10-19): Tourist visa panel — attached expanding card under the Tourist selector */
#visa-party-wrap{position:relative;margin-top:-4px;border:1px solid var(--line);border-radius:16px;padding:20px 18px 16px;background:var(--white);box-shadow:0 14px 34px rgba(64,35,48,.10);overflow:hidden}
#visa-party-wrap::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#d6336c,#7048b6)}
#visa-party-wrap>label:first-child{display:block;font-weight:800;font-size:15px;margin:2px 0 12px;color:var(--ink)}
#visa-party-wrap .visa-ticks{gap:10px}
#visa-party-wrap .visa-tick{padding:10px 16px;font-size:13.5px;box-shadow:0 2px 8px rgba(64,35,48,.06)}
#visa-party-wrap .visa-tick:has(input:checked){background:linear-gradient(135deg,rgba(214,51,108,.14),rgba(112,72,182,.14));border-color:var(--pink);box-shadow:0 4px 14px rgba(214,51,108,.18)}
@keyframes thPartyIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
#visa-party-wrap:not([style*="display:none"]):not([style*="display: none"]){animation:thPartyIn .3s ease}
[data-theme="dark"] #visa-party-wrap{background:#1a2332}
[data-theme="dark"] #visa-party-wrap .visa-tick:has(input:checked){background:linear-gradient(135deg,rgba(214,51,108,.35),rgba(112,72,182,.35));border-color:#f27ba7}
/* FIX6-R5: small province tag on city chips */
.th-prov-tag{display:inline-block;font-size:10px;font-weight:700;line-height:1;padding:4px 8px;margin-left:6px;border-radius:999px;background:var(--soft);border:1px solid var(--line);color:var(--muted);vertical-align:middle;white-space:nowrap;letter-spacing:.02em}
[data-theme="dark"] .th-prov-tag{background:#232f45;border-color:#41506a;color:#c6d2e3}
.th-city-chip{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line,#e8e0d8);border-radius:999px;padding:7px 14px;margin:4px;font-size:13px;font-weight:600;cursor:pointer;background:var(--white,#fff);color:var(--ink);font-family:inherit;line-height:1.4}
.th-city-chip:hover{border-color:var(--pink,#d6336c)}
.th-city-chip.th-chip-on{background:color-mix(in srgb,var(--pink,#d6336c) 10%,#fff);border-color:var(--pink,#d6336c);font-weight:700}
.th-arrival-tag{display:inline-block;font-size:10px;font-weight:700;line-height:1;padding:4px 8px;margin-left:6px;border-radius:999px;background:var(--pink,#d6336c);border:1px solid var(--pink,#d6336c);color:#fff;vertical-align:middle;white-space:nowrap}
[data-theme="dark"] .th-city-chip{background:#1a2332;border-color:#41506a;color:#e8edf3}
[data-theme="dark"] .th-city-chip.th-chip-on{background:#4A1E3C!important;border-color:var(--pink,#d6336c);color:#FFFFFF!important}
/* FIX6-R5: visa eligibility checker card */
/* VISA-PURPOSE FIX 2026-10-22: card overflow visible so the checker fly-out
   AND the Purpose panel render fully in both card states (pre-Check short,
   post-Check tall) at desktop + mobile; bar corners kept round below. */
.th-elig-card{position:relative;overflow:visible;border:1px solid var(--line);border-radius:16px;padding:22px 20px 20px;margin:0 0 24px;background:var(--white);box-shadow:0 14px 34px rgba(64,35,48,.10)}
.th-elig-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#d6336c,#7048b6);border-radius:16px 16px 0 0}
.th-elig-card h3{margin:2px 0 6px;font-size:18px;color:var(--ink)}
.th-elig-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0 18px}
.th-elig-btn{background:linear-gradient(135deg,#d6336c,#7048b6);border:0;color:#fff;font-weight:800;padding:12px 28px;font-size:15px}.th-elig-actions{display:flex;flex-wrap:wrap;gap:14px 8px;align-items:center}
.th-elig-btn:hover{filter:brightness(1.07);color:#fff}
.th-elig-result{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:700px){.th-elig-grid{grid-template-columns:1fr}}
[data-theme="dark"] .th-elig-card{background:#1a2332}

/* Picker tick boxes keep natural size (never stretched by .field input width) */
.th-picker input[type="checkbox"],.th-picker input[type="radio"]{width:auto!important;min-width:0!important;padding:0!important;flex:none!important}

/* FIXPASS D3: city/famous-place picker — visible tick box beside every item, light + dark. */
.th-city-pill input[type="checkbox"],.city-check input[type="checkbox"]{width:16px!important;height:16px!important;min-width:16px!important;flex:none!important;accent-color:var(--pink,#d6336c)!important;margin-right:6px!important}
.th-city-pill:has(input:checked){background:color-mix(in srgb,var(--pink,#d6336c) 10%,#fff)!important;border-color:var(--pink,#d6336c)!important;font-weight:700}

/* FIXPASS NF1 (2026-10-21): Tourist fly-out submenu, attached to the Tourist row
   of the Visa type dropdown (form AND checker). Side placement on desktop,
   in-panel attached placement on narrow screens — never a detached box below. */
.th-visa-flyout{position:absolute;top:0;left:calc(100% + 6px);min-width:250px;max-width:290px;z-index:10001;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 45px rgba(70,35,55,.16);padding:8px;display:none}
.th-visa-flyout.open{display:block}
.th-visa-flyout.flip{left:auto;right:calc(100% + 6px)}
.th-visa-flyout .th-fly-head{padding:8px 10px 6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.th-visa-flyout .th-fly-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:14px;cursor:pointer}
.th-visa-flyout .th-fly-row:hover{background:var(--soft)}
.th-visa-flyout .th-fly-row input{width:16px;height:16px;accent-color:var(--pink);flex:0 0 auto}
.th-visa-flyout .th-fly-row .th-fly-note{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.th-single-opt.th-has-fly{position:relative;padding-right:34px}
.th-single-opt .th-fly-chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
@media(max-width:520px){.th-visa-flyout{left:8px;right:8px;min-width:0;max-width:none}.th-visa-flyout.flip{left:8px;right:8px}}

/* FIXPASS NF3 (2026-10-21): Tourist visa-product selector + rules box. */
.th-visa-products{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.th-visa-products h4{margin:0 0 8px}
.th-prod-list{display:grid;gap:8px;margin:10px 0}
.th-prod-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--ivory);color:var(--ink);cursor:pointer}
.th-prod-row input{width:16px;height:16px;accent-color:var(--pink);flex:0 0 auto}
.th-prod-row .th-prod-name{flex:1 1 200px}
.th-prod-row .th-prod-fee{font-weight:800}
.th-prod-row .th-prod-entry{font-size:12px;color:var(--muted)}
.th-prod-row.th-prod-off{opacity:.72;cursor:default;background:var(--soft)}
.th-prod-row .th-prod-state{font-weight:700;color:var(--muted)}
.th-prod-row .th-prod-reason{flex-basis:100%;font-size:12px}
.th-prod-rules{margin-top:12px;padding:12px;border-top:1px solid var(--line)}
.th-prod-rules h5{margin:0 0 8px}
.th-prod-fact{font-size:12px;margin:5px 0;color:var(--ink)}
.th-prod-fact.th-prod-gap{color:var(--muted)}

/* PHOTO-CREDIT SAMPLE (owner verdict pending — sample only, 10 photos) */
.th-photo-credit{font-size:11px;line-height:1.45;opacity:.72;padding:5px 10px 7px;overflow-wrap:break-word}
.city-card .th-photo-credit{padding:5px 2px 0}

/* FIX 2026-10-23 (v7 expansion 5): checker Clear button hover/focus/focus-visible/
   active must ALL stay readable. Generic .btn:hover forces dark-maroon bg
   #8F2458 !important but no rule lightened Clear's teal text, giving
   dark-on-dark on hover. Follows the site's own Done-button pattern
   (maroon bg + white text + maroon border); scoped to the checker card
   (0,4,0) so it beats .btn:hover (0,2,0) and no other .btn-soft is touched.
   Rest state, size, position and label unchanged. */
.th-elig-card .btn.btn-soft:hover,.th-elig-card .btn.btn-soft:focus,.th-elig-card .btn.btn-soft:focus-visible,.th-elig-card .btn.btn-soft:active{background:#8F2458 !important;color:#FFFFFF !important;border-color:#8F2458 !important;}

/* FIX 2026-10-23 (v7, relocated from the script.js injected style block):
   checker Purpose control hover/focus-visible feedback (click-only opening
   is unchanged — hover never opens the panel or fly-out). Light: subtle
   tint + darker border; dark theme: dark tint + light border so text stays
   readable. Colors + outline only, no layout shift. */
.th-elig-card .th-picker-btn:hover{background:#E3EFF1 !important;border-color:#0B3B44 !important;}
.th-elig-card .th-picker-btn:focus-visible{outline:2px solid #164C56 !important;outline-offset:2px;background:#E3EFF1 !important;border-color:#0B3B44 !important;}
[data-theme="dark"] .th-elig-card .th-picker-btn:hover{background:#2E4252 !important;border-color:#72B4BD !important;}
[data-theme="dark"] .th-elig-card .th-picker-btn:focus-visible{outline:2px solid #72B4BD !important;outline-offset:2px;background:#2E4252 !important;border-color:#72B4BD !important;}

/* FIX 2026-10-23 (v7 expansion 6, UNIFORM button hover readability):
   .btn:hover forces a dark bg in light theme (#8F2458) and a light bg in
   dark theme (#F7A4C8) on EVERY .btn, while variant rest text colors vary
   (teal, pink, dark) — so hover text is forced to match the bg in each
   theme. Light: white on maroon; dark: near-black on light pink (the Done
   dark-theme pattern). !important + (0,2,0)/(0,3,0) beats every variant
   rest text color; variant-specific hover colors (Done) already match
   these values. Rest states, sizes, positions and labels unchanged. */
.btn:hover{color:#FFFFFF !important;}
[data-theme="dark"] .btn:hover{color:#1B2833 !important;}

/* 2026-10-24: mobile checker button separation + footer photo-credits collapse */
@media(max-width:700px){.th-elig-actions{gap:14px 20px}}
.photo-credits-wrap{margin-top:10px}.photo-credits-wrap>summary{cursor:pointer;color:#9fc0c4;font-size:12px;list-style-position:inside}.photo-credits-wrap[open ] .photo-credits{margin-top:8px}
.form-actions>.th-wa-wrap{flex-basis:100%;margin-top:2px}

/* 2026-10-25: phone flag images (replace flag emoji) */
.th-cc-btn img{height:16px;width:auto;border-radius:2px}
.th-cc-flag img{height:17px;width:auto;display:block;border-radius:2px}

/* v72 hotel reservation upload: accommodation panel stays closed while uploads are confirmed */
.ms-wrap.th-hotel-accom-closed .ms-panel{display:none!important}
.ms-wrap.th-hotel-accom-closed .ms-box{opacity:.55;pointer-events:none}
.th-hotel-tag{display:inline-block;font-size:10px;font-weight:700;line-height:1;padding:4px 8px;margin-left:6px;border-radius:999px;background:var(--pink,#d6336c);border:1px solid var(--pink,#d6336c);color:#fff;vertical-align:middle;white-space:nowrap}
.th-hotelup-summary ul{margin:6px 0 0;padding-left:18px}
.th-hotelup-summary li{margin-bottom:4px}
