/*
Theme Name: Vehica Child
Theme URI: https://vehicatheme.com/
Author: TangibleDesign
Author URI: https://tangibledesign.net/
Description: Vehica
Template: vehica
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: translation-ready
Text Domain: vehica
*/

/* DriveX Motors - immagine ufficiale, header e responsive */
.vehica-header .vehica-logo {
  flex-shrink: 0;
}
.vehica-header .vehica-logo a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 68px;
}
.vehica-header .vehica-logo img {
  display: block !important;
  width: 180px !important;
  height: auto !important;
  max-width: 180px !important;
  max-height: 74px !important;
  object-fit: contain;
  mix-blend-mode: screen;
}
.vehica-menu__mobile .vehica-logo img,
.vehica-mobile-menu .vehica-logo img {
  width: 156px !important;
  max-width: 156px !important;
  max-height: 64px !important;
}
@media (max-width: 1199px) {
  .vehica-header .vehica-logo img { width: 156px !important; max-width: 156px !important; max-height: 66px !important; }
}
@media (max-width: 600px) {
  .vehica-header .vehica-logo img { width: 142px !important; max-width: 142px !important; max-height: 58px !important; }
}
/* Preserve natural photograph ratio in current inventory. */
.vehica-car-card img { object-fit: cover; }

/* DriveX Motors - mappa con caricamento esplicito per la privacy */
.drivex-location-map { position: relative; width: 100%; min-height: 420px; background: #e9edf2; overflow: hidden; border-radius: 14px; }
.drivex-location-map__placeholder {
  width: 100%; min-height: 420px; display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-align: center; padding: 32px 24px; box-sizing: border-box; color: #222936;
  background:
    linear-gradient(120deg, transparent 41%, #fff 41%, #fff 44%, transparent 44%),
    linear-gradient(35deg, transparent 56%, #fff 56%, #fff 60%, transparent 60%),
    linear-gradient(0deg, rgba(255,255,255,.3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.3) 1px, transparent 1px), #e7ebef;
  background-size: 100% 100%,100% 100%, 48px 48px,48px 48px;
}
.drivex-location-map__pin { display: inline-flex; align-items: center; justify-content: center; background: #d7192d; color: white; border: 5px solid white; border-radius: 50%; width: 54px; height: 54px; font-size: 27px; margin-bottom: 17px; box-shadow: 0 7px 23px rgba(16,20,29,.2); }
.drivex-location-map__placeholder strong { color: #1b2431; font-size: 24px; line-height: 1.2; }
.drivex-location-map__placeholder p { font-size: 15px; line-height: 1.7; margin: 10px 0 18px; }
.drivex-location-map__button { background: #d7192d; color: #fff!important; border: none; padding: 12px 25px; min-height: 45px; font-size: 15px; font-weight: 650; border-radius: 8px; cursor: pointer; }
.drivex-location-map__button:hover, .drivex-location-map__button:focus { background: #ac1223; }
.drivex-location-map__placeholder small { display: block; margin: 14px auto 0; max-width: 350px; color: #49505b; line-height: 1.4; }
.drivex-location-map__iframe { display: block; width: 100%; min-height: 420px; border: 0; }
.drivex-map-directions { display: block; margin: 8px 0 0; font-size: 14px; text-align: right; }
.drivex-map-directions a { color: #b41529; font-weight: 650; text-decoration: underline; }
@media (max-width: 767px) { .drivex-location-map,.drivex-location-map__placeholder,.drivex-location-map__iframe { min-height: 340px; } }
/* Soprattutto su desktop: evita che le voci di menu vadano a capo. */
.vehica-menu__desktop .vehica-menu__link { white-space: nowrap; }
.vehica-header .vehica-logo img { mix-blend-mode: normal; }

/* DriveX Motors - legibility and responsive legal pages, updated 2026-10-27. */
.drivex-legal { box-sizing: border-box; max-width: 1120px; margin: 0 auto; padding: 58px 28px 82px; color: #334052; font: inherit; line-height: 1.82; }
.drivex-legal * { box-sizing: border-box; }
.drivex-legal__header { padding-bottom: 32px; border-bottom: 1px solid #e6eaf0; margin-bottom: 34px; }
.drivex-legal__eyebrow { display: inline-block; color: #c51931; font-size: 13px; line-height: 1.4; text-transform: uppercase; letter-spacing: .09em; font-weight: 800; margin-bottom: 10px; }
.drivex-legal h1 { color: #141b29 !important; font-size: clamp(32px, 4vw, 50px) !important; line-height: 1.16 !important; margin: 4px 0 18px !important; font-weight: 800 !important; letter-spacing: -.025em; }
.drivex-legal h2 { color: #1e2736 !important; font-size: clamp(22px, 2vw, 27px) !important; line-height: 1.3 !important; margin: 0 0 13px !important; font-weight: 750 !important; }
.drivex-legal section { padding: 25px 0 27px; border-bottom: 1px solid #edf0f3; }
.drivex-legal section:last-child { border: none; }
.drivex-legal p, .drivex-legal li { margin: 0 0 14px; font-size: 16px; line-height: 1.82; color: #374358; }
.drivex-legal ul { padding-left: 26px; margin: 9px 0 14px; list-style: disc outside; }
.drivex-legal li { padding-left: 2px; margin-bottom: 13px; }
.drivex-legal li::marker { color: #da1b34; }
.drivex-legal a { color: #ae1428 !important; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.drivex-legal strong { color: #1c2739; font-weight: 750; }
.drivex-legal__table { width: 100%; overflow-x: auto; margin: 20px 0 24px; border-radius: 12px; border: 1px solid #e7eaf0; }
.drivex-legal table { border-collapse: collapse; width: 100%; min-width: 580px; }
.drivex-legal th, .drivex-legal td { padding: 15px 17px; vertical-align: top; text-align: left; font-size: 14px; line-height: 1.55; border-bottom: 1px solid #e9edf2; }
.drivex-legal th { background: #f0f3f8; font-weight: 800; color: #172438; }
.drivex-legal tr:last-child td { border-bottom: 0; }
@media (max-width: 767px) {
 .drivex-legal { padding: 34px 20px 64px; }
 .drivex-legal__header { margin-bottom: 16px; }
 .drivex-legal section { padding: 23px 0; }
 .drivex-legal p,.drivex-legal li { font-size: 15px; line-height: 1.75; }
}

/* DriveX Motors - inventory header and concise car-card previews. */
.drivex-inventory-title { max-width: 1250px; margin: 0 auto 5px !important; padding: 22px 6px 0; }
.drivex-inventory-title h1 { font-size: clamp(27px, 3vw, 39px) !important; font-weight: 800 !important; line-height: 1.22 !important; letter-spacing: -.025em; }
.drivex-inventory-intro { max-width: 1250px; margin: 0 auto 24px !important; padding: 0 6px; }
.drivex-inventory-intro p { font-size: 15px !important; line-height: 1.7; color: #475366; margin: 0; }
.vehica-car-card-row__secondary-attributes { display: -webkit-box !important; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden !important; max-height: 6.7em; }
@media (max-width:767px) {
 .drivex-inventory-title { padding: 18px 16px 0; }
 .drivex-inventory-intro { padding: 0 16px; margin-bottom: 18px !important; }
 .vehica-car-card-row__secondary-attributes { -webkit-line-clamp: 3; max-height: 5em; }
}

/* DriveX Motors inventory: common alignment for heading, introduction and listing. */
.elementor-widget.drivex-inventory-title,
.elementor-widget.drivex-inventory-intro {
  box-sizing: border-box;
  width: calc(100% - 60px) !important;
  max-width: 1408px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-widget.drivex-inventory-title {
  padding-top: 22px !important;
  margin-bottom: 5px !important;
}
.elementor-widget.drivex-inventory-intro {
  margin-bottom: 24px !important;
}
@media (max-width: 991px) {
  .elementor-widget.drivex-inventory-title,
  .elementor-widget.drivex-inventory-intro {
    width: calc(100% - 30px) !important;
    max-width: 100% !important;
  }
  .elementor-widget.drivex-inventory-title {
    padding-top: 18px !important;
  }
}

/* DriveX Motors: verified Via Simeto 13 location on contact and home maps. */
.drivex-location-map__identity {
  position: absolute;
  z-index: 3;
  top: 16px;
  left: 16px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  pointer-events: none;
  max-width: calc(100% - 95px);
  padding: 11px 16px;
  border: 1px solid rgba(225,230,237,.95);
  border-radius: 10px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 4px 20px rgba(15,23,42,.14);
}
.drivex-location-map__identity-name {
  color: #1b2433;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 800;
}
.drivex-location-map__identity-name span { color: #d7192d; }
.drivex-location-map__identity-address {
  color: #405068;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 500;
}
@media (max-width: 600px) {
  .drivex-location-map__identity { top: 10px; left: 10px; padding: 9px 11px; }
  .drivex-location-map__identity-name { font-size: 15px; }
  .drivex-location-map__identity-address { font-size: 11px; }
}

/* DriveX Motors - OpenStreetMap raster tiles via locally hosted Leaflet. */
.drivex-location-map__canvas {
  width: 100%;
  height: 420px;
  min-height: 420px;
  border-radius: 14px;
  overflow: hidden;
  background: #edf0f4;
}
.drivex-location-map__identity { z-index: 1200; }
.drivex-location-map__marker { background: transparent; border: 0; }
.drivex-location-map__marker-dot {
  position: relative;
  display: block;
  width: 36px;
  height: 36px;
  margin: 2px 4px;
  background: #d7192d;
  border: 4px solid #fff;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: -3px 4px 13px rgba(16, 24, 40, .30);
}
.drivex-location-map__marker-dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}
.drivex-location-map__canvas .leaflet-control-zoom {
  border: 0;
  box-shadow: 0 3px 14px rgba(15,23,42,.14);
}
.drivex-location-map__canvas .leaflet-control-zoom a { color: #1b2433 !important; }
.drivex-location-map__canvas .leaflet-popup-content {
  color: #243044;
  font-size: 13px;
  line-height: 1.55;
}
.drivex-location-map__unavailable {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
  color: #263146;
  text-align: center;
}
.drivex-location-map__unavailable a {
  color: #b61830;
  font-weight: 750;
  text-decoration: underline;
}
@media (max-width:767px) {
  .drivex-location-map__canvas {
    height: 340px;
    min-height: 340px;
  }
}
