/* ============================================================
   Design tokens — extracted from toyotairan.mhyeganeh.ir's
   compiled CSS (colors, spacing, component styles).
   ============================================================ */
:root{
  --theme-primary-red:#d62124;
  --red-btn:#c30400;
  --red-btn-hover:#b00805;
  --dark:#000;
  --text-dark:#181818;
  --text-body:#1f1f1f;
  --grey-1:#4b4b4b;
  --grey-2:#656565;
  --grey-3:#8e8e8e;
  --grey-4:#a1a1a1;
  --border-light:#efefef;
  --bg-light:#fafafa;
  --bg-light-2:#f5f5f5;
}

/* Real Anjoman font-face declarations come from anjoman-font-override.css
   (loaded before this file); this just switches body typography to it. */

html{scroll-behavior:smooth;}
body{
  font-family:"Anjoman", Tahoma, Arial, sans-serif;
  color:var(--text-body);
  background:#fff;
  overflow-x:hidden;
  -webkit-user-select:auto;
}
img{max-width:100%;}
a{color:var(--text-dark); text-decoration:none; transition:color .25s;}
a:hover{color:var(--theme-primary-red);}
.fa-num, .digit{direction:ltr; display:inline-block;}

/* ============ Buttons (.theme-btn / .theme-icon-btn) ============ */
.theme-btn{
  user-select:none; color:var(--grey-3); white-space:nowrap; background-color:#dcdcdc;
  border-radius:5px; justify-content:center; align-items:center; padding:9px 12px;
  transition:all .25s; display:inline-flex; position:relative; overflow:hidden; border:none;
  font-family:inherit; font-size:.95rem;
}
.theme-btn:focus{outline:none;}
.theme-btn .icon{vertical-align:middle; margin-right:7px;}
.theme-btn .icon-left{vertical-align:middle; margin-left:7px;}
.theme-btn.btn-red{color:#fff; background:var(--red-btn);}
.theme-btn.btn-red:hover{background:var(--red-btn-hover); color:#fff;}
.theme-btn.btn-white{color:#000; background:#fff;}
.theme-btn.btn-white:hover{background:#ececec;}
.theme-btn.btn-outline-white{color:#fff; background:0 0; border:1px solid #fff;}
.theme-btn.btn-outline-white:hover{color:#383838; background:#fff;}
.theme-btn.btn-outline-grey{color:#000; background:0 0; border:1px solid var(--border-light);}
.theme-btn.btn-outline-grey:hover{background:#e5e5e5;}
.theme-btn.btn-silver{color:#181d28; background:var(--bg-light-2);}
.theme-btn.btn-silver:hover{background:#e7e7e7;}
.theme-btn.btn-light-grey{color:#121212; background:var(--bg-light-2);}
.theme-btn.btn-light-grey:hover{color:#fff; background:#7e7e7e;}
.theme-btn.btn-grey{color:#fff; background:#8d8d8d;}
.theme-btn.btn-grey:hover{background:#7e7e7e;}
.theme-btn.btn-sm{padding:3px 7px; font-size:.8rem;}
a.theme-btn{color:inherit;}
a.theme-btn:hover{color:inherit;}

.theme-icon-btn{
  color:#fff; aspect-ratio:1; border:2px solid #fff3; border-radius:4px;
  flex:0 0 45px; place-items:center; display:grid;
}
.theme-icon-btn.btn-outline-white{color:#fff; border:2px solid #fff3;}
.theme-icon-btn.btn-outline-white:hover{color:#383838; background-color:#ffffffd9;}
.theme-icon-btn.btn-outline-black{color:#000; border:2px solid #0000000f;}
.theme-icon-btn.btn-outline-black:hover{color:#f1f1f1; background-color:#000000d9;}

/* ============ Section title (.theme-title-1) ============ */
.theme-title-1{text-align:center; font-size:1.2rem; position:relative;}
.theme-title-1 .top{user-select:none; color:var(--text-body); margin-bottom:8px; font-size:1.1rem; font-weight:400;}
.theme-title-1 .title{user-select:none; margin-bottom:7px; font-size:1.9rem; font-weight:700; line-height:1.9;}
.theme-title-1 .title .red{color:var(--theme-primary-red); font-style:normal;}
.theme-title-1 .title .red.with-shadow{text-shadow:0 0 4rem #ec2d30;}
.theme-title-1 .title .toyota-logotype{vertical-align:middle; color:var(--theme-primary-red); margin-right:10px;}
.theme-title-1 .description{max-width:800px; margin-inline:auto; font-size:1.1rem; line-height:2.2; color:var(--grey-1);}
.theme-title-1 .subtitle{color:var(--text-body);}
.theme-title-1 .title-en, .theme-en-title{color:var(--border-light); font-weight:700; letter-spacing:2px;}
.title-wrapper{margin-bottom:20px;}

/* ============ Filter buttons (.theme-filter-options) ============ */
.theme-filter-options{display:flex; flex-wrap:wrap; gap:0;}
.theme-filter-options button, .theme-filter-options a{
  color:#181d28; background:0 0; border:none; border-bottom:2px solid var(--border-light);
  padding:10px 20px; font-weight:500; font-family:inherit; transition:all .2s;
}
.theme-filter-options button:hover, .theme-filter-options a:hover{color:var(--theme-primary-red) !important;}
.theme-filter-options button .icon, .theme-filter-options a .icon{margin-left:10px; font-size:1.3rem;}
.theme-filter-options button.selected, .theme-filter-options a.selected{border-bottom-color:var(--theme-primary-red); font-weight:550; color:var(--theme-primary-red) !important;}

/* ============ Header ============ */
.top-bar{background:var(--dark); color:#ccc; font-size:.85rem; padding:.4rem 0;}
.top-bar a{color:#ccc;}
.top-bar a:hover{color:#fff;}

header.site-header{
  z-index:100; user-select:none; background:#fff; padding-top:0;
  box-shadow:0 5px 15px -12px #3b3636; position:sticky; top:0;
  transition:background-color .4s, box-shadow .4s;
}
header.site-header .content{align-items:center; height:80px; display:flex;}
header.site-header .logo-wrapper{flex:0 0 auto; padding:10px 0; display:flex;}
header.site-header .logo-wrapper .brand-text{font-weight:700; font-size:1.3rem; color:var(--text-dark);}
header.site-header .logo-wrapper .brand-text span{color:var(--theme-primary-red);}
header.site-header .logo-wrapper:hover{opacity:.9;}
header.site-header .logo-wrapper .logo-white{display:none;}
header.site-header nav.main-nav{margin-right:20px; gap:18px; height:80%; margin-inline:auto; font-weight:500; display:flex; align-items:center;}
header.site-header nav.main-nav a{white-space:nowrap; align-items:center; padding-inline:10px; font-size:.92rem; display:flex; position:relative; color:#282828; transition:color .3s;}
header.site-header nav.main-nav a:hover{color:var(--red-btn);}
header.site-header nav.main-nav a:after{
  content:""; background-color:var(--red-btn); border-radius:140px; width:0; max-width:60px; height:3px;
  transition:all .4s cubic-bezier(0,0,.11,1.85); position:absolute; bottom:-4px; left:50%; transform:translateX(-50%);
}
header.site-header nav.main-nav a:hover:after, header.site-header nav.main-nav a.selected:after{width:60%;}
header.site-header .header-buttons{align-items:center; gap:20px; margin-right:auto; display:flex;}
header.site-header .socials{align-items:center; gap:5px; font-size:1.3rem; display:flex;}
header.site-header .socials a{padding:10px; transition:all .25s; color:#282828;}
header.site-header .socials a:hover{transform:scale(1.4); color:var(--theme-primary-red);}
header.site-header .cta-button{padding:10px 30px; font-size:.9rem; border-radius:5px; transition:all .3s;}
header.site-header .cta-button:hover{color:#fff; background:var(--red-btn-hover);}

.navbar-toggler{border:1px solid var(--border-light); border-radius:5px; transition:border-color .3s;}
.navbar-toggler-icon{transition:filter .3s;}

/* ============ Overlay header (homepage, before scroll) ============ */
header.site-header.header-overlay{
  z-index:101; background:transparent; box-shadow:none; position:absolute; top:0; left:0; width:100%;
}
header.site-header.header-overlay .logo-wrapper .logo-red{display:none;}
header.site-header.header-overlay .logo-wrapper .logo-white{display:inline-block;}
header.site-header.header-overlay nav.main-nav a{color:#fff;}
header.site-header.header-overlay nav.main-nav a:hover{color:#fff;}
header.site-header.header-overlay .socials a{color:#fff;}
header.site-header.header-overlay .cta-button{color:#fff; background:#ffffff1a; border-color:transparent;}
header.site-header.header-overlay .cta-button:hover{color:#fff; background:#ffffff33;}
header.site-header.header-overlay .navbar-toggler{border-color:#ffffff99;}
header.site-header.header-overlay .navbar-toggler-icon{filter:invert(1);}

/* ============ Hero slider (#intro) ============ */
#homepage #intro{
  user-select:none; height:100dvh; max-height:850px; position:relative; overflow:hidden;
}
#homepage #intro:before, #homepage #intro:after{
  content:""; z-index:2; mix-blend-mode:darken; width:100%; position:absolute; left:0;
}
#homepage #intro:before{background:linear-gradient(#060000,#0000); height:150px; top:0;}
#homepage #intro:after{background:linear-gradient(#0000,#060000); height:50%; bottom:0;}
#homepage #intro #main_swiper{height:100%;}
#homepage #intro #main_swiper .banner{object-fit:cover; object-position:center; width:100%; height:100%;}
#homepage #intro .texts{
  z-index:3; color:#fff; max-width:500px; position:absolute; bottom:10dvh; right:100px;
}
#homepage #intro .texts .subtitle{margin-bottom:10px; font-size:1.3rem; font-weight:500;}
#homepage #intro .texts .title{margin-block:20px 40px; font-size:2.5rem; font-weight:900; line-height:1.7;}
#homepage #intro .texts .cta-btn{padding-inline:30px; font-size:1.1rem; font-weight:450;}
#homepage #intro .texts .cta-btn:hover{background-color:#ffffffd9;}
#homepage #intro .texts .cta-btn .icon-left{margin-right:20px;}
#homepage #intro .swiper-nav-wrapper{z-index:3; position:absolute; bottom:10dvh; left:100px;}
@media (max-width:767px){
  #homepage #intro .texts{max-width:88%; right:5%; bottom:14dvh;}
  #homepage #intro .texts .title{font-size:1.5rem; margin-block:14px 20px;}
  #homepage #intro .texts .subtitle{font-size:1.05rem;}
  #homepage #intro .swiper-nav-wrapper{left:5%; bottom:5dvh;}
}

/* ============ Shared swiper nav (.theme-swiper-nav / .swiper-nav-wrapper) ============ */
.theme-swiper-nav{align-items:center; gap:20px; display:flex;}
.theme-swiper-nav .btn-prev[disabled], .theme-swiper-nav .btn-next[disabled]{pointer-events:none; color:#0000003d;}
.theme-swiper-nav.white .btn-prev[disabled], .theme-swiper-nav.white .btn-next[disabled]{color:#ffffff3d;}
.theme-swiper-nav .courses-swiper-pagination{text-align:center;}
.theme-swiper-nav .courses-swiper-pagination .swiper-pagination-bullet{
  opacity:1; background:#0000001b; border-radius:100px; width:11px; height:5px; transition:all .5s;
}
.theme-swiper-nav .courses-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{background:#000 !important; width:40px;}
.theme-swiper-nav.white .courses-swiper-pagination .swiper-pagination-bullet{background:#ffffff7a;}
.theme-swiper-nav.white .courses-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{background:#fff !important;}
.swiper-nav-wrapper{justify-content:center; margin-block:32px;}
.swiper-nav-wrapper .courses-swiper-pagination{white-space:nowrap; flex:0 0;}

/* ============ Vehicle cards (square, homepage swiper) ============ */
.vehicle-card{
  aspect-ratio:1; user-select:none; border-radius:10px; position:relative; overflow:hidden;
  display:block; height:100%;
}
.vehicle-card .image-wrapper{position:absolute; inset:0; width:100%; height:100%;}
.vehicle-card .image-wrapper img{width:100%; height:100%; object-fit:cover;}
.vehicle-card .image-wrapper:after{
  content:''; position:absolute; inset:0; mix-blend-mode:darken;
  background:linear-gradient(0deg,#0a0202bd 0 20%,#0a02022e 100%); transition:all .25s;
}
.vehicle-card .content-wrapper{
  color:#fff; flex-direction:column; align-items:flex-start; padding:28px; font-size:1.1rem;
  display:flex; position:absolute; inset:0;
}
.vehicle-card .tag{user-select:none; color:#151515; background:#fff; border-radius:4px; margin-bottom:auto; padding:2px 8px; font-size:.85rem; font-weight:500;}
.vehicle-card .year{font-weight:300;}
.vehicle-card .title{margin-block:5px 15px; font-size:1.4rem; font-weight:700; color:#fff; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
@media (max-width:767px){
  .vehicle-card{aspect-ratio:auto; min-height:220px;}
  .vehicle-card .content-wrapper{padding:18px;}
  .vehicle-card .title{font-size:1.1rem; margin-block:4px 10px;}
  .vehicle-card .price .digit{font-size:.95rem;}
}
.vehicle-card .footer{justify-content:space-between; align-items:flex-end; width:100%; display:flex;}
.vehicle-card .price .label{font-size:.8rem; opacity:.8;}
.vehicle-card .price .digit{letter-spacing:1px; font-size:1.1rem; font-weight:500;}
.vehicle-card .price .dollar{opacity:.6; margin-right:7px; font-size:.85rem; font-weight:300;}

/* Rectangular product-card variant (vehicles list page) */
.product-card{border:1px solid var(--border-light); border-radius:8px; padding:30px 20px; height:100%; transition:all .25s; background:#fff;}
.product-card:hover{box-shadow:0 10px 25px -12px #9b9292;}
.product-card .image-wrapper{margin-bottom:20px; padding-inline:15px; display:block;}
.product-card .image-wrapper img{object-fit:contain; margin-inline:auto; transition:all .5s; height:150px; width:100%;}
.product-card:hover .image-wrapper img{opacity:.9; transform:scale(1.04);}
.product-card .title-tag{justify-content:space-between; align-items:flex-start; display:flex;}
.product-card .title-tag .per{font-size:1.1rem; font-weight:550;}
.product-card .title-tag .en{color:var(--grey-1); margin-top:6px; font-size:.9rem; font-weight:300;}
.product-card .title-tag .tag{color:var(--grey-1); background-color:var(--bg-light); border-radius:4px; padding:5px 10px; font-size:.85rem;}
.product-card .footer{justify-content:space-between; align-items:flex-end; margin-top:16px; display:flex;}
.product-card .footer .price{color:var(--grey-1); font-size:.85rem; font-weight:300;}
.product-card .footer .price .label{margin-bottom:6px;}
.product-card .footer .price .digit{color:var(--text-dark); font-size:1.05rem; font-weight:500;}
.product-card .footer .btn{border-radius:8px; flex-basis:38px; font-size:.8rem;}
.product-card .content-wrapper{padding:0 5px;}

/* ============ Info / service-highlight cards (homepage #info) ============ */
.info-section{background-color:var(--bg-light); padding-block:60px;}
.info-section .stats{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-block:20px;}
.info-section .stats .stat .value{color:#000; direction:ltr; font-size:1.7rem; font-weight:800;}
.info-section .stats .stat .label{color:var(--grey-1); font-size:.9rem; font-weight:400;}
.info-section h3{color:#7d7d7d; font-size:1.7rem; font-weight:500; line-height:1.9;}
.info-section h3 b{color:#000; font-weight:700;}
.info-section h3 em{color:var(--theme-primary-red); font-style:normal; font-weight:700;}
.info-card{cursor:default; background-color:#fff; border-radius:10px; padding:19px 25px 23px; transition:all .3s; height:100%;}
.info-card:hover{box-shadow:0 0 16px -10px #9b9292;}
.info-card:hover .logo-wrapper .icon{transform:scale(1.5);}
.info-card .logo-wrapper{aspect-ratio:1; border-radius:5px; place-items:center; width:40px; font-size:1.2rem; display:grid;}
.info-card .logo-wrapper .icon{transition:all .3s;}
.info-card:nth-of-type(4n+1) .logo-wrapper{color:#0c9d61; background-color:#f2faf6;}
.info-card:nth-of-type(4n+2) .logo-wrapper{color:#0075ff; background-color:#e6f2ff;}
.info-card:nth-of-type(4n+3) .logo-wrapper{color:#fe9b0e; background-color:#fff9ee;}
.info-card:nth-of-type(4n+4) .logo-wrapper{color:#ec2d30; background-color:#fef2f2;}
.info-card .title{margin-block:15px 10px; font-size:1.05rem; font-weight:600;}
.info-card p{color:var(--text-body); line-height:1.8; font-size:.92rem;}

/* ============ Customs / feature-promo section ============ */
.customs-section{padding-block:60px;}
.customs-section .image-wrapper{border-radius:17px; overflow:hidden;}
.customs-section .image-wrapper img{width:100%; transition:all .5s;}
.customs-section .image-wrapper:hover img{filter:brightness(1.15) opacity(.9); transform:scale(1.04);}
.customs-section h3{margin-block:24px 16px; font-size:1.7rem; font-weight:600; line-height:1.6;}
.customs-section p{font-size:1.02rem; line-height:2; color:var(--grey-1);}
.customs-images{position:relative;}
.customs-images .image-wrapper{border-radius:17px; overflow:hidden;}
.customs-images .image-wrapper.secondary{border:3px solid #fff; width:42%; position:absolute; box-shadow:0 15px 20px #00000026;}
.customs-images .image-wrapper.img2{top:-20px; left:-20px;}
.customs-images .image-wrapper.img3{bottom:-40px; right:-10px;}
.customs-images .image-wrapper img{object-fit:cover; width:100%;}

/* ============ Services grid cards (homepage #services) ============ */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; gap:20px; margin-top:30px;}
.services-grid .svc-card{user-select:none; border-radius:10px; grid-row:span 2; position:relative; overflow:hidden; display:block;}
.services-grid .svc-card.horizontal{grid-column:1/-1; grid-row:span 1;}
.services-grid .svc-card img.bg{object-fit:cover; z-index:1; width:100%; height:100%; transition:all .5s; position:absolute; inset:0;}
.services-grid .svc-card:hover img.bg{transform:scale(1.04);}
.services-grid .svc-card .text{
  color:#fff; z-index:3; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  padding:20px; display:flex; position:absolute; inset:0;
}
.services-grid .svc-card .text:before{
  content:''; z-index:-1; background-image:linear-gradient(#0000001f,#000000b3 70%,#000 90%);
  position:absolute; inset:0;
}
.services-grid .svc-card.horizontal .text:before{background-image:linear-gradient(270deg,#000 20%,#000000b8 60%,#0000);}
.services-grid .svc-card .subtitle{margin-bottom:5px; font-weight:300; font-size:.9rem;}
.services-grid .svc-card .title{align-items:center; gap:10px; font-size:1.3rem; font-weight:700; display:flex;}
.services-grid .svc-card.horizontal .title{font-size:1.6rem;}
.services-grid .svc-card .description{margin-block:8px auto; font-size:.9rem;}
.services-grid .svc-card .cta-btn{width:100%; margin-top:20px; padding-inline:30px; text-align:center;}
.services-grid .svc-card.horizontal .cta-btn{width:auto;}
@media (max-width:991px){
  .services-grid{grid-template-columns:1fr; grid-auto-rows:220px;}
  .services-grid .svc-card{grid-row:span 1;}
}

/* ============ Contacts / staff (homepage #contacts) ============ */
.contact-box{border-radius:10px; min-height:180px; position:relative; overflow:hidden; background:linear-gradient(270deg,#ff3d3d 60%,#0000), var(--dark);}
.contact-box .text{color:#fff; flex-direction:column; align-items:center; gap:10px; font-size:1.15rem; font-weight:600; display:flex; padding:30px;}
.contact-box .phones a{white-space:nowrap; direction:ltr; margin-inline:8px; font-size:1.6rem; font-weight:800; color:#fff; display:inline-block;}
.contact-box .phones a:hover{color:#08101f;}
.staff-card{text-align:center;}
.staff-card:hover .image-wrapper img{opacity:.85; transform:scale(1.06);}
.staff-card .image-wrapper{aspect-ratio:1; user-select:none; border-radius:20px; width:85px; margin-inline:auto; overflow:hidden;}
.staff-card .image-wrapper img{width:100%; height:100%; object-fit:cover; transition:all .25s;}
.staff-card .job-title{margin-block:16px 4px; font-size:.9rem; font-weight:400; color:var(--grey-1);}
.staff-card .name{font-weight:630;}
.staff-card .internal-phone{color:#8e8e8e; margin-block:8px 12px; font-size:.85rem;}
.staff-card .touch-points{user-select:none; justify-content:center; gap:5px; display:flex;}
.staff-card .touch-points a{aspect-ratio:1; border:1px solid #eeeeef; flex-basis:38px; place-items:center; display:grid; color:#000;}
.staff-card .touch-points a:hover{color:#f1f1f1; background-color:#000000d9;}

/* ============ Vehicle detail page ============ */
.vd-intro{text-align:center; position:relative;}
.vd-intro .en-bg{background-image:linear-gradient(#fff,#eee); width:100%; padding-block:80px 20px; position:relative;}
.vd-intro .en-bg .big-en-title{color:var(--border-light); font-size:5rem; font-weight:800; letter-spacing:4px;}
.vd-intro .content{margin-top:-15%; position:relative;}
.vd-intro .main-img{margin-bottom:20px; width:70%; max-width:800px; margin-inline:auto; display:block;}
.vd-intro .titles{margin-block:30px 20px;}
.vd-intro .titles .en{font-size:1.7rem; font-weight:600;}
.vd-intro .titles .per{margin-top:7px; font-size:1.05rem; color:var(--grey-1);}
.vd-intro .buttons .btn{margin-inline:5px; padding-inline:26px;}

.vd-navbar{color:#fff; background:#000; margin-block:40px; position:sticky; top:80px; z-index:20;}
.vd-navbar .wrapper{justify-content:space-between; align-items:center; padding-block:15px; display:flex; flex-wrap:wrap; gap:10px;}
.vd-navbar nav{gap:20px; font-weight:500; display:flex; flex-wrap:wrap; overflow-x:auto;}
.vd-navbar nav a{padding:6px; color:#ccc; white-space:nowrap; font-size:.92rem;}
.vd-navbar nav a:hover, .vd-navbar nav a.selected{color:#fff;}
.vd-navbar .title{font-weight:600; white-space:nowrap;}

.vd-spec-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 30px;}
.vd-spec-grid .info .label{color:var(--grey-1); font-size:.85rem; margin-bottom:5px;}
.vd-spec-grid .info .value{font-weight:600;}
.vd-color-bar{background:var(--bg-light); border-radius:12px; padding:20px; margin-top:20px;}
.vd-color-bar .options{display:flex; gap:8px; margin-top:8px;}
.color-circle{width:26px; height:26px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px var(--border-light); cursor:pointer;}
.vd-color-bar .price .label{font-size:.85rem; color:var(--grey-1);}
.vd-color-bar .price .value{font-size:1.4rem; font-weight:700; color:var(--theme-primary-red);}

.package-promo{background:var(--dark); color:#fff; border-radius:16px; padding:40px; text-align:center; position:relative; overflow:hidden;}
.package-promo .title{font-size:1.8rem; font-weight:700;}
.package-promo .subtitle{color:#ccc; margin-bottom:20px;}
.package-promo img{max-width:80%; margin-inline:auto; display:block;}
.package-promo .parts{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-block:20px;}
.package-promo .parts span{background:#ffffff1a; border-radius:20px; padding:5px 14px; font-size:.85rem;}

.feature-accordion .feature{border-bottom:1px solid var(--border-light); padding-block:16px;}
.feature-accordion .feature .f-title{cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-weight:600;}
.feature-accordion .feature .f-desc{color:var(--grey-1); margin-top:10px; line-height:1.9; display:none;}
.feature-accordion .feature.open .f-desc{display:block;}
.feature-accordion .feature .toggle-icon{color:var(--theme-primary-red); flex:0 0 auto;}

.option-card{border:1px solid var(--border-light); border-radius:10px; overflow:hidden; height:100%;}
.option-card img{width:100%; height:160px; object-fit:cover;}
.option-card .text-wrapper{padding:18px;}
.option-card .title{font-weight:700; margin-bottom:8px;}
.option-card .description{font-size:.88rem; color:var(--grey-1); line-height:1.8;}

.info-table-accordion .group{border-bottom:1px solid var(--border-light);}
.info-table-accordion .group .g-title{cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding-block:16px; font-weight:600;}
.info-table-accordion .group .g-body{display:none; padding-bottom:16px;}
.info-table-accordion .group.open .g-body{display:block;}
.info-table-accordion .g-body .info{display:flex; justify-content:space-between; padding-block:8px; border-top:1px solid var(--border-light); font-size:.92rem;}
.info-table-accordion .g-body .info span:first-child{color:var(--grey-1);}

/* ============ Gallery / Lightbox ============ */
.gallery-item{border-radius:10px; overflow:hidden; cursor:pointer; position:relative;}
.gallery-item img{height:200px; width:100%; object-fit:cover; transition:transform .3s;}
.gallery-item:hover img{transform:scale(1.06);}
.lightbox-overlay{position:fixed; inset:0; background:rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; z-index:2000; padding:2rem;}
.lightbox-overlay.active{display:flex;}
.lightbox-overlay img{max-width:92%; max-height:88%; border-radius:6px;}
.lightbox-close{position:absolute; top:20px; inset-inline-end:30px; color:#fff; font-size:2rem; cursor:pointer; background:none; border:none;}

/* ============ Services page ============ */
.svc-intro-box{background-color:var(--bg-light); border-radius:15px; padding:40px; position:relative; overflow:hidden;}
.svc-intro-text{max-width:60%;}
@media (max-width:767px){.svc-intro-box{padding:24px;} .svc-intro-text{max-width:100%;}}
.svc-intro-box h1{font-size:1.6rem; font-weight:625; line-height:1.7;}
.svc-intro-box .description{max-width:540px; margin-block:20px 30px; line-height:2; color:var(--grey-1);}
.svc-contacts-wrapper{align-items:center; gap:15px; margin-top:20px; display:flex; flex-wrap:wrap;}
.svc-contacts-wrapper .icon{aspect-ratio:1; color:var(--theme-primary-red); background-color:#ffebee; border-radius:6px; display:grid; place-items:center; width:50px; font-size:1.2rem;}
.svc-contacts-wrapper .phones{gap:20px; font-size:1.15rem; font-weight:600; display:flex; flex-wrap:wrap;}
.service-list-card{background:#fff; border:1px solid var(--border-light); border-radius:8px; padding:16px 22px; font-weight:500; transition:all .3s; cursor:default;}
.service-list-card:hover{color:#fff; background-color:#16161a;}
.point-card{transition:all .3s;}
.point-card:hover .icon-wrapper .icon{transform:scale(1.4);}
.point-card .icon-wrapper{aspect-ratio:1; border-radius:5px; display:grid; place-items:center; width:44px; font-size:1.2rem;}
.point-card:nth-of-type(4n+1) .icon-wrapper{color:#0c9d61; background-color:#f2faf6;}
.point-card:nth-of-type(4n+2) .icon-wrapper{color:#fe9b0e; background-color:#fff9ee;}
.point-card:nth-of-type(4n+3) .icon-wrapper{color:#0075ff; background-color:#e6f2ff;}
.point-card:nth-of-type(4n+4) .icon-wrapper{color:#ec2d30; background-color:#fef2f2;}
.point-card .title{margin-block:14px 8px; font-size:1.02rem; font-weight:600;}
.point-card p{color:#696969; font-size:.92rem;}
.testimonial-card{border:1px solid var(--border-light); border-radius:8px; padding:20px; height:100%;}
.testimonial-card .head{border-bottom:1px solid var(--border-light); justify-content:space-between; align-items:center; margin-bottom:16px; padding-bottom:16px; display:flex;}
.testimonial-card .author{align-items:center; gap:12px; display:flex;}
.testimonial-card .avatar{width:36px; height:36px; border-radius:50%; object-fit:cover;}
.testimonial-card .name{font-size:.92rem; font-weight:500;}
.testimonial-card .rating{color:#fe9b0e; font-weight:600; direction:ltr;}
.testimonial-card .title{margin-bottom:8px; font-size:1rem; font-weight:600;}
.testimonial-card .text{color:var(--grey-1); font-size:.93rem; line-height:1.9;}
.faq-section{background-color:var(--bg-light); padding-block:40px;}
.faq-list .qa{border-bottom:1px solid var(--border-light);}
.faq-list .qa .question{cursor:pointer; align-items:center; justify-content:space-between; padding:20px 5px; font-size:1rem; font-weight:600; display:flex;}
.faq-list .qa .answer{color:var(--grey-1); background:#fff; padding:0 5px 20px; font-size:.93rem; line-height:1.9;}

/* ============ Gallery page (masonry) ============ */
.gallery-masonry{column-count:4; column-gap:15px;}
.gallery-masonry .gallery-item{border-radius:10px; margin-bottom:15px; display:block; break-inside:avoid;}
@media (max-width:991px){.gallery-masonry{column-count:2;}}
@media (max-width:575px){.gallery-masonry{column-count:1;}}

/* ============ Contact page ============ */
.contact-col{border:1px solid var(--border-light); border-radius:8px; padding:30px; height:100%;}
.contact-info-row{justify-content:space-between; align-items:center; padding-block:14px; display:flex; border-bottom:1px solid var(--border-light);}
.contact-info-row:last-child{border-bottom:none;}
.contact-info-row .label{color:var(--grey-1); align-items:center; gap:10px; display:flex;}
.contact-map-wrapper{aspect-ratio:16/9; background:#f5f3f3; border-radius:8px; width:100%; margin-top:20px; position:relative; overflow:hidden;}
.team-card{border:1px solid var(--border-light); border-radius:8px; align-items:center; gap:16px; padding:20px; display:flex;}
.team-card .avatar-wrapper{border-radius:14px; width:56px; height:56px; overflow:hidden; flex:0 0 auto;}
.team-card .avatar-wrapper img{width:100%; height:100%; object-fit:cover;}
.team-card .role{color:#444; font-size:.82rem; margin-bottom:4px;}
.team-card .name{font-weight:600; white-space:nowrap;}
.team-card .phones{margin-right:auto; text-align:left;}

/* ============ Contact page ============ */
.contact-info-group{padding-block:14px; border-bottom:1px solid var(--border-light);}
.contact-info-group .label{display:flex; align-items:center; gap:8px; font-weight:600; margin-bottom:6px;}
.contact-info-group .value{color:var(--grey-1);}

/* ============ Footer ============ */
footer.site-footer{color:#fff; text-align:center; background-color:#000; margin-top:80px; position:relative; overflow:hidden;}
footer.site-footer .top{padding-block:70px 40px; position:relative; text-align:right;}
footer.site-footer .top a:hover{color:#ff8787;}
footer.site-footer .brand .logo-text{font-size:1.6rem; font-weight:700; margin-bottom:20px;}
footer.site-footer .brand .logo-text span{color:var(--theme-primary-red);}
footer.site-footer .brand .text{max-width:90%; font-size:1.05rem; font-weight:300; line-height:2; color:#ccc;}
footer.site-footer .contacts{border-top:1px solid #29292c; border-bottom:1px solid #29292c; gap:40px; margin-block:40px; padding-block:25px; display:flex; flex-wrap:wrap;}
footer.site-footer .contacts .info-group{flex:1; min-width:200px;}
footer.site-footer .contacts .info-group .label{justify-content:flex-start; align-items:center; gap:10px; margin-bottom:12px; font-size:1.05rem; font-weight:600; display:flex;}
footer.site-footer .contacts .info-group .value{font-weight:300; color:#ccc;}
footer.site-footer .contacts .info-group.phone .value a{letter-spacing:1px; direction:ltr; display:inline-block; color:#ccc;}
footer.site-footer .nav-groups{text-align:right; justify-content:space-between; gap:40px; display:flex; flex-wrap:wrap;}
footer.site-footer .nav-groups .group{flex:1; min-width:150px;}
footer.site-footer .nav-groups .group .label{margin-bottom:16px; font-size:1.1rem; font-weight:600;}
footer.site-footer .nav-groups .group a{white-space:nowrap; margin-block:5px; padding-block:5px; font-weight:300; display:block; color:#ccc;}
footer.site-footer .bottom-bar{color:var(--grey-4); background-color:#262626; padding-block:10px; font-size:.8rem; font-weight:350;}
footer.site-footer .bottom-bar .cols{justify-content:space-between; align-items:center; display:flex; flex-wrap:wrap; gap:10px;}
footer.site-footer .bottom-bar .copyright .copyright-icon{color:#939393; vertical-align:middle; margin-left:5px; font-size:.9rem;}
footer.site-footer .bottom-bar .signature{align-items:center; gap:9px; display:flex; color:var(--grey-4);}
footer.site-footer .bottom-bar .signature .heart-icon{color:#8f4b54; font-size:.7rem;}
.social-icons a{display:inline-flex; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); align-items:center; justify-content:center; margin-inline-end:6px; color:#fff;}
.social-icons a:hover{background:var(--theme-primary-red);}

/* ============ Misc / shared utilities ============ */
.section{padding:3rem 0;}
@media (max-width:767px){.section{padding:2rem 0;}}
.breadcrumb-bar{background:var(--bg-light); padding:.8rem 0; font-size:.9rem; color:var(--grey-1);}
.breadcrumb-bar a{color:var(--grey-1);}
.breadcrumb-bar a:hover{color:var(--theme-primary-red);}
.form-control:focus, .form-select:focus{border-color:var(--theme-primary-red); box-shadow:0 0 0 .2rem rgba(214,33,36,.15);}
.faq-accordion .accordion-button:not(.collapsed){color:var(--theme-primary-red); background:var(--bg-light);}
table{max-width:100%;}
.table-responsive{-webkit-overflow-scrolling:touch;}
