/*
Theme Name: Shreedhar Tours
Description: Taxi and tour service theme for Shreedhar Tours, Udaipur.
Version: 1.0
Text Domain: shreedhar
*/
:root{--ink:#0F1F38;--blue:#1B3F7A;--sky:#E6EEF8;--bg:#F5F8FC;--sun:#F2930F;--sun-d:#C97300;--line:#D5DFEC;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 Hind,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:'Rozha One',Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:1.3rem}
a{color:var(--blue)}img{max-width:100%;height:auto}
.wrap{width:min(1120px,92%);margin:0 auto}
.btn{display:inline-block;padding:.7em 1.4em;border-radius:99px;background:var(--sun);color:var(--ink);font-weight:600;text-decoration:none;border:2px solid var(--sun);cursor:pointer;font:600 1rem Hind,sans-serif}
.btn:hover{background:var(--sun-d);border-color:var(--sun-d);color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.btn.ghost:hover{background:#fff;color:var(--ink)}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.site-head{background:var(--ink);color:#fff;position:sticky;top:0;z-index:50}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}
.logo{font:1.5rem 'Rozha One',serif;color:#fff;text-decoration:none}.logo span{color:var(--sun)}
.nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.nav a{color:#dbe5f3;text-decoration:none;font-weight:500}.nav a:hover,.nav .current-menu-item a{color:var(--sun)}
.menu-btn{display:none;background:none;border:2px solid #fff5;color:#fff;border-radius:8px;padding:.3em .7em;font-size:1rem}
.hero{background:var(--ink);color:#fff;padding:4rem 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end}
.hero p{color:#c7d4e8;max-width:34em;font-size:1.1rem}.hero .acts{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 3rem}
.hero .since{display:inline-block;border:1px solid #fff4;border-radius:99px;padding:.15em 1em;font-size:.95rem;margin-bottom:1rem;color:#c7d4e8}
.arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#27518f,#1B3F7A);display:grid;place-items:center;overflow:hidden;outline:3px solid var(--sun);outline-offset:10px}
.arch img{width:100%;height:100%;object-fit:cover}.arch svg{width:70%;color:#fff;opacity:.9}
.sec{padding:4.5rem 0}.sec.alt{background:#fff}.sec.dark{background:var(--blue);color:#fff}
.sec-head{max-width:36em;margin-bottom:2.2rem}.sec-head p{color:#51627d;margin:0}.dark .sec-head p{color:#cfdcf0}
.grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1rem 1.3rem;display:flex;flex-direction:column}
.alt .card{background:var(--bg)}
.card .pic{aspect-ratio:4/3;border-radius:999px 999px 8px 8px;background:var(--sky);display:grid;place-items:center;overflow:hidden;margin-bottom:1rem}
.card .pic img{width:100%;height:100%;object-fit:cover}.card .pic svg{width:60%;color:var(--blue)}
.card p{margin:0 0 1rem;color:#51627d;font-size:.97rem;flex:1}.card .btn{align-self:flex-start;padding:.45em 1.1em;font-size:.95rem}
.tours .card h3{color:var(--blue)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.cols h3{color:var(--blue)}.cols p{margin:0;color:#51627d}.dark .cols h3{color:var(--sun)}.dark .cols p{color:#dbe5f3}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.ticks{list-style:none;padding:0;margin:1.2rem 0 0}.ticks li{padding-left:1.8rem;margin:.5rem 0;position:relative}
.ticks li:before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.9rem;border-radius:50%;background:var(--sun)}
.quote{background:#fff;border-left:5px solid var(--sun);padding:1.2rem 1.4rem;border-radius:0 var(--r) var(--r) 0}.quote b{display:block;margin-top:.6rem}
.cta{text-align:center}.cta .btn{margin:.3rem}
.pagehead{background:var(--ink);color:#fff;padding:3rem 0}.pagehead h1{margin:0;font-size:clamp(2rem,4vw,2.8rem)}
form.enq{display:grid;gap:1rem}form.enq label{font-weight:600;display:grid;gap:.3rem}
form.enq input,form.enq select,form.enq textarea{font:inherit;padding:.7em .9em;border:1.5px solid var(--line);border-radius:10px;background:#fff;width:100%}
.hp{position:absolute;left:-9999px}.note{padding:.9rem 1.1rem;border-radius:10px;margin-bottom:1.2rem}.note.ok{background:#e4f6e9;color:#145a2c}.note.no{background:#fde8e6;color:#8a1c12}
.info{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}.info p{margin:.2rem 0 1rem}
.site-foot{background:var(--ink);color:#c7d4e8;padding:3rem 0 5rem}.site-foot a{color:#fff}.site-foot h3{color:#fff;font-size:1.1rem}
.site-foot ul{list-style:none;padding:0;margin:0}.site-foot .copy{border-top:1px solid #fff2;margin-top:2rem;padding-top:1rem;font-size:.9rem}
.float{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.6rem;z-index:60}
.float a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 4px 14px #0004;font-size:.8rem}
.float .c{background:var(--blue)}.float .w{background:#1fa855}
@media(max-width:820px){.hero .wrap,.split{grid-template-columns:1fr}.arch{max-width:340px;margin:0 auto}
.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:1rem 4%}.nav.open{display:block}.nav ul{flex-direction:column;gap:.8rem}.head-call{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- Premium motion and hover ---- */
.site-head{transition:background .3s,box-shadow .3s}.site-head .wrap{transition:padding .3s}
.site-head.scrolled{background:rgba(15,31,56,.88);backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(0,0,0,.25)}.site-head.scrolled .wrap{padding:.4rem 0}
.nav a{position:relative;padding:.2em 0}.nav a:after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--sun);transition:width .3s}.nav a:hover:after,.nav .current-menu-item a:after{width:100%}
.btn{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(242,147,15,.4)}.btn:hover:before{transform:translateX(120%)}
@keyframes up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes arch{from{opacity:0;transform:translateY(60px) scale(.96)}to{opacity:1;transform:none}}
@keyframes bob{50%{transform:translateY(-10px)}}
.hero .since,.hero h1,.hero p,.hero .acts{animation:up .8s both}.hero h1{animation-delay:.12s}.hero p{animation-delay:.24s}.hero .acts{animation-delay:.36s}
.hero .arch{animation:arch 1s .2s both,bob 7s 1.4s ease-in-out infinite}
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.js .rv.in{opacity:1;transform:none}
.card{transition:transform .35s,box-shadow .35s,border-color .35s}
.js .card.rv.in{transition:transform .35s,box-shadow .35s,border-color .35s,opacity .7s}
.card:hover{transform:translateY(-9px);box-shadow:0 22px 44px rgba(15,31,56,.16);border-color:var(--sun)}
.card .pic{transition:background .35s}.card:hover .pic{background:#FDEBD0}
.card .pic img{transition:transform .6s}.card:hover .pic img{transform:scale(1.1)}
.card .pic svg{transition:transform .5s,color .35s}.card:hover .pic svg{transform:translateX(10px) scale(1.06);color:var(--sun-d)}
.tours .card{position:relative;overflow:hidden}.tours .card:after{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .45s}.tours .card:hover:after{transform:scaleX(1)}
.cols>div{padding:1.2rem 1.2rem 1.3rem;border-radius:var(--r);transition:background .3s,transform .3s}.cols>div:hover{transform:translateY(-5px);background:rgba(27,63,122,.07)}.dark .cols>div:hover{background:rgba(255,255,255,.09)}
.ticks li{transition:transform .3s}.ticks li:hover{transform:translateX(8px)}
.marq{background:var(--sun);color:var(--ink);overflow:hidden;white-space:nowrap}.marq div{display:inline-block;padding:.75rem 0;animation:mq 38s linear infinite}.marq:hover div{animation-play-state:paused}
.marq span{margin:0 1.3rem;font:1.1rem 'Rozha One',serif}@keyframes mq{to{transform:translateX(-50%)}}
.stats{background:var(--ink);color:#c7d4e8;padding:3rem 0}.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center}
.stat b{display:block;font:clamp(2.4rem,5vw,3.8rem)/1 'Rozha One',serif;color:var(--sun);margin-bottom:.3rem}
.gal{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.gal figure{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gal figure:hover img{transform:scale(1.1)}
.quote{transition:transform .3s,box-shadow .3s}.quote:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(15,31,56,.12)}
.float a{transition:transform .25s}.float a:hover{transform:scale(1.12)}.float .w{animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,168,85,.6)}70%{box-shadow:0 0 0 16px rgba(31,168,85,0)}100%{box-shadow:0 0 0 0 rgba(31,168,85,0)}}
@media(max-width:820px){.stats .wrap{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

/* ---- Tour cards with photo ---- */
.tours .card{padding:1rem 1rem 1.3rem}
.tours .card .pic{aspect-ratio:16/10;border-radius:10px;background:linear-gradient(135deg,#E6EEF8,#FDEBD0)}
.tours .card .pic svg{width:48%}
.tours .card:hover .pic{background:linear-gradient(135deg,#FDEBD0,#F7C77E)}

/* ---- Vehicle photos: whole car always visible ---- */
.veh .card .pic{aspect-ratio:4/3!important;border-radius:12px!important;background:var(--sky)!important}
.veh .card .pic img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.veh .card:hover .pic img{transform:scale(1.04)}

/* ---- Hero photo: frame follows the photo ---- */
.arch.has-img{aspect-ratio:auto;border-radius:220px 220px 0 0;background:var(--blue);align-self:end}
.arch.has-img img{height:auto;max-height:560px;object-fit:cover;display:block}