/*
Theme Name: Transportes Mavic
Description: Sitio de transporte nacional en ramplas planas abiertas y con barandas.
Version: 2.4.0
Author: PymeConWeb
Text Domain: transportes-mavic
*/

:root{color-scheme:light;--navy:#071833;--navy2:#102849;--mint:#30cfba;--ink:#17263b;--muted:#58687b;--line:#dce5e9;--light:#f4f7f9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{display:block;width:100%;height:auto}.container{width:min(1220px,calc(100% - 52px));margin:auto}.skip{position:absolute;top:-100px;left:12px;background:#fff;padding:12px;z-index:99}.skip:focus{top:12px}:focus-visible{outline:3px solid #11ae9a;outline-offset:3px}section{scroll-margin-top:82px}
header{background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.13);position:sticky;top:0;z-index:30}.head{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:12px;align-items:center;font-size:18px;font-weight:800;line-height:1.04;letter-spacing:.01em}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--mint);color:var(--mint);font-size:25px;border-radius:8px;letter-spacing:-.16em;padding-right:4px}.brand small{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#aabccc;margin-top:5px}.nav{display:flex;align-items:center;gap:29px}.nav a{font-size:14px;color:#d8e4ec;font-weight:700}.nav a:hover{color:var(--mint)}.nav .head-cta{background:var(--mint);color:var(--navy);padding:10px 18px;border-radius:5px}.menu{display:none;background:transparent;border:1px solid #8195aa;color:white;border-radius:4px;padding:5px 11px;font-size:22px}
.hero{background:radial-gradient(ellipse at 84% 92%,#143b6a 0%,transparent 49%),linear-gradient(117deg,#071833 0%,#0b2045 100%);position:relative;overflow:hidden;color:#fff}.hero::before{content:"";position:absolute;inset:0;background:url('assets/scania-rampla-plana.jpeg') center 42%/cover no-repeat;opacity:.16}.hero::after{content:"";position:absolute;inset:0;opacity:.13;background-image:linear-gradient(90deg,#78aed1 1px,transparent 1px),linear-gradient(#78aed1 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to right,transparent,#000)}.hero-layout{position:relative;z-index:1;min-height:660px;display:grid;grid-template-columns:.98fr 1.02fr;align-items:center;gap:7%;padding:70px 0 85px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:12px;text-transform:uppercase;letter-spacing:.19em;font-weight:800;color:var(--mint)}.eyebrow:before{content:"";width:23px;height:2px;background:currentColor}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(44px,5vw,72px);letter-spacing:-.052em;line-height:1.06;margin:25px 0 25px;max-width:720px}.hero h1 span{color:var(--mint)}.hero .intro{font-size:18px;line-height:1.65;color:#d3dfea;max-width:550px}.hero-points{display:flex;gap:12px;flex-wrap:wrap;margin:29px 0 34px}.hero-points span{border:1px solid rgba(255,255,255,.3);padding:7px 12px;border-radius:99px;font-size:13px;color:#e9f8fb}.hero-points b{color:var(--mint)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:11px 19px;font-size:14px;font-weight:800;border-radius:5px;border:1px solid transparent;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn-mint{background:var(--mint);color:var(--navy)}.btn-mint:hover{background:#80ecdc}.btn-ghost{border-color:#9db6c5;color:white}.btn-ghost:hover{background:rgba(255,255,255,.12)}.hero-actions{display:flex;flex-wrap:wrap;gap:11px}.hero-caption{margin-top:35px;font-size:12px;color:#a7c0d1;max-width:480px}
.quote{background:white;border-radius:14px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.25);color:var(--ink)}.quote-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.quote h2{font-size:25px;line-height:1.25;margin:0 0 5px;letter-spacing:-.02em}.quote p{font-size:14px;color:var(--muted);margin:0}.quote-badge{font-size:11px;font-weight:800;white-space:nowrap;color:#0e776c;background:#dff8f3;padding:6px 10px;border-radius:99px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}label{font-size:13px;color:#26384a;font-weight:800}input,select,textarea{border:1px solid #bdcad4;border-radius:5px;padding:9px 12px;min-height:42px;width:100%;outline:0;color:var(--ink);background:white;font-size:14px}textarea{min-height:72px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#119886;box-shadow:0 0 0 3px #d9f7f2}.quote .submit{width:100%;border:0;margin-top:16px}.quote .fine{font-size:12px;line-height:1.45;margin-top:10px}.output{display:none;margin-top:17px;background:#ecfaf7;border:1px solid #92d9ca;border-radius:6px;padding:17px}.output.visible{display:block}.output h3{font-size:18px;margin:0 0 4px}.output p{font-size:13px}.output pre{font:13px/1.5 Arial,Helvetica,sans-serif;background:#fff;border:1px solid #bee6db;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;max-height:250px;overflow:auto}.output button{background:var(--navy);color:white;border:0;padding:9px 14px;border-radius:4px;font-size:13px;font-weight:700}
.section{padding:96px 0}.section-head{max-width:770px}.section h2{font-size:clamp(33px,3.5vw,52px);letter-spacing:-.04em;line-height:1.13;color:var(--navy);margin:18px 0}.section-head p,.about p{color:var(--muted);font-size:17px}.equipment{background:var(--light)}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:39px}.equipment-card{background:white;border:1px solid var(--line);overflow:hidden}.equipment-card figure{margin:0}.equipment-card img{height:310px;object-fit:cover}.equipment-content{padding:29px}.label{font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:#138d7c}.equipment-card h3{color:var(--navy);font-size:29px;line-height:1.2;margin:10px 0 14px}.equipment-card p{color:var(--muted);margin:0 0 19px}.equipment-card a{font-size:14px;font-weight:800;color:#087e70}.equipment-card a:hover{text-decoration:underline}.image-note{font-size:12px;color:#647788;margin-top:15px}.process{background:var(--navy);color:white}.process h2{color:white}.process .section-head p{color:#cbdbe4}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.step{border-top:2px solid var(--mint);padding:22px 8px 0 0}.step span{font-size:13px;color:var(--mint);font-weight:800;letter-spacing:.1em}.step h3{margin:17px 0 10px;font-size:21px;line-height:1.2}.step p{margin:0;color:#c8d8e2}.about-layout{display:grid;grid-template-columns:1fr .9fr;gap:9%;align-items:center}.about .btn{background:var(--navy);color:white;margin-top:14px}.about-aside{background:#ebf9f6;border-left:5px solid var(--mint);padding:40px}.about-aside strong{display:block;font-size:25px;line-height:1.3;letter-spacing:-.025em;color:var(--navy);margin-bottom:15px}.about-aside p{font-size:16px;margin:0}.bottom-cta{background:#e8f0f4;padding:52px 0}.bottom-layout{display:flex;gap:20px;justify-content:space-between;align-items:center}.bottom-cta h2{font-size:30px;line-height:1.2;color:var(--navy);margin:0 0 8px}.bottom-cta p{color:var(--muted);margin:0}.bottom-cta .btn{background:var(--navy);color:#fff;flex-shrink:0}footer{background:var(--navy);color:#bbccda;padding:31px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px}.foot strong{color:#fff}
@media(max-width:990px){.nav{gap:15px}.hero-layout{gap:4%}.hero h1{font-size:clamp(42px,5vw,60px)}.quote{padding:23px}.equipment-card img{height:260px}}
@media(max-width:760px){.container{width:min(100% - 32px,570px)}.head{height:68px}.menu{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:0;padding:14px 16px 20px;box-shadow:0 20px 20px rgba(0,0,0,.2)}.nav.open{display:flex}.nav a{padding:10px}.nav .head-cta{text-align:center;margin-top:8px}.hero-layout{grid-template-columns:1fr;padding:64px 0 72px;gap:39px;min-height:0}.hero h1{font-size:clamp(43px,10vw,61px)}.hero .intro{font-size:16px}.hero-caption{margin-top:21px}.section{padding:72px 0}.equipment-grid,.steps,.about-layout{grid-template-columns:1fr}.equipment-card img{height:300px}.about-layout{gap:28px}.bottom-layout{align-items:flex-start;flex-direction:column}.foot{flex-direction:column;align-items:flex-start}}
@media(max-width:460px){.hero-actions .btn{width:100%}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.quote-top{flex-wrap:wrap}.quote{padding:21px}.equipment-card img{height:215px}.equipment-content{padding:23px}.section h2{font-size:34px}.about-aside{padding:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.clients{background:var(--light)}.clients-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:36px}.client-card{min-height:144px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:18px;gap:11px}.client-card img{width:auto;max-width:100%;height:57px;object-fit:contain}.client-card .client-name{font-size:14px;line-height:1.25;font-weight:800;color:var(--navy)}.client-card.text-only .client-name{font-size:19px;letter-spacing:-.02em}.client-detail{font-size:12px;line-height:1.3;color:var(--muted);font-weight:600}.clients-note{font-size:13px;color:#657789;margin:19px 0 0}.tenders{margin-top:39px;background:#e6f6f3;border-left:4px solid var(--mint);padding:23px 28px}.tenders h3{font-size:18px;margin:0 0 7px;color:var(--navy)}.tenders p{margin:0;color:var(--muted);font-size:15px}.tender-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.tender-tags span{background:#fff;border:1px solid #b8ded8;padding:7px 11px;border-radius:4px;font-size:13px;font-weight:700;color:#1c5552}
@media(max-width:900px){.clients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-card{min-height:126px;padding:13px}.client-card img{height:43px}.client-card.text-only .client-name{font-size:16px}.tenders{padding:20px}}

/* WordPress additions */
.brand-mark.brand-image{width:47px;height:47px;object-fit:cover;border-radius:50%;padding:0;letter-spacing:normal}.trap{position:absolute;left:-10000px}.form-message{border-radius:5px;padding:12px 14px;margin-bottom:15px;font-size:14px}.form-message.ok{background:#e4f8f1;color:#075a45}.form-message.error{background:#fff0ed;color:#9a251f}.consent{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:13px;line-height:1.45;color:var(--muted)}.consent input{width:auto;min-height:auto;margin-top:3px}.fleet-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}.fleet-mini img{height:270px;object-fit:cover}.fleet-mini figcaption{font-size:13px;color:var(--muted);padding:9px 0}.fleet-mini figure{margin:0}@media(max-width:600px){.fleet-mini{grid-template-columns:1fr}.fleet-mini img{height:240px}}

/* Mejoras de cotización y referencias */
.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.quote .form-actions .submit{margin-top:0}.btn-wa{background:var(--navy);color:#fff;white-space:nowrap}.btn-wa:hover{background:#173a64}.quote .fine{font-size:13px}.tenders{display:block}.tenders h3{font-size:24px}.tender-cards{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-top:20px}.tender-cards .client-card{background:#fff;min-height:150px;border-color:#b8ded8}.tender-cards .client-card img{height:53px}.tender-cards .client-detail{font-size:12px}.client-card.text-only .client-name{font-weight:900;letter-spacing:.04em;color:#223b4b}.floating-wa{position:fixed;right:18px;bottom:18px;z-index:50;background:#0b795f;color:#fff;padding:11px 17px;border-radius:999px;box-shadow:0 10px 28px #07183355;font-size:14px;font-weight:800}.floating-wa:hover{background:#095f4c}@media(max-width:760px){.floating-wa{right:12px;bottom:12px}.form-actions{grid-template-columns:1fr}}@media(max-width:500px){.tender-cards{grid-template-columns:1fr 1fr}.tender-cards .client-card{padding:9px;min-height:125px}.tender-cards .client-name{font-size:12px}.tender-cards .client-detail{font-size:11px}}

/* Movimiento discreto */
@media(prefers-reduced-motion:no-preference){.hero h1,.hero .intro,.hero-actions,.quote{animation:rise-in .72s both}.hero .intro{animation-delay:.12s}.hero-actions{animation-delay:.22s}.quote{animation-delay:.18s}.equipment-card,.client-card,.btn,.floating-wa{transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease}.equipment-card:hover,.client-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px #0718331b}.btn:hover,.floating-wa:hover{transform:translateY(-2px)}body.motion-ready .section-head,body.motion-ready .equipment-card,body.motion-ready .about-layout,body.motion-ready .clients-grid,body.motion-ready .tenders,body.motion-ready .bottom-layout{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}body.motion-ready .is-visible{opacity:1;transform:none}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.equipment-card,.client-card,.btn,.floating-wa{transition:none!important;animation:none!important}}

/* Apertura cinemática y recorrido nacional */
.hero-journey{max-width:460px;margin-top:31px}.hero-journey .hero-caption{margin:0 0 10px}.journey-track{position:relative;height:15px;margin:0 7px;background:linear-gradient(90deg,transparent 0%,rgba(48,207,186,.35) 6%,rgba(48,207,186,.5) 94%,transparent 100%) center/100% 2px no-repeat}.journey-marker{position:absolute;top:3px;width:9px;height:9px;border:2px solid var(--mint);background:var(--navy);border-radius:50%;z-index:2}.journey-start{left:0}.journey-end{right:0}.journey-light{position:absolute;z-index:1;top:4px;left:0;width:7px;height:7px;border-radius:50%;background:#a4fff1;box-shadow:0 0 0 5px rgba(48,207,186,.17),0 0 21px 8px rgba(48,207,186,.42)}.journey-label{display:block;color:#78e1d3;font-size:10px;font-weight:800;letter-spacing:.23em;margin-top:5px}
@media(prefers-reduced-motion:no-preference){
  .hero::before{transform-origin:40% 50%;animation:photo-drift 18s ease-in-out infinite alternate}
  .hero::after{animation:grid-drift 13s linear infinite}
  .hero .eyebrow{animation:hero-from-left .6s .12s both}
  .hero h1{animation:hero-headline 1s .27s cubic-bezier(.18,.75,.25,1) both}
  .hero .intro{animation:hero-from-left .8s .66s both}
  .hero-points{animation:hero-from-left .7s .87s both}
  .hero-actions{animation:hero-from-left .75s 1.04s both}
  .hero-journey{animation:hero-from-left .8s 1.25s both}
  .quote{animation:quote-arrive 1s .49s cubic-bezier(.2,.8,.2,1) both}
  .journey-light{animation:journey-drive 3.8s 1.75s ease-in-out infinite}
  .hero-actions .btn-mint{position:relative;overflow:hidden}
  .hero-actions .btn-mint::after{content:"";position:absolute;inset:0;width:55%;transform:translateX(-150%) skewX(-25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);pointer-events:none;animation:cta-glint 1.25s 1.85s both}
  @keyframes photo-drift{from{transform:scale(1.08) translateX(0)}to{transform:scale(1.17) translateX(-2%)}}
  @keyframes grid-drift{to{background-position:58px 0,0 58px}}
  @keyframes hero-from-left{from{opacity:0;transform:translate3d(-35px,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes hero-headline{from{opacity:0;transform:translate3d(-55px,22px,0);filter:blur(6px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
  @keyframes quote-arrive{from{opacity:0;transform:translate3d(60px,12px,0) scale(.96)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
  @keyframes journey-drive{0%{left:0;opacity:0}8%{opacity:1}90%{opacity:1}100%{left:calc(100% - 7px);opacity:0}}
  @keyframes cta-glint{to{transform:translateX(320%) skewX(-25deg)}}
}
@media(prefers-reduced-motion:reduce){.journey-light{display:none}.hero::before,.hero::after,.hero .eyebrow,.hero h1,.hero .intro,.hero-points,.hero-actions,.hero-journey,.quote{animation:none!important;transform:none!important;filter:none!important}}
