/*
Theme Name: Tycoon
Theme URI: https://tycoonvietnam.com
Author: Tycoon Vietnam
Description: Custom theme trang chủ Tycoon - phim cách nhiệt ô tô và tòa nhà kính. Được build theo bản thiết kế trang chủ (gradient nhiệt cam-xanh theo logo thương hiệu).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tycoon
*/

:root{
  --ink:#071627;
  --panel:#0C1F33;
  --panel-2:#102B45;
  --paper:#F6F8FA;
  --paper-2:#EBF1F7;
  --heat:#F07025;
  --heat-dim:#B14E14;
  --cool:#2E8AC7;
  --cool-dim:#175485;
  --steel:#93A8BE;
  --steel-dim:#4C6178;
  --line:#1C3A57;
  --line-light:#DAE3EB;
  --ink-text:#0E1B29;
  --radius:2px;
  --grad: linear-gradient(90deg, var(--heat) 0%, #FFA857 32%, #6FB3DE 62%, var(--cool) 100%);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink-text);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block; max-width:100%; height:auto;}
.imgbox img, .result-media img{width:100%; height:100%; object-fit:cover;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif; letter-spacing:-0.01em;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  display:flex; align-items:center; gap:10px; font-weight:600;
}
.eyebrow::before{content:""; width:22px; height:1px; background:currentColor; display:inline-block;}
.gradbar{height:3px; width:100%; background:var(--grad);}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:14px 26px; font-size:14px; font-weight:600;
  border-radius:var(--radius); cursor:pointer; border:1px solid transparent; font-family:'Inter',sans-serif;
  transition:transform .15s ease, opacity .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--cool); color:#fff;}
.btn-ghost{border-color:rgba(255,255,255,0.35); color:#fff;}
.btn-dark{background:var(--ink-text); color:#fff;}
.btn-line{border-color:var(--ink-text); color:var(--ink-text);}

/* NAV */
header{
  position:sticky; top:0; z-index:50; background:rgba(7,22,39,0.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
nav{display:flex; align-items:center; justify-content:space-between; height:76px; color:#fff;}
.logo{font-family:'Space Grotesk'; font-weight:700; font-size:21px; letter-spacing:0.01em; display:flex; align-items:center; gap:10px;}
.logo .dot{width:9px; height:9px; background:var(--cool); border-radius:50%; box-shadow:0 0 12px var(--cool);}
.logo img{max-height:42px; width:auto; height:auto; object-fit:contain;}
.logo .custom-logo-link{display:flex; align-items:center;}
.navlinks{display:flex; gap:34px; font-size:13.5px; font-weight:500; color:var(--steel);}
.navlinks a:hover{color:#fff;}
.navlinks ul{list-style:none; display:flex; gap:34px;}
.navcta{display:flex; align-items:center; gap:18px;}
.navcta .tel{font-family:'IBM Plex Mono'; font-size:13px; color:var(--steel);}
.menu-toggle{display:none; background:none; border:none; color:#fff; font-size:22px; cursor:pointer;}

/* HERO */
.hero{position:relative; background:var(--ink); color:#fff; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; align-items:stretch; min-height:640px;}
.hero-copy{padding:74px 0 60px 0; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2;}
.hero-copy .eyebrow{color:var(--cool); margin-bottom:22px;}
.hero h1{font-size:52px; line-height:1.06; font-weight:700; max-width:560px;}
.hero h1 .hl{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero p.sub{margin-top:22px; color:var(--steel); font-size:16px; max-width:460px; line-height:1.6;}
.hero-actions{display:flex; gap:14px; margin-top:36px; flex-wrap:wrap;}
.tabs{display:flex; gap:0; margin-top:44px; border:1px solid var(--line); width:max-content; border-radius:var(--radius); overflow:hidden;}
.tabs button{
  font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
  background:transparent; border:none; color:var(--steel); padding:11px 20px; cursor:pointer;
}
.tabs button.active{background:var(--panel-2); color:#fff;}

.hero-visual{position:relative; min-height:340px;}
.hero-visual .imgbox{position:absolute; inset:0;}
.hero-visual::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(7,22,39,0.05), rgba(7,22,39,0.85)), linear-gradient(90deg, var(--ink) 0%, rgba(7,22,39,0) 20%);
}
.temp-readout{
  position:absolute; z-index:3; bottom:30px; left:30px; right:30px;
  background:rgba(7,22,39,0.72); border:1px solid var(--line); backdrop-filter:blur(6px);
  padding:16px 20px; display:flex; justify-content:space-between; gap:16px; border-radius:var(--radius); flex-wrap:wrap;
}
.temp-readout .item{font-family:'IBM Plex Mono'; font-size:11px; color:var(--steel);}
.temp-readout .item b{display:block; font-size:19px; color:#fff; font-weight:600; margin-top:3px;}
.temp-readout .item b.cool{color:var(--cool);}
.temp-readout .item b.heat{color:var(--heat);}

/* SECTION HEADERS */
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:44px; gap:24px; flex-wrap:wrap;}
.sec-head h2{font-size:34px; font-weight:600; max-width:640px; line-height:1.15;}
.sec-head p{color:var(--steel-dim); font-size:14.5px; max-width:340px; line-height:1.55;}
section{padding:90px 0;}
.on-dark{background:var(--ink); color:#fff;}
.on-dark .sec-head p{color:var(--steel);}
.on-dark .eyebrow{color:var(--cool);}
.on-light .eyebrow{color:var(--heat-dim);}

/* WHY 6 ICONS */
.why-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.why-card{background:var(--panel); padding:34px 28px; min-height:200px; display:flex; flex-direction:column; justify-content:space-between;}
.why-card .num{font-family:'IBM Plex Mono'; font-size:11px; color:var(--steel-dim);}
.why-card h4{font-size:18px; margin-top:22px; font-weight:600;}
.why-card p{font-size:13px; color:var(--steel); margin-top:8px; line-height:1.5;}

/* RESULTS */
.results-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.result-card{border:1px solid var(--line-light); background:#fff;}
.result-media{height:260px; position:relative; background:#111;}
.result-media .tag{position:absolute; top:14px; left:14px; background:var(--ink); color:#fff; font-family:'IBM Plex Mono'; font-size:10.5px; padding:6px 10px; letter-spacing:0.06em;}
.result-media .play{position:absolute; bottom:14px; right:14px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.92); display:flex; align-items:center; justify-content:center; font-size:13px; cursor:pointer;}
.result-body{padding:24px 26px;}
.result-body h4{font-size:19px; font-weight:600;}
.result-stats{display:flex; gap:26px; margin-top:16px;}
.result-stats div{font-family:'IBM Plex Mono';}
.result-stats span{display:block; font-size:10.5px; color:var(--steel-dim); text-transform:uppercase; letter-spacing:0.06em;}
.result-stats b{font-size:22px; color:var(--ink-text);}
.result-stats b.drop{color:var(--cool-dim);}

/* FILM LINES */
.film-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.film-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px;
    margin-top:40px;
}

.film-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    display:flex;
    flex-direction:column;
    transition:.3s;
}

.film-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}

.film-image{
    width:100%;
    height:220px;
    object-fit:cover;
    object-position:center;
    display:block;
}

.film-card h3{
    margin:24px 24px 8px;
    font-size:28px;
    font-weight:700;
    color:#111827;
}

.tagline{
    margin:0 24px 20px;
    font-size:13px;
    font-weight:700;
    color:#ffb400;
    letter-spacing:1px;
    text-transform:uppercase;
}

.film-table{
    width:calc(100% - 48px);
    margin:0 24px;
    border-collapse:collapse;
}

.film-table tr{
    border-bottom:1px solid #ececec;
}

.film-table td{
    padding:14px 0;
    font-size:15px;
}

.film-table td:last-child{
    text-align:right;
    font-weight:600;
    color:#111827;
}

.film-card{
    background:var(--panel);
    border:1px solid var(--line);
}

.film-card h3{
    color:#fff;
}

.film-table td{
    color:var(--steel);
}

.film-table td:last-child{
    color:#fff;
}

.film-table tr{
    border-bottom:1px solid var(--line);
}

.film-card .btn{
    margin:24px;
    margin-top:auto;
    text-align:center;
}
.film-card .btn-ghost{
    display:flex;
    align-items:center;
    justify-content:center;

    margin-top:auto;
    padding:14px 20px;

    background:transparent;
    color:var(--heat);
    border:2px solid var(--heat);
    border-radius:8px;

    font-weight:600;
    text-decoration:none;
    transition:all .25s ease;
}

.film-card .btn-ghost:hover{
    transform:translateY(-2px);
    filter:brightness(1.08);
    box-shadow:0 10px 24px rgba(46,138,199,.25);
}
@media(max-width:768px){

    .film-grid{
        grid-template-columns:1fr;
        gap:24px;
    }

    .film-image{
        height:180px;
    }

    .film-card h3{
        font-size:24px;
    }

}

/* PARTNERS */
.logo-strip{display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--line-light); border-bottom:none;}
.logo-strip div{border-bottom:1px solid var(--line-light); border-right:1px solid var(--line-light); padding:26px 10px; text-align:center; font-family:'Space Grotesk'; font-weight:600; font-size:14px; color:var(--steel-dim);}
.logo-strip div:last-child{border-right:none;}
.case-list{margin-top:28px; border-top:1px solid var(--line-light);}
.case-row{display:flex; justify-content:space-between; align-items:center; padding:20px 4px; border-bottom:1px solid var(--line-light); font-size:14.5px; flex-wrap:wrap; gap:6px;}
.case-row .name{font-weight:600;}
.case-row .meta{font-family:'IBM Plex Mono'; font-size:12px; color:var(--steel-dim);}

/* VIDEO */
.video-wrap{position:relative; aspect-ratio:16/7; background:var(--ink); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:#fff; overflow:hidden;}
.video-wrap iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-wrap .play-lg{width:70px; height:70px; border-radius:50%; border:1px solid var(--cool); display:flex; align-items:center; justify-content:center; font-size:16px; color:var(--cool); cursor:pointer; position:relative; z-index:2;}

/* NEWS */
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.news-card .thumb{height:170px; background:var(--paper-2) center/cover no-repeat; border:1px solid var(--line-light);}
.news-card .cat{font-family:'IBM Plex Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--heat-dim); margin-top:16px; display:block;}
.news-card h4{font-size:17px; margin-top:8px; font-weight:600; line-height:1.35;}
.news-card .date{font-size:12px; color:var(--steel-dim); margin-top:10px;}

/* FORM */
.form-section{background:var(--panel-2); color:#fff;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.form-grid h2{font-size:32px; max-width:420px; color:#fff;}
.trust-list{margin-top:28px; display:flex; flex-direction:column; gap:14px;}
.trust-list div{display:flex; gap:12px; font-size:14px; color:var(--steel); align-items:flex-start;}
.trust-list div::before{content:"\2014"; color:var(--cool);}
.form-card{background:var(--ink); border:1px solid var(--line); padding:36px;}
.field{margin-bottom:16px;}
.field label{font-family:'IBM Plex Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--steel); display:block; margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%; background:transparent; border:1px solid var(--line); color:#fff; padding:12px 14px; font-size:14px; font-family:'Inter'; border-radius:var(--radius);
}
.field input::placeholder{color:var(--steel-dim);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-card .btn{width:100%; justify-content:center; margin-top:8px; border:none;}
.form-success{background:rgba(46,138,199,0.15); border:1px solid var(--cool); color:#fff; padding:14px 18px; font-size:13.5px; margin-bottom:18px; border-radius:var(--radius);}
.field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.field label{
    color:#fff;
    font-size:14px;
    font-weight:600;
}

.select-wrap{
    position:relative;
}

.select-wrap::after{
    content:"";
    position:absolute;
    top:50%;
    right:18px;
    width:8px;
    height:8px;
    border-right:2px solid var(--steel);
    border-bottom:2px solid var(--steel);
    transform:translateY(-70%) rotate(45deg);
    pointer-events:none;
    transition:.25s;
}

.select-wrap:focus-within::after{
    border-color:var(--cool);
}

.field select{
    width:100%;
    height:52px;
    padding:0 48px 0 16px;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    color:#fff;
    font-size:15px;
    outline:none;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    transition:.25s;
    cursor:pointer;
}

.field select:hover{
    border-color:var(--cool-dim);
}

.field select:focus{
    border-color:var(--cool);
    box-shadow:0 0 0 3px rgba(46,138,199,.18);
}

.field select option{
    background:var(--panel);
    color:#fff;
}

/* FOOTER */
footer{background:var(--ink); color:var(--steel); padding:60px 0 30px 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--line);}
.footer-grid h5{color:#fff; font-family:'IBM Plex Mono'; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px;}
.footer-grid a{display:block; font-size:13.5px; margin-bottom:10px; color:var(--steel);}
.footer-grid a:hover{color:#fff;}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12px; color:var(--steel-dim); flex-wrap:wrap; gap:8px;}

/* CHAT WIDGET */
.chat-fab{
  position:fixed; bottom:28px; right:28px; z-index:60; width:58px; height:58px; border-radius:50%;
  background:var(--cool); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(46,138,199,0.4);
  font-family:'Space Grotesk'; font-weight:700; color:#fff; font-size:20px; cursor:pointer; border:none;
}


/* Generic page fallback (index.php / page.php) */
.generic-content{padding:90px 0; min-height:40vh;}
.generic-content h1{font-size:38px; margin-bottom:20px;}
.generic-content .entry-content{font-size:15px; line-height:1.7; max-width:760px;}
.generic-content .entry-content p{margin-bottom:16px;}

/* PRODUCT DETAIL PAGES */
.product-hero{background:var(--ink); color:#fff; padding:86px 0 72px; overflow:hidden;}
.product-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;}
.product-hero h1{font-size:clamp(42px,6vw,72px); line-height:1; color:#fff; margin:12px 0;}
.product-tagline{font-family:'IBM Plex Mono'; text-transform:uppercase; letter-spacing:.06em; color:var(--cool); font-size:12px; margin-bottom:22px;}
.product-description{max-width:590px; font-size:17px; line-height:1.7; color:var(--steel);}
.product-hero-media{position:relative; min-height:350px; border:1px solid var(--line); overflow:hidden;}
.product-hero-media img{width:100%; height:100%; min-height:350px; display:block; object-fit:cover;}
.product-hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(9,18,29,.75));}
.product-hero-media span{position:absolute; z-index:1; left:20px; bottom:18px; padding:8px 10px; background:var(--heat); color:#fff; font-family:'IBM Plex Mono'; text-transform:uppercase; letter-spacing:.05em; font-size:10px;}
.product-benefit-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.product-benefit{border:1px solid var(--line-light); padding:26px; background:#fff; min-height:174px;}
.product-benefit span{display:block; color:var(--heat); font-family:'IBM Plex Mono'; font-size:12px; margin-bottom:32px;}
.product-benefit p{font-size:15px; line-height:1.6; margin:0; color:var(--ink);}
.product-spec-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:72px; align-items:center;}
.product-spec-grid h2{color:#fff; margin:10px 0 16px;}.product-spec-grid p{color:var(--steel); max-width:440px; line-height:1.7;}
.product-spec-table{border-top:1px solid var(--line);}.product-spec-table div{display:flex; justify-content:space-between; gap:25px; padding:19px 0; border-bottom:1px solid var(--line); color:var(--steel); font-size:15px;}.product-spec-table strong{color:#fff; text-align:right;}.product-extra{padding-top:0;}.product-extra .entry-content{font-size:15px; line-height:1.7; max-width:760px;}.product-cta{padding:62px 0; background:var(--panel-2); color:#fff;}.product-cta .wrap{display:flex; align-items:center; justify-content:space-between; gap:30px;}.product-cta h2{color:#fff; margin:8px 0;}.product-cta p{color:var(--steel); margin:0;}
.product-technology-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start;}.product-technology h2{color:#fff; margin:10px 0 16px;}.product-technology-grid > div > p{color:var(--steel); line-height:1.7;}.technology-list{border-top:1px solid var(--line);}.technology-list article{padding:20px 0; border-bottom:1px solid var(--line);}.technology-list h3{color:#fff; font-size:17px; margin:0 0 8px;}.technology-list p{color:var(--steel); line-height:1.6; margin:0; font-size:14px;}.metric-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}.metric-card{background:#fff; border:1px solid var(--line-light); padding:24px;}.metric-card h3{color:var(--heat); font-family:'Space Grotesk'; font-size:28px; margin:0 0 4px;}.metric-name{font-family:'IBM Plex Mono'; color:var(--steel-dim); text-transform:uppercase; font-size:9px; letter-spacing:.04em; min-height:25px; margin:0 0 22px;}.metric-card p:last-child{line-height:1.65; font-size:13px; margin:0; color:var(--steel-dim);}.metric-card strong{color:var(--ink);}.metric-note{margin:20px 0 0; color:var(--steel-dim); font-size:13px; line-height:1.6;}

@media(max-width:900px){
  .product-hero-grid,.product-spec-grid,.product-technology-grid{grid-template-columns:1fr;gap:36px;}
  .product-hero{padding:58px 0;}.product-hero-media,.product-hero-media img{min-height:260px;}
  .product-benefit-grid,.metric-grid{grid-template-columns:1fr;}.product-cta .wrap{display:block;}.product-cta .btn{margin-top:24px;}
}

/* DEALER REGISTRATION */
.dealer-registration-hero{background:var(--ink); color:#fff; padding:86px 0 76px;}.dealer-registration-hero .eyebrow{color:var(--cool);}.dealer-registration-hero h1{font-size:clamp(40px,5vw,66px); line-height:1.05; margin:16px 0;}.dealer-registration-hero h1 span{color:var(--cool);}.dealer-registration-hero p{color:var(--steel); max-width:620px; line-height:1.7; font-size:16px;}.dealer-registration-section{background:var(--paper);}.dealer-registration-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start;}.dealer-registration-benefits{padding-top:18px;}.dealer-registration-benefits .eyebrow{color:var(--heat-dim);}.dealer-registration-benefits h2{font-size:34px; line-height:1.2; margin:14px 0 28px;}.dealer-registration-benefits ul{list-style:none; display:flex; flex-direction:column; gap:16px; color:var(--steel-dim); font-size:14px; line-height:1.55;}.dealer-registration-benefits li{display:flex; gap:11px; align-items:flex-start;}.dealer-registration-benefits .bi{color:var(--cool); font-size:18px; line-height:1.2;}.dealer-registration-card{background:var(--ink); border:1px solid var(--line); padding:34px;}.dealer-registration-card .btn{width:100%; justify-content:center; border:0; margin-top:8px;}.dealer-registration-error{border-color:var(--heat); background:rgba(240,112,37,.15);}.field textarea{resize:vertical; min-height:100px; line-height:1.5;}.field textarea::placeholder{color:var(--steel-dim);}

@media(max-width:900px){
  .dealer-registration-grid{grid-template-columns:1fr; gap:38px;}
  .dealer-registration-card{padding:24px;}
}

.logo-strip{
    display:flex;
    /* gap:20px; */
    justify-content: space-between;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:10px;

    scrollbar-width:thin;
    scrollbar-color:var(--heat) transparent;
    border: none;
}

.logo-strip::-webkit-scrollbar{
    height:8px;
}

.logo-strip::-webkit-scrollbar-thumb{
    background:var(--heat);
    border-radius:999px;
}

.logo-strip::-webkit-scrollbar-track{
    background:transparent;
}

.brand-item{
    flex:0 0 180px;

    background:#fff;
    /* border:1px solid var(--line-light); */
    border-radius:12px;
    padding:20px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.brand-logo{
    width:120px;
    height:60px;
    object-fit:contain;
    margin-bottom:12px;
}

@media(max-width:900px){
  .hero-grid, .results-grid, .film-grid, .why-grid, .news-grid, .footer-grid, .form-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .navlinks{display:none;}
  .menu-toggle{display:block;}
  .hero h1{font-size:36px;}
}

.case-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:40px;
    padding-top: 50px;
}

.case-card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--line-light);
    transition:all .3s ease;
}

.case-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.case-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.case-content{
    padding:20px;
}

.case-content h3{
    margin:0 0 10px;
    color:var(--ink);
    font-size:20px;
}

.case-content p{
    margin:0 0 16px;
    color:var(--steel-dim);
    line-height:1.6;
}

.case-tag{
    display:inline-block;
    padding:6px 12px;
    border-radius:999px;

    background:var(--heat);
    color:#fff;

    font-size:13px;
    font-weight:600;
}

/* DEALER DIRECTORY */
.dealer-hero{background:var(--ink); color:#fff; padding:86px 0 76px;}
.dealer-hero .eyebrow{color:var(--cool);}
.dealer-hero h1{font-size:clamp(40px,5vw,66px); line-height:1.04; margin:16px 0;}
.dealer-hero h1 span{color:var(--cool);}
.dealer-hero p{max-width:520px; color:var(--steel); line-height:1.7; font-size:16px;}
.dealer-filter-row{display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:36px;}
.dealer-filter-row h2{font-size:34px; margin-top:10px;}
.dealer-select-label{display:flex; flex-direction:column; gap:8px; min-width:270px; font-family:'IBM Plex Mono'; color:var(--steel-dim); text-transform:uppercase; font-size:10px; letter-spacing:.07em;}
.dealer-select-label select{background:#fff; border:1px solid var(--line-light); color:var(--ink); padding:14px; font:500 14px 'Inter',sans-serif; text-transform:none; letter-spacing:0;}
.dealer-layout{display:grid; grid-template-columns:.85fr 1.15fr; border:1px solid var(--line-light); background:#fff; min-height:470px;}
.dealer-list-panel{padding:24px; border-right:1px solid var(--line-light);}
.dealer-list-heading{display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line-light);}
.dealer-count{font-family:'IBM Plex Mono'; color:var(--steel-dim); text-transform:uppercase; font-size:10px; letter-spacing:.07em; padding-bottom:14px; border-bottom:1px solid var(--line-light);}
.dealer-list-heading .dealer-count{border:0;}
.dealer-list-toggle{display:none; border:0; background:transparent; color:var(--cool-dim); font:600 12px 'Inter',sans-serif; cursor:pointer; padding:0 0 14px;}
.dealer-list-toggle .bi{display:inline-block; font-size:14px; margin-left:4px; transition:transform .2s ease;}
.dealer-list{display:flex; flex-direction:column;}
.dealer-list-item{border:0; border-bottom:1px solid var(--line-light); background:transparent; padding:18px 4px; text-align:left; cursor:pointer; font-family:'Inter',sans-serif; transition:padding .15s ease, color .15s ease;}
.dealer-list-item strong{display:block; color:var(--ink); font-size:15px;}
.dealer-list-item span{display:block; color:var(--steel-dim); font-size:12.5px; margin-top:6px; line-height:1.45;}
.dealer-list-item:hover,.dealer-list-item.is-active{padding-left:12px;}
.dealer-list-item.is-active strong{color:var(--cool-dim);}
.dealer-no-results{color:var(--steel-dim); line-height:1.6; margin-top:18px; font-size:14px;}
.dealer-details{display:grid; grid-template-rows:auto 1fr;}
.dealer-details-copy{padding:30px 32px 24px;}
.dealer-city{font-family:'IBM Plex Mono'; color:var(--heat-dim); text-transform:uppercase; font-size:10px; letter-spacing:.08em;}
.dealer-details h3{font-size:29px; margin:10px 0 12px;}
.dealer-address{color:var(--steel-dim); line-height:1.6; font-size:14px;}
.dealer-phone{display:inline-block; color:var(--cool-dim); font-weight:700; margin-top:13px; font-size:14px;}
.dealer-map-wrap{position:relative; min-height:250px; background:var(--paper-2);}
.dealer-map{width:100%; height:100%; min-height:250px; border:0; display:block;}
.dealer-map-empty{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:30px; color:var(--steel-dim); font-size:14px;}
.dealer-empty{background:#fff; border:1px solid var(--line-light); padding:48px; text-align:center;}
.dealer-empty h3{font-size:24px;}
.dealer-empty p{color:var(--steel-dim); margin:12px auto 0; max-width:480px; line-height:1.6;}

@media(max-width:900px){
  .dealer-filter-row{align-items:stretch; flex-direction:column;}
  .dealer-select-label{min-width:0;}
  .dealer-layout{grid-template-columns:1fr;}
  .dealer-list-panel{border-right:0; border-bottom:1px solid var(--line-light);}
  .dealer-details-copy{padding:26px 24px 20px;}
  .dealer-list-toggle{display:block;}
  .dealer-list-collapsed .dealer-list-content{display:none;}
  .dealer-list-collapsed .dealer-list-toggle .bi{transform:rotate(-90deg);}
}
.case-list{
    display:flex;
    gap:24px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    padding-bottom:8px;
    -webkit-overflow-scrolling:touch;
}

.case-list::-webkit-scrollbar{
    height:6px;
}

.case-list::-webkit-scrollbar-thumb{
    background:var(--line);
    border-radius:999px;
}

.case-list::-webkit-scrollbar-track{
    background:transparent;
}

.case-card{
    flex:0 0 360px;
    width:360px;
    background:#fff;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.case-card img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}

.case-content{
    padding:20px;
}

.case-content h3{
    margin:0 0 10px;
}

.case-content p{
    margin:0 0 16px;
}

.case-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 14px;
    background:var(--cool);
    color:#fff;
    font-size:13px;
    font-weight:600;
}
@media (min-width:1200px){

    .case-list{
        justify-content:space-between;
        overflow-x:hidden;
    }

    .case-card{
        flex:1 0 calc((100% - 48px) / 3);
        max-width:calc((100% - 48px) / 3);
    }

}