:root{--thyr-light:#f8ffef;--thyr-dark:#173a36;}

/* Buttons */
.thyr-btn-primary{background:var(--thyr-dark);color:#fff;padding:12px 28px;border-radius:8px;border:0;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:15px;}
.thyr-btn-primary:hover{opacity:.9;color:#fff;}
.thyr-btn-outline{background:#fff;border:1px solid var(--thyr-dark);color:var(--thyr-dark);padding:10px 22px;border-radius:8px;text-decoration:none;font-weight:600;display:inline-block;transition:all .2s;}
.thyr-btn-outline:hover{background:var(--thyr-dark);color:#fff;}
.thyr-btn-full{width:100%;padding:16px;}

/* Search form (big) */
.thyr-search-form{background:var(--thyr-light);border-radius:16px;padding:26px;max-width:900px;margin:0 auto;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.06);}
.thyr-search-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:18px;color:var(--thyr-dark);font-weight:600;}
.thyr-van-icon{background:var(--thyr-dark);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.thyr-search-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;}
.thyr-search-row .thyr-field input{background:#fff;border:1px solid #e4e8e0;border-radius:10px;padding:14px 16px;width:100%;font-size:14px;color:#333;}
.thyr-search-row .thyr-btn-primary{padding:0 30px;}

/* Header compact search */
.thyr-header-search{display:flex;gap:10px;align-items:center;background:var(--thyr-light);padding:10px 12px;border-radius:12px;max-width:900px;}
.thyr-header-search .thyr-field{flex:1;}
.thyr-header-search .thyr-field input{background:#fff;border:1px solid #e4e8e0;border-radius:8px;padding:10px 14px;width:100%;font-size:14px;}
.thyr-header-search .thyr-btn-primary{padding:10px 20px;}

/* Results page */
.thyr-hero-search{background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.45)),url('https://images.unsplash.com/photo-1441829266145-6d4bfb360cc8?w=1600');background-size:cover;background-position:center;padding:80px 20px 120px;text-align:center;margin:0 -20px;border-radius:0;color:#fff;position:relative;}
.thyr-hero-search h1{color:#fff;font-size:48px;margin-bottom:30px;}
.thyr-hero-search .thyr-results-form{background:#fff;border-radius:14px;padding:16px;max-width:1100px;margin:0 auto;position:relative;top:40px;box-shadow:0 8px 40px rgba(0,0,0,.2);}
.thyr-field-group{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;}
.thyr-field-group .thyr-field{display:flex;flex-direction:column;text-align:left;}
.thyr-field-group .thyr-field label{font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;}
.thyr-field-group .thyr-field input,.thyr-field-group .thyr-field select{border:1px solid #e4e8e0;border-radius:8px;padding:10px 14px;font-size:14px;}
.thyr-results-header{display:flex;justify-content:space-between;align-items:center;margin:30px 0 20px;color:var(--thyr-dark);font-weight:600;}

/* Vans grid */
.thyr-vans-grid{display:grid;gap:24px;margin:20px 0;}
.thyr-cols-4{grid-template-columns:repeat(4,1fr);}
.thyr-cols-3{grid-template-columns:repeat(3,1fr);}
.thyr-cols-2{grid-template-columns:repeat(2,1fr);}
.thyr-cols-1{grid-template-columns:1fr;}
@media (max-width:1024px){.thyr-cols-4{grid-template-columns:repeat(2,1fr);}.thyr-cols-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.thyr-cols-4,.thyr-cols-3,.thyr-cols-2{grid-template-columns:1fr;}}

.thyr-van-card{background:var(--thyr-light);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.thyr-van-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);}
.thyr-van-card-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;margin:10px;border-radius:12px;}
.thyr-van-card-media img{width:100%;height:100%;object-fit:cover;display:block;}
.thyr-rating-chip{position:absolute;top:10px;left:10px;background:#fff;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:600;color:var(--thyr-dark);}
.thyr-star{color:#fbc02d;}
.thyr-tag{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;}
.thyr-tag-dark{background:var(--thyr-dark);color:#fff;}
.thyr-van-card-body{padding:0 18px 18px;flex:1;display:flex;flex-direction:column;}
.thyr-van-title{font-size:20px;margin:0 0 12px;line-height:1.2;}
.thyr-van-title a{color:#2a1b80;text-decoration:none;}
.thyr-van-specs{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px;font-size:12px;color:#333;}
.thyr-van-specs li{display:flex;align-items:center;gap:6px;}
.thyr-ico{display:inline-block;width:14px;height:14px;opacity:.7;}
.thyr-ico-km::before{content:"⏱";}
.thyr-ico-fuel::before{content:"⛽";}
.thyr-ico-year::before{content:"🗓";}
.thyr-ico-gear::before{content:"⚙";}
.thyr-ico-phone::before{content:"📱";}
.thyr-ico-person::before{content:"👤";}
.thyr-ico-bag::before{content:"💼";}
.thyr-van-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;}
.thyr-van-price{font-size:22px;font-weight:700;color:var(--thyr-dark);}
.thyr-van-price span{font-size:13px;font-weight:400;color:#666;}

/* Single van */
.thyr-single-van{max-width:1200px;margin:30px auto;padding:0 20px;}
.thyr-breadcrumb{color:#666;font-size:14px;margin-bottom:10px;}
.thyr-breadcrumb a{color:#666;text-decoration:none;}
.thyr-van-layout{display:grid;grid-template-columns:1fr 380px;gap:30px;}
@media (max-width:900px){.thyr-van-layout{grid-template-columns:1fr;}}
.thyr-van-heading{color:var(--thyr-dark);margin:10px 0 20px;font-size:32px;}
.thyr-van-gallery{margin-bottom:20px;}
.thyr-gallery-main{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;}
.thyr-gallery-main img{width:100%;height:100%;object-fit:cover;}
.thyr-gallery-thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.thyr-thumb{width:70px;height:70px;border-radius:8px;overflow:hidden;display:block;border:2px solid transparent;}
.thyr-thumb.active{border-color:var(--thyr-dark);}
.thyr-thumb img{width:100%;height:100%;object-fit:cover;}

.thyr-tabs{margin-top:20px;}
.thyr-tab-nav{display:flex;gap:20px;border-bottom:1px solid #e3e5e7;margin-bottom:20px;}
.thyr-tab-nav a{padding:12px 0;color:#666;text-decoration:none;font-weight:500;border-bottom:2px solid transparent;}
.thyr-tab-nav a.active{color:var(--thyr-dark);border-color:var(--thyr-dark);}
.thyr-tab-panel{display:none;}
.thyr-tab-panel.active{display:block;}

.thyr-info-pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;}
.thyr-pill{border:1px solid rgba(23,58,54,.2);border-radius:8px;padding:12px 14px;font-size:14px;color:var(--thyr-dark);}

.thyr-map{height:400px;border-radius:12px;}

/* Booking sidebar */
.thyr-booking-box{background:var(--thyr-light);border-radius:16px;padding:20px;position:sticky;top:20px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.thyr-total-row{display:flex;justify-content:space-between;align-items:baseline;}
.thyr-total-label{font-size:16px;color:#333;font-weight:600;}
.thyr-total-value{font-size:28px;font-weight:700;color:var(--thyr-dark);}
.thyr-without-taxes{color:#888;font-size:13px;margin-bottom:16px;}
.thyr-booking-field{background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:10px;}
.thyr-booking-field label{font-size:11px;color:#888;display:block;margin-bottom:4px;}
.thyr-booking-field input{border:0;background:transparent;width:100%;font-size:15px;color:#333;}
.thyr-booking-field input:focus{outline:none;}
.thyr-booking-section{margin:14px 0;}
.thyr-booking-section h4{margin:0 0 8px;color:var(--thyr-dark);font-size:14px;}
.thyr-extra-row,.thyr-insurance-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;background:#fff;border-radius:8px;margin-bottom:6px;cursor:pointer;font-size:13px;}
.thyr-extra-row small.thyr-extra-info,.thyr-insurance-row small.thyr-extra-info{grid-column:1/-1;color:#888;font-size:11px;margin-top:2px;}
.thyr-extra-price{font-weight:600;color:var(--thyr-dark);}
.thyr-deposit-note{background:#fff;border-radius:8px;padding:10px 14px;font-size:13px;margin:14px 0;}
.thyr-deposit-note small{display:block;color:#888;margin-top:2px;}
.thyr-price-breakdown{background:#fff;border-radius:8px;padding:10px 14px;font-size:13px;margin:14px 0;display:none;}
.thyr-price-breakdown.visible{display:block;}
.thyr-price-breakdown .thyr-pb-row{display:flex;justify-content:space-between;margin-bottom:4px;}
.thyr-price-breakdown .thyr-pb-row.total{font-weight:700;border-top:1px solid #eee;padding-top:6px;margin-top:6px;color:var(--thyr-dark);}
.thyr-booking-message{margin-top:10px;padding:10px;border-radius:8px;font-size:13px;display:none;}
.thyr-booking-message.error{background:#fde2e2;color:#b32d2e;display:block;}
.thyr-booking-message.success{background:#d4edda;color:#155724;display:block;}

/* Reviews */
.thyr-reviews-section{margin-top:20px;}
.thyr-review-item{background:var(--thyr-light);border-radius:12px;padding:16px 20px;margin-bottom:10px;}
.thyr-review-item header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:var(--thyr-dark);}
.thyr-review-item time{color:#888;font-size:12px;}
.thyr-review-form-wrap{background:var(--thyr-light);border-radius:12px;padding:24px;margin-top:30px;}
.thyr-criteria-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px;margin-bottom:20px;}
.thyr-criterion{display:flex;justify-content:space-between;align-items:center;}
.thyr-criterion-label{color:var(--thyr-dark);font-weight:500;}
.thyr-stars{display:inline-flex;gap:2px;}
.thyr-star-btn{background:transparent;border:0;cursor:pointer;font-size:22px;color:#fbc02d;padding:0 2px;}
.thyr-star-btn.active{color:#f9a825;}
.thyr-review-form-wrap textarea{width:100%;background:#fff;border:1px solid #e4e8e0;border-radius:8px;padding:12px;font-size:14px;min-height:120px;}
.thyr-review-form-wrap input[type=text],.thyr-review-form-wrap input[type=email]{width:100%;background:#fff;border:1px solid #e4e8e0;border-radius:8px;padding:10px 14px;font-size:14px;}

/* Archive / results list */
.thyr-archive{max-width:1200px;margin:30px auto;padding:0 20px;}
.thyr-archive-header{margin-bottom:20px;}
.thyr-search-results-wrap{max-width:1200px;margin:0 auto 40px;padding:0 20px;}
