/*
Theme Name: Vehicle Catalog
Template: generatepress
Version: 1.2.0
Description: GeneratePress child theme for the Toyota Corolla export catalog.
*/

@font-face {
    font-family: DM Sans;
    src: url('dm-sans-latin.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
}
.vehicle-catalog {
    --base: #030716;
    --navy: #101827;
    --card: #151e2e;
    --muted: #a3b6cb;
    --line: #2b394f;
    --cyan: #18c9e4;
    --blue: #245ee9;
    --gradient: linear-gradient(105deg,#09b5cc,#255cea);
    color: #f1f5fb;
    background: var(--base);
    font: 14px/1.58 "DM Sans", Arial, sans-serif;
}
.vehicle-catalog h1, .vehicle-catalog h2, .vehicle-catalog h3 { color: inherit; font-family: inherit; font-weight: 850; letter-spacing: -.027em; line-height: 1.15; }
.vehicle-catalog p { margin: 0 0 1em; }
.vehicle-catalog a { color: inherit; }
.vehicle-catalog :focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.vehicle-catalog section[id] { scroll-margin-top: 85px; }
.catalog-shell { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.catalog-skip { position: absolute; z-index: 100; left: 12px; top: -100px; color: #090d15; background: white; padding: 9px 12px; }
.catalog-skip:focus { top: 10px; }

.catalog-topbar { background: var(--base); color: #a4bbcf; font-size: 13px; border-bottom: 1px solid #1f2a3b; }
.catalog-topbar .catalog-shell, .top-info, .top-tools { display: flex; align-items: center; gap: 20px; }
.catalog-topbar .catalog-shell { min-height: 34px; justify-content: space-between; }
.catalog-topbar b { color: var(--cyan); margin-right: 6px; }
.top-tools { color: #eef6ff; }
.vehicle-catalog .top-tools select { border: 1px solid #36445a; background: #1d2839; color: #eef6ff; border-radius: 5px; padding: 2px 6px; font: 11px/1.5 "DM Sans", Arial, sans-serif; cursor: pointer; }
.catalog-header { position: sticky; top: 0; z-index: 20; background: #101827; border-bottom: 1px solid #222e41; color: #e3eaf4; }
.admin-bar .catalog-header { top: 32px; }
.catalog-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 70px; }
.catalog-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; color: white; font-size: 21px; font-weight: 900; line-height: 1.05; letter-spacing: -.055em; text-decoration: none; white-space: nowrap; }
.catalog-brand small { display: block; color: #a1afc0; font-size: 10px; letter-spacing: .15em; margin-top: 5px; }
.catalog-mark { display: block; box-sizing: border-box; width: 42px; height: 42px; padding: 2px; border-radius: 50%; background: #fff; object-fit: contain; }
.brand-accent { color: var(--cyan); }
.catalog-nav { display: flex; flex: 1; justify-content: space-between; gap: 12px; max-width: 645px; font-weight: 750; line-height: 1.45; color: #c8d3e1; }
.catalog-nav a { text-decoration: none; }
.catalog-nav a:hover { color: var(--cyan); }
.header-actions { display: flex; gap: 10px; }
.vehicle-catalog .header-actions :is(a,button) { display: grid; place-items: center; min-width: 130px; min-height: 54px; padding: 8px 15px; border: 0; border-radius: 8px; color: white; text-decoration: none; text-align: center; font-size: 12px; font-weight: 850; line-height: 1.42; cursor: pointer; }
.nav-whatsapp { background: #049769; }
.nav-contact { background: linear-gradient(105deg,#fd7616,#f4a200); }

.catalog-hero { padding: 72px 0 64px; background: radial-gradient(ellipse at 19% 4%, #10304a 0,transparent 49%), radial-gradient(ellipse at 70% 7%, #201a47 0,transparent 77%), #141831; }
.hero-copy { text-align: center; margin: 0 auto 40px; }
.hero-copy .hero-badge { display: inline-block; margin: 0 0 16px; padding: 6px 12px; color: #53ebfb; background: #103c545c; border: 1px solid #1b6281; border-radius: 999px; font-size: 11px; font-weight: 850; }
.hero-copy h1 { margin: 0 0 20px; color: #fff; font-size: clamp(33px, 3.34vw, 48px); font-weight: 950; line-height: 1.06; letter-spacing: -.041em; }
.hero-copy h1 span { color: #32c5e6; background: linear-gradient(100deg,#24cbe3,#4a9deb); background-clip: text; -webkit-text-fill-color: transparent; }
.hero-copy > p:last-child { color: #d2e0f3; font-size: 17px; line-height: 1.55; max-width: 750px; margin: 0 auto; }
.hero-filter { box-sizing: border-box; max-width: 1050px; margin: auto; padding: 24px; background: #1b2538; border: 1px solid #48576e; border-radius: 17px; box-shadow: 0 18px 45px #060a1d54; }
.inventory-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid #334158; margin-bottom: 20px; }
.inventory-tabs a { padding: 8px 13px; border: 1px solid transparent; border-radius: 7px; color: #a3b1c3; text-decoration: none; font-size: 12px; font-weight: 800; }
.inventory-tabs a[aria-current], .inventory-tabs a:hover { color: var(--cyan); border-color: #13637a; background: #10374770; }
.hero-fields, .shipping-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px 14px; }
.hero-fields label, .shipping-fields label { display: grid; gap: 5px; min-width: 0; color: #aab8cb; font-size: 10px; font-weight: 900; letter-spacing: .065em; text-transform: uppercase; }
.vehicle-catalog .hero-fields input, .vehicle-catalog .hero-fields select, .vehicle-catalog .shipping-fields select, .vehicle-catalog .inquiry-panel input, .vehicle-catalog .inquiry-panel textarea {
    box-sizing: border-box; width: 100%; min-height: 40px; padding: 8px 11px; border: 1px solid #34435b; border-radius: 8px; background: #101827; color: #e7effb; font: 13px "DM Sans", Arial, sans-serif;
}
.hero-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 30px; font-size: 11px; }
.hero-filter-actions > span { color: #a7b6ca; font-weight: 800; }
.hero-filter-actions a, .vehicle-catalog .filter-submit { border: 1px solid #34435b; border-radius: 6px; padding: 5px 14px; background: #1d293a; color: #e5edf9; text-decoration: none; font: inherit; line-height: inherit; }
.vehicle-catalog .filter-submit { cursor: pointer; color: var(--cyan); font-weight: 800; }
.hero-filter-actions a:hover, .vehicle-catalog .filter-submit:hover { border-color: var(--cyan); }
.hero-filter-actions a.is-active { color: var(--cyan); border-color: #13637a; background: #10374770; }
.hero-filter-actions .reset-search { margin-left: auto; background: transparent; color: #aebed3; border-color: transparent; text-decoration: underline; padding-right: 0; }
.hero-filter .filter-status { color: #c4d6ed; margin: 10px 0 0; font-size: 12px; }
.filter-status:empty { display: none; }
.vehicle-catalog .catalog-button { display: inline-flex; justify-content: center; align-items: center; padding: 10px 17px; border: 0; border-radius: 8px; background: var(--gradient); color: #fff; font: 800 12px/1.4 "DM Sans", Arial, sans-serif; text-decoration: none; text-align: center; cursor: pointer; }
.vehicle-catalog .catalog-button:hover { background: #147db4; color: #fff; }

.catalog-trust { padding: 38px 0; background: #111929; border-block: 1px solid #212d42; }
.trust-grid, .process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.trust-grid article { display: flex; align-items: start; gap: 12px; min-height: 112px; padding: 16px; border: 1px solid #2d384c; border-radius: 12px; background: #161e30; }
.trust-icon { display: grid; flex: 0 0 46px; place-items: center; min-height: 46px; color: #22d3ee; background: #143144; border-radius: 10px; font-size: 21px; font-weight: 900; }
.trust-grid article:nth-child(2) .trust-icon { color: #3cdb9a; background: #17313b; }
.trust-grid article:nth-child(3) .trust-icon { color: #ff9c42; background: #352a32; }
.trust-grid article:nth-child(4) .trust-icon { color: #6ca8ff; background: #1b2b49; }
.trust-grid h2, .process-grid h3 { margin: 1px 0 7px; font-size: 14px; color: #fff; }
.trust-grid p, .process-grid p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 0; }

.catalog-shop { padding: 48px 0; background: #0d111b; }
.shop-panel { max-width: 1280px; width: calc(100% - 36px); margin: auto; border: 1px solid #334258; border-radius: 20px; background: linear-gradient(145deg,#161f33,#111925); box-shadow: 0 16px 45px #05091235; }
.shop-group { padding: 30px 32px 42px; }
.shop-group + .shop-group { border-top: 1px solid #334258; }
.shop-group h2 { margin: 0 0 22px; color: white; font-size: 27px; }
.shop-carousel { display: flex; align-items: center; gap: 12px; min-width: 0; }
.shop-tiles { display: flex; flex: 1; min-width: 0; gap: 14px; padding-block: 2px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.shop-tile { flex: 0 0 142px; display: grid; place-items: center; align-content: center; gap: 12px; min-height: 142px; padding: 14px 9px; border: 1px solid #34425a; border-radius: 14px; background: #1c2739; color: white; text-align: center; text-decoration: none; scroll-snap-align: start; }
.shop-tile:hover { border-color: var(--cyan); background: #22324a; }
.shop-tile span { display: grid; place-items: center; height: 57px; width: 66px; color: #56d9ed; background: #163654; border-radius: 8px; font-size: 19px; font-weight: 900; }
.shop-tile strong { font-size: 14px; }
.vehicle-catalog .shop-arrow { flex: 0 0 41px; padding: 0; height: 48px; color: #ecf6ff; background: #1d283b; border: 1px solid #35445b; border-radius: 11px; font-size: 29px; cursor: pointer; }
.vehicle-catalog .shop-arrow:disabled { opacity: .26; cursor: default; }

.catalog-inventory, .catalog-shipping, .catalog-process, .catalog-inspection { padding: 64px 0; }
.catalog-shipping, .catalog-inspection { background: #111929; border-block: 1px solid #202c41; }
.section-heading { margin-bottom: 27px; }
.section-heading h2, .inspection-grid h2, .inquiry-panel h2 { color: white; font-size: clamp(25px,3vw,30px); margin: 0 0 7px; }
.vehicle-catalog .kicker { margin: 0 0 5px; color: var(--cyan); font-size: 11px; font-weight: 900; letter-spacing: .09em; }
.section-heading p:not(.kicker), .inspection-grid p:not(.kicker) { color: var(--muted); margin: 0; }
.inventory-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; }
.inventory-heading strong { color: var(--cyan); }
.centered { text-align: center; }
.vehicle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.vehicle-card { overflow: hidden; background: var(--card); border: 1px solid #202c40; border-radius: 16px; }
.vehicle-card-image { position: relative; display: block; }
.vehicle-card-image > span { position: absolute; top: 11px; right: 12px; padding: 5px 9px; border-radius: 999px; background: #152436; color: #e8f2ff; font-size: 11px; }
.vehicle-card-image > .vehicle-status { right: auto; left: 12px; }
.vehicle-card-image > .vehicle-status-sold { background: #2e3543; color: #fff; font-weight: 800; }
.vehicle-photo { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.vehicle-photo-empty { display: grid; place-items: center; background: #101827; color: var(--muted); }
.vehicle-card-copy { padding: 18px; }
.vehicle-card-copy h3 { margin: 0 0 13px; font-size: 19px; }
.card-specs, .card-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.card-specs { padding: 11px; background: #111929; border: 1px solid #202b3e; border-radius: 9px; color: var(--muted); font-size: 12px; }
.vehicle-card-bottom { display: flex; align-items: end; justify-content: space-between; margin-top: 16px; padding: 13px 0 9px; border-top: 1px solid #29364b; gap: 8px; }
.vehicle-card-bottom > span { color: var(--muted); font-size: 11px; }
.vehicle-card-bottom strong { color: var(--cyan); font-size: 20px; }
.vehicle-catalog .whatsapp-outline { background: #112f35; border: 1px solid #126551; color: #40df9b; }
.vehicle-pagination { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.inventory-empty { border: 1px solid var(--line); border-radius: 15px; padding: 32px; text-align: center; background: #101827; }
.inventory-empty h3 { margin: 0 0 6px; font-size: 19px; }
.inventory-empty p { color: var(--muted); }

.shipping-panel { max-width: 900px; margin: auto; padding: 27px; background: #192334; border: 1px solid #36465e; border-radius: 16px; }
.shipping-fields { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.shipping-total { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; padding: 18px; border-radius: 11px; background: #0a1020; }
.shipping-total small { display: block; color: var(--muted); }
.shipping-total strong { display: block; color: var(--cyan); margin: 3px 0; font-size: 27px; }
.process-grid { gap: 20px; }
.process-grid article { min-height: 145px; padding: 22px; background: #141d2d; border: 1px solid #222e43; border-radius: 15px; }
.process-grid b { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 12px; color: var(--cyan); background: #123344; border: 1px solid #126781; border-radius: 10px; font-size: 18px; }
.inspection-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.inspection-grid ul { list-style: none; margin: 18px 0 20px; padding: 0; }
.inspection-grid li { padding: 4px 0; }
.inspection-grid li::before { content: '✓'; color: var(--cyan); margin-right: 8px; }
.inspection-card { border: 1px solid #35435b; border-radius: 15px; overflow: hidden; background: #192334; }
.inspection-media { display: block; width: 100%; height: auto; }
.inspection-caption { padding: 15px 18px; border-top: 1px solid var(--line); }
.inspection-caption small { display: block; color: var(--muted); }

.quote-area, .vehicle-detail { padding-block: 36px 60px; }
.inquiry-panel { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; border-radius: 16px; padding: clamp(20px,4vw,38px); background: #172236; border: 1px solid var(--line); }
.inquiry-panel p { color: var(--muted); }
.inquiry-panel form, .form-row { display: grid; gap: 12px; }
.form-row { grid-template-columns: 1fr 1fr; }
.inquiry-panel label { display: grid; gap: 5px; font-weight: 750; }
.inquiry-panel textarea { min-height: 90px; resize: vertical; }
.inquiry-panel button { justify-self: start; }
.form-trap { position: absolute; clip-path: inset(50%); overflow: hidden; width: 1px; height: 1px; white-space: nowrap; }
.inquiry-panel .form-status { border: 1px solid #769bbf; padding: 8px 12px; border-radius: 6px; margin: 0; }
.quote-dialog { width: min(570px, calc(100% - 30px)); max-height: calc(100% - 32px); padding: 0; color: white; background: #172236; border: 1px solid #40536d; border-radius: 16px; }
.quote-dialog::backdrop { background: #0009; }
.quote-dialog .inquiry-panel { grid-template-columns: 1fr; gap: 11px; border: 0; }
.vehicle-catalog .quote-close { position: absolute; z-index: 1; top: 9px; right: 9px; border-radius: 8px; background: #283751; color: #fff; font-size: 22px; line-height: 1; padding: 6px 10px; cursor: pointer; }

.catalog-footer { background: #030716; color: var(--muted); }
.catalog-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 32px; padding-block: 42px 28px; }
.catalog-footer .catalog-brand { color: #fff; margin-bottom: 13px; }
.catalog-footer h3 { margin: 0 0 10px; font-size: 14px; color: #fff; }
.catalog-footer p, .catalog-footer-grid > div > a:not(.catalog-brand) { display: block; font-size: 12px; margin-bottom: 7px; }
.catalog-footer a { color: inherit; text-decoration: none; }
.catalog-footer a:hover { color: var(--cyan); }
.vehicle-catalog .footer-contact { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.vehicle-catalog .footer-contact:hover { color: var(--cyan); }
.catalog-footer-bottom { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid #1e293b; padding-block: 19px; font-size: 11px; }
.vehicle-catalog .floating-whatsapp { position: fixed; bottom: 22px; right: 23px; z-index: 30; display: grid; place-items: center; width: 51px; height: 51px; padding: 0; border: 0; border-radius: 50%; color: white; background: #0bb987; box-shadow: 0 8px 20px #0004; font-size: 20px; font-weight: 850; cursor: pointer; }
.vehicle-catalog .floating-whatsapp span { border: 2px solid white; border-radius: 50%; width: 24px; height: 24px; line-height: 19px; text-align: center; }
.vehicle-catalog.single-vc_vehicle { background: #f3f5f8; }
.vehicle-detail { color: #172b49; }
.vehicle-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 17px; font-size: 13px; color: #52667f; }
.detail-panel { padding: 24px; margin: 0 0 20px; border: 1px solid #e0e7f0; border-radius: 16px; background: #fff; }
.vehicle-detail-grid { display: grid; grid-template-columns: 1.55fr 1fr; align-items: start; gap: clamp(20px,3vw,34px); }
.vehicle-detail-gallery { min-width: 0; }
.vehicle-detail-grid .vehicle-photo { height: 460px; aspect-ratio: auto; border-radius: 12px; object-fit: contain; background: #edf1f6; }
.vehicle-thumbnails { display: flex; gap: 8px; margin-top: 10px; padding: 3px; overflow-x: auto; }
.vehicle-thumbnails a { display: block; flex: 0 0 100px; border: 2px solid #dbe5f0; border-radius: 8px; overflow: hidden; }
.vehicle-thumbnails a[aria-current] { border-color: #2470c2; }
.vehicle-thumbnails img { display: block; width: 100%; height: 75px; object-fit: cover; }
.vehicle-detail h1 { font-size: clamp(27px,3.5vw,43px); margin: 4px 0 16px; }
.vehicle-summary .kicker { color: #245785; }
.vehicle-detail-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 7px; }
.vehicle-detail-price strong { color: #c74c0c; font-size: 32px; line-height: 1.12; }
.vehicle-detail-price > span { color: #52667f; font-weight: 750; }
.vehicle-summary .sold-note, .vehicle-summary-copy { color: #52667f; }
.vehicle-quick-facts { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.vehicle-quick-facts span { padding: 5px 10px; border-radius: 7px; background: #edf1f6; font-size: 13px; }
.detail-contact-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.vehicle-catalog .detail-whatsapp { background: #078157; }
.vehicle-catalog .detail-email { background: #172b49; }
.detail-quote-link { display: inline-block; margin-top: 12px; font-weight: 750; }
.vehicle-specs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0; }
.vehicle-specs div { border: 1px solid #e0e7f0; border-radius: 9px; padding: 12px; background: #f7f9fc; }
.vehicle-specs dt { color: #52667f; font-size: 12px; }
.vehicle-specs dd { margin: 3px 0 0; font-weight: 750; }
.detail-panel h2 { margin: 0 0 16px; font-size: clamp(22px,2.4vw,29px); }
.vehicle-detail .inquiry-panel { color: white; }
@media (max-width: 850px) {
    .vehicle-specs { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .vehicle-detail-grid { grid-template-columns: minmax(0,1fr); }
    .detail-panel { padding: 16px; }
    .vehicle-detail-grid .vehicle-photo { height: 300px; }
}
@media (max-width: 450px) {
    .vehicle-specs { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 1060px) {
    .catalog-nav { display: none; }
    .trust-grid, .process-grid, .catalog-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 780px) {
    .top-info > span:nth-child(2) { display: none; }
    .hero-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vehicle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .inspection-grid { gap: 24px; }
}
@media (max-width: 560px) {
    .admin-bar .catalog-header { top: 0; }
    .catalog-topbar .catalog-shell { padding: 7px 0; flex-direction: column; justify-content: center; gap: 4px; }
    .top-info, .top-tools { gap: 14px; }
    .catalog-header-inner { min-height: 65px; gap: 9px; }
    .catalog-header .catalog-brand { font-size: clamp(16px, 4.6vw, 21px); }
    .catalog-header .catalog-brand small, .vehicle-catalog .header-actions .nav-whatsapp { display: none; }
    .catalog-header .catalog-mark { width: 40px; height: 40px; }
    .vehicle-catalog .header-actions .nav-contact { min-width: 96px; padding-inline: 8px; }
    .catalog-hero { padding: 48px 0; }
    .hero-copy h1 { font-size: clamp(28px,8vw,33px); }
    .hero-copy > p:last-child { font-size: 16px; }
    .hero-filter { padding: 16px; }
    .inventory-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    .inventory-tabs a { justify-self: start; padding: 7px 9px; }
    .hero-fields, .shipping-fields, .vehicle-grid, .vehicle-detail-grid, .inspection-grid, .inquiry-panel { grid-template-columns: minmax(0,1fr); }
    .hero-filter-actions { margin-top: 17px; }
    .catalog-trust, .catalog-shop, .catalog-inventory, .catalog-shipping, .catalog-process, .catalog-inspection { padding: 34px 0; }
    .trust-grid, .process-grid { gap: 11px; }
    .trust-grid article { flex-direction: column; }
    .trust-icon { flex-basis: auto; width: 39px; min-height: 38px; }
    .shop-group { padding: 20px 15px 25px; }
    .shop-group h2 { font-size: 22px; }
    .shop-tile { flex-basis: 116px; min-height: 120px; }
    .vehicle-catalog .shop-arrow { flex-basis: 27px; }
    .inventory-heading, .shipping-total, .catalog-footer-bottom { align-items: flex-start; flex-direction: column; }
    .shipping-panel { padding: 16px; }
    .shipping-total strong { font-size: 22px; }
    .process-grid article { padding: 14px; }
    .catalog-footer-grid { gap: 19px; }
    .vehicle-catalog .floating-whatsapp { right: 20px; bottom: 19px; }
}
@media (max-width: 370px) {
    .catalog-shell { width: calc(100% - 26px); }
    .catalog-brand { gap: 6px; }
    .catalog-header .catalog-mark { width: 34px; height: 34px; }
    .catalog-header .catalog-brand { font-size: 16px; }
    .form-row { grid-template-columns: 1fr; }
}

