/*
Theme Name: SobTicket Turf
Theme URI: https://shobticket.com
Author: Chomotkar
Description: A dedicated website theme for a turf operator — nothing but turf. Home page, booking section, ticket page, staff login and dashboard, designed for the "SobTicket — Turf Operator Site" plugin. Every section's text, images and colours are editable in Appearance → Customize.
Version: 1.0.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: sobticket-turf-theme
*/

:root{--green:#123d2b;--green2:#1d5a3e;--lime:#b9ef4a;--bg:#f5f7f3;--text:#14231c;--muted:#6b776f;--line:#e1e7e2;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Hind Siliguri",sans-serif;line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.tt-container{width:min(1120px,92%);margin:auto}

/* ---- nav ---- */
.tt-nav{height:68px;background:#fff;display:flex;align-items:center;position:relative;z-index:30}
.tt-nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%}
.tt-logo{font-size:25px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:8px}
.tt-logo span{color:#78a923}
.tt-logo img{max-height:42px;width:auto}
.tt-links{display:flex;align-items:center;gap:25px;font-size:15px;font-weight:500}
.tt-links a:hover{color:#6c9d1d}
.tt-book{background:var(--green);color:#fff!important;padding:9px 16px;border-radius:10px;font-weight:600}
.tt-menu{display:none;background:none;border:0;font-size:25px;cursor:pointer;color:var(--green)}

/* ---- hero ---- */
.tt-hero{min-height:475px;color:#fff;display:flex;align-items:center;background:linear-gradient(90deg,rgba(6,37,25,.95),rgba(6,37,25,.50)),var(--tt-hero-img) center/cover}
.tt-hero-inner{padding:72px 0 90px}
.tt-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid #9db5a7;border-radius:30px;font-size:13px}
.tt-hero h1{font-size:clamp(40px,7vw,64px);line-height:1.08;margin:18px 0 13px;max-width:720px}
.tt-hero h1 span{color:var(--lime)}
.tt-hero p{font-size:18px;max-width:570px;color:#e3ebe6;margin:0}
.tt-booking-wrap{margin-top:-52px;position:relative;z-index:5;padding-bottom:18px}
.tt-notice{background:#fff8df;border:1px solid #f1dfa0;color:#765d15;padding:16px;border-radius:14px;text-align:center}

/* ---- sections ---- */
.tt-section{padding:76px 0}
.tt-eyebrow{color:#699918;font-weight:700;font-size:15px}
.tt-title{font-size:38px;line-height:1.15;margin:7px 0 10px}
.tt-sub{color:var(--muted);font-size:16px;margin:0}
.tt-features{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}
.tt-feature{background:#fff;border-radius:17px;padding:21px;border:1px solid #edf0ed}
.tt-icon{font-size:26px}
.tt-feature h3{margin:9px 0 4px;font-size:18px}
.tt-feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}

.tt-spec{background:var(--green);color:#fff}
.tt-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.tt-spec .tt-eyebrow{color:var(--lime)}
.tt-spec .tt-sub{color:#cbdad1}
.tt-spec-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}
.tt-spec-item{border:1px solid #39604d;background:#194932;border-radius:13px;padding:14px}
.tt-spec-item b{display:block;font-size:16px}
.tt-spec-item span{font-size:13px;color:#bcd0c4}
.tt-spec-visual{min-height:360px;border-radius:23px;background:linear-gradient(180deg,rgba(8,40,27,.1),rgba(8,40,27,.75)),var(--tt-spec-img) center/cover;display:flex;align-items:flex-end;padding:25px}
.tt-spec-price{background:#fff;color:var(--text);padding:16px;border-radius:15px}
.tt-spec-price small{color:var(--muted)}
.tt-spec-price strong{font-size:25px}

.tt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}
.tt-step{background:#fff;border-radius:17px;padding:25px;border:1px solid #e7ece8}
.tt-step-num{width:36px;height:36px;border-radius:50%;background:var(--lime);display:flex;align-items:center;justify-content:center;font-weight:700;color:#173000}
.tt-step h3{margin:13px 0 5px}
.tt-step p{margin:0;color:var(--muted);font-size:14px}

.tt-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:190px 190px;gap:10px;margin-top:27px}
.tt-gallery img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.tt-gallery img:first-child{grid-row:1/3}
.tt-gallery.n1{grid-template-columns:1fr;grid-template-rows:380px}.tt-gallery.n1 img:first-child{grid-row:auto}
.tt-gallery.n2{grid-template-columns:1fr 1fr;grid-template-rows:300px}.tt-gallery.n2 img:first-child{grid-row:auto}

.tt-location{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:21px;overflow:hidden;margin-top:28px}
.tt-map{min-height:320px;background:linear-gradient(rgba(18,61,43,.08),rgba(18,61,43,.08)),var(--tt-map-img) center/cover;display:flex;align-items:center;justify-content:center}
.tt-map-pin{background:#fff;padding:13px 17px;border-radius:12px;font-weight:700;box-shadow:0 7px 20px #0002;max-width:80%;text-align:center}
.tt-loc-info{padding:35px}
.tt-loc-info h3{font-size:25px;margin:0 0 7px}
.tt-loc-info p{color:var(--muted);line-height:1.6;margin:0 0 10px}
.tt-map-btn{display:inline-block;margin-top:10px;background:var(--green);color:#fff;border-radius:10px;padding:11px 17px;font-weight:600}

.tt-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:27px}
.tt-review{background:#fff;padding:21px;border-radius:17px;border:1px solid #e8ece9}
.tt-stars{color:#78a923;letter-spacing:2px}
.tt-review p{font-size:14px;line-height:1.6}
.tt-review b{font-size:14px}

.tt-faq{max-width:780px;margin-top:27px}
.tt-faq details{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:9px;padding:16px}
.tt-faq summary{font-weight:600;cursor:pointer}
.tt-faq details p{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0 0}

.tt-cta{background:var(--green);color:#fff;border-radius:22px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.tt-cta h2{margin:0 0 5px;font-size:30px}
.tt-cta p{margin:0;color:#cfddd5}
.tt-cta a{background:var(--lime);color:#173000;padding:13px 20px;border-radius:11px;font-weight:700;white-space:nowrap}

.tt-footer{background:#0b2c1f;color:#bfcfc5;padding:31px 0;margin-top:70px}
.tt-footer-in{display:flex;justify-content:space-between;gap:20px;font-size:14px;flex-wrap:wrap}
.tt-footer b{color:#fff}
.tt-footer a:hover{color:var(--lime)}
.tt-footer-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}
.tt-footer-contact div+div{margin-top:4px}

/* ---- inner pages (ticket, login, generic) ---- */
.tt-page{padding:34px 0 10px;min-height:55vh}
.tt-page-title{font-size:32px;margin:0 0 18px}
.tt-entry{background:#fff;border-radius:20px;padding:26px;border:1px solid var(--line)}
.tt-entry>.sobt,.tt-entry>.sobt-login{margin:-26px}
.tt-page .sobt-card{box-shadow:0 18px 55px rgba(19,53,37,.10)}

/* ---- mobile ---- */
@media(max-width:760px){
 .tt-nav{height:62px}
 .tt-links{display:none;position:absolute;top:62px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 4% 16px;border-top:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.08)}
 .tt-links.open{display:flex}
 .tt-links a{padding:12px 4px;border-bottom:1px solid #f0f3f0}
 .tt-links .tt-book{margin-top:10px;text-align:center;border:0}
 .tt-menu{display:block}
 .tt-hero{min-height:420px}.tt-hero-inner{padding:58px 0 80px}.tt-hero h1{font-size:42px}.tt-hero p{font-size:16px}
 .tt-booking-wrap{margin-top:-38px}
 .tt-section{padding:58px 0}.tt-title{font-size:31px}
 .tt-features{grid-template-columns:1fr 1fr;gap:9px}.tt-feature{padding:16px}.tt-feature h3{font-size:16px}.tt-feature p{font-size:13px}
 .tt-spec-grid{grid-template-columns:1fr;gap:25px}.tt-spec-visual{min-height:280px}.tt-spec-list{gap:8px}.tt-spec-item{padding:12px}
 .tt-steps{grid-template-columns:1fr;gap:10px}.tt-step{padding:20px}
 .tt-gallery{grid-template-columns:1fr 1fr;grid-template-rows:170px 120px}.tt-gallery img:first-child{grid-column:1/3;grid-row:auto}
 .tt-gallery.n1{grid-template-columns:1fr;grid-template-rows:240px}.tt-gallery.n1 img:first-child{grid-column:auto}
 .tt-gallery.n2{grid-template-columns:1fr 1fr;grid-template-rows:200px}.tt-gallery.n2 img:first-child{grid-column:auto}
 .tt-location{grid-template-columns:1fr}.tt-map{min-height:230px}.tt-loc-info{padding:25px}
 .tt-reviews{grid-template-columns:1fr}.tt-review{padding:18px}
 .tt-cta{padding:28px;display:block}.tt-cta h2{font-size:27px}.tt-cta a{display:inline-block;margin-top:18px}
 .tt-footer-in{display:block}.tt-footer-in>div+div{margin-top:14px}
 .tt-page{padding-top:20px}.tt-entry{padding:18px}.tt-entry>.sobt,.tt-entry>.sobt-login{margin:-18px}
}
@media(max-width:390px){.tt-hero h1{font-size:36px}.tt-features{grid-template-columns:1fr}}
