/*
Theme Name: Ticket N Trip Pro
Theme URI: https://www.ticketntrip.com
Author: Ticket N Trip
Description: Travel company theme with customer accounts and a service booking system for flights, hotels, holiday packages, cruises, visas, travel insurance and car rental. Includes Razorpay payments, booking management in wp-admin, SEO schema and a fast, accessible layout.
Version: 2.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: tnt
*/
:root{--navy:#0B2545;--ink:#12263F;--teal:#0E9F94;--teal-d:#0A7C73;--gold:#F4A300;--sky:#EAF4F6;--paper:#FAFBFC;--line:#D9E2E8;--muted:#5B6B7C;--danger:#C0392B;--ok:#1E8E5A;--r:14px;--r-s:8px;--w:1180px;--f-head:'Bricolage Grotesque',system-ui,sans-serif;--f-body:'Figtree',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.65 var(--f-body);color:var(--ink);background:var(--paper)}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal-d);text-underline-offset:3px}a:hover{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--f-head);color:var(--navy);line-height:1.15;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700}h3{font-size:1.25rem;font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.screen-reader-text,.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:8px;top:8px;background:#fff;padding:.6rem 1rem;z-index:999}
.wrap{width:min(100% - 2rem,var(--w));margin-inline:auto}
.section{padding:clamp(3rem,7vw,5.5rem) 0}.section--sky{background:var(--sky)}.section--navy{background:var(--navy);color:#DCE7F2}.section--navy h2,.section--navy h3{color:#fff}
.section-head{max-width:680px;margin-bottom:2rem}.section-head p{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:700 1rem var(--f-body);padding:.85rem 1.5rem;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn--gold{background:var(--gold);color:var(--navy)}.btn--gold:hover{background:#ffb81f;color:var(--navy)}
.btn--teal{background:var(--teal);color:#fff}.btn--teal:hover{background:var(--teal-d);color:#fff}
.btn--ghost{border-color:currentColor;color:#fff}.btn--ghost:hover{background:#fff;color:var(--navy)}
.btn--line{border-color:var(--line);color:var(--navy);background:#fff}.btn--line:hover{border-color:var(--navy)}
.btn--sm{padding:.5rem 1rem;font-size:.9rem}.btn[disabled]{opacity:.6;cursor:wait}
/* header */
.topbar{background:var(--navy);color:#cfe0ee;font-size:.88rem}.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none;margin-left:1rem}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;gap:1.25rem;min-height:72px}
.brand{display:flex;align-items:center;font:800 1.45rem var(--f-head);color:var(--navy);text-decoration:none}.brand span{color:var(--teal)}.brand img{max-height:48px;width:auto}
.nav{margin-left:auto}.nav ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:0;align-items:center}
.nav a{display:block;padding:.55rem .8rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.96rem;border-radius:var(--r-s)}
.nav a:hover,.nav .current-menu-item>a{background:var(--sky);color:var(--navy)}
.header-actions{display:flex;gap:.5rem;align-items:center}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--r-s);padding:.5rem .7rem;font:600 .95rem var(--f-body);color:var(--navy);margin-left:auto}
@media(max-width:1020px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:.5rem 1rem 1rem}.nav.is-open{display:block}.nav ul{flex-direction:column;align-items:stretch}.header-actions{display:none}.nav-mobile-actions{display:flex!important}}
.nav-mobile-actions{display:none;gap:.5rem;margin-top:.75rem}
/* hero */
.hero{background:linear-gradient(180deg,#0B2545 0%,#12395f 100%);color:#DCE7F2;padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3rem,7vw,5rem);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -10% -1px -10%;height:90px;background:var(--paper);clip-path:ellipse(60% 100% at 50% 100%)}
.hero .wrap{display:grid;grid-template-columns:1fr minmax(0,500px);gap:3rem;align-items:center;position:relative;z-index:1}
.hero h1{color:#fff}.hero p.lead{font-size:1.2rem;max-width:34rem}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0 2rem}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}.hero-stats strong{display:block;font:800 1.7rem var(--f-head);color:var(--gold)}.hero-stats span{font-size:.9rem}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}}
/* boarding pass card */
.pass{background:#fff;color:var(--ink);border-radius:var(--r);position:relative;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.pass-tabs{display:flex;gap:.25rem;overflow-x:auto;padding:.75rem .75rem 0;scrollbar-width:none}.pass-tabs::-webkit-scrollbar{display:none}
.pass-tab{flex:0 0 auto;border:0;background:var(--sky);color:var(--navy);font:700 .88rem var(--f-body);padding:.55rem .9rem;border-radius:999px;cursor:pointer}
.pass-tab[aria-selected=true]{background:var(--navy);color:#fff}
.pass-body{padding:1.1rem 1.25rem 1.4rem}
.pass-divider{position:relative;border-top:2px dashed var(--line);margin:0}
.pass-divider::before,.pass-divider::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:#12395f}
.pass-divider::before{left:-12px}.pass-divider::after{right:-12px}
/* forms */
.tnt-form .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tnt-form .full{grid-column:1/-1}
.tnt-form label,.field label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.25rem;color:var(--navy)}
.tnt-form input,.tnt-form select,.tnt-form textarea,.field input,.field select{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1.5px solid var(--line);border-radius:var(--r-s);background:#fff;color:var(--ink)}
.tnt-form input:focus,.tnt-form select:focus,.tnt-form textarea:focus,.field input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px rgba(14,159,148,.2)}
.hp{position:absolute!important;left:-9999px!important}
.check{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem;font-weight:400!important}.check input{width:auto;margin-top:.3rem}
.form-msg{display:none;padding:.8rem 1rem;border-radius:var(--r-s);font-weight:600;margin-top:.75rem}.form-msg.is-error{display:block;background:#FDECEA;color:var(--danger)}.form-msg.is-ok{display:block;background:#E6F6EE;color:var(--ok)}
@media(max-width:520px){.tnt-form .grid{grid-template-columns:1fr}}
/* cards */
.grid-auto{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.svc{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.svc:hover{border-color:var(--teal);box-shadow:0 8px 24px rgba(11,37,69,.08)}
.svc .ico{width:46px;height:46px;border-radius:12px;background:var(--sky);color:var(--teal-d);display:grid;place-items:center;margin-bottom:.9rem}.svc h3{margin-bottom:.3rem}.svc p{color:var(--muted);font-size:.97rem;margin:0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card-img{aspect-ratio:3/2;background:linear-gradient(135deg,var(--teal),var(--navy));object-fit:cover;width:100%}
.card-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.card-body h3 a{color:var(--navy);text-decoration:none}
.card-meta{font-size:.88rem;color:var(--muted)}.price{font:800 1.3rem var(--f-head);color:var(--teal-d)}.price small{font:400 .8rem var(--f-body);color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.25rem}.chips a{display:block;padding:.45rem 1rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);text-decoration:none;font-weight:600;font-size:.95rem}.chips a:hover{border-color:var(--teal);background:var(--sky)}
.steps{counter-reset:s;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;background:rgba(255,255,255,.07);border-radius:var(--r);padding:1.3rem}.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800;margin-bottom:.7rem}.steps strong{display:block;color:#fff;font-size:1.1rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}@media(max-width:860px){.two-col{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding-left:1.8rem;position:relative;margin-bottom:.6rem}.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border-left:3px solid var(--teal);border-bottom:3px solid var(--teal);transform:rotate(-45deg)}
details.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:.6rem}details.faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:1rem 1.2rem;list-style:none}details.faq summary::after{content:"+";float:right;font-size:1.3rem;line-height:1}details.faq[open] summary::after{content:"\2212"}details.faq div{padding:0 1.2rem 1rem;color:var(--muted)}
/* page heads and content */
.page-hero{background:var(--navy);color:#cfe0ee;padding:2.5rem 0}.page-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 .4rem}.page-hero p{margin:0;max-width:40rem}
.crumbs{font-size:.88rem;margin-bottom:.8rem}.crumbs a{color:#fff}
.content{max-width:760px}.content img{border-radius:var(--r-s)}.content h2{margin-top:1.8em}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:2.5rem;align-items:start}@media(max-width:980px){.layout{grid-template-columns:1fr}}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}.sticky{position:sticky;top:96px}
.pagination{display:flex;gap:.4rem;justify-content:center;margin-top:2rem}.pagination .page-numbers{padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--r-s);text-decoration:none;background:#fff}.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}
/* account */
.acct{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2rem}@media(max-width:860px){.acct{grid-template-columns:1fr}}
.acct-nav{display:flex;flex-direction:column;gap:.3rem}.acct-nav button,.acct-nav a{text-align:left;background:#fff;border:1px solid var(--line);padding:.7rem 1rem;border-radius:var(--r-s);font:600 .96rem var(--f-body);color:var(--navy);cursor:pointer;text-decoration:none}.acct-nav [aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.auth{max-width:480px;margin-inline:auto}.auth-tabs{display:flex;gap:.4rem;margin-bottom:1rem}.auth-tabs button{flex:1}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}.tbl th,.tbl td{text-align:left;padding:.8rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{font-size:.82rem;color:var(--muted)}
.table-scroll{overflow-x:auto}
.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--sky);color:var(--navy)}
.badge.s-new{background:#FFF3D6;color:#8A5B00}.badge.s-quoted,.badge.s-awaiting_payment{background:#E3EEFF;color:#17407F}.badge.s-paid,.badge.s-confirmed{background:#E1F5EA;color:#16704A}.badge.s-cancelled,.badge.s-cancel_requested{background:#FDECEA;color:var(--danger)}
.tab-panel[hidden]{display:none}
/* footer */
.site-footer{background:var(--navy);color:#b8c9db;padding:3.5rem 0 1.5rem;margin-top:0}.site-footer h4{color:#fff;font-size:1rem}.site-footer a{color:#d7e4f1;text-decoration:none}.site-footer a:hover{color:var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin-bottom:.45rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2rem;padding-top:1.2rem;font-size:.9rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.wa-float{position:fixed;right:16px;bottom:16px;z-index:60;background:#25D366;color:#fff;border-radius:999px;padding:.7rem 1.1rem;font-weight:700;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.25)}.wa-float:hover{color:#fff;filter:brightness(.95)}
.grecaptcha-badge{visibility:hidden}
.alignwide{max-width:var(--w)}.wp-caption-text{font-size:.9rem;color:var(--muted)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
