/*
Theme Name: Dinu Logística
Theme URI: https://logisticadinu.com
Author: Salcom Consulting
Author URI: https://salcom.es
Description: Tema professional de transport per a logisticadinu.com. Paqueteria, distribució de begudes i enviaments urgents a Igualada i l'Anoia. Multi-pàgina, iconografia professional SVG, SEO local, accessibilitat WCAG 2.1 AA. S'auto-configura en activar-lo.
Version: 5.1.0
Requires at least: 6.0
Tested up to: 6.9.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mdt
Tags: transport, logistics, multipage, svg-icons, seo, accessibility, auto-setup
*/

/* ================================================================
   TOKENS
   ================================================================ */
:root {
  --orange:     #D95F0E;
  --orange-dk:  #B84F0B;
  --orange-lt:  #F07020;
  --orange-bg:  rgba(217,95,14,.08);
  --navy:       #1B2D45;
  --navy-lt:    #253E5E;
  --navy-xlt:   #2F4E72;
  --gold:       #E8A020;
  --white:      #FFFFFF;
  --off-white:  #F6F7F9;
  --light:      #EDF0F4;
  --dark:       #0C1A28;
  --text:       #2C3A4A;
  --muted:      #637080;
  --border:     #DDE3EA;

  --f-head:  'Barlow Condensed', sans-serif;
  --f-body:  'DM Sans', sans-serif;

  --r-xs:  4px;
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  22px;
  --r-xl:  32px;
  --r-max: 9999px;

  --sh-xs:  0 1px 3px rgba(0,0,0,.10);
  --sh-sm:  0 2px 8px rgba(0,0,0,.10);
  --sh-md:  0 6px 24px rgba(0,0,0,.10);
  --sh-lg:  0 14px 52px rgba(0,0,0,.13);
  --sh-xl:  0 28px 88px rgba(0,0,0,.17);

  --ease:  cubic-bezier(.4,0,.2,1);
  --dur:   .26s;

  --header-h: 68px;
}

/* ================================================================
   BASE RESET
   ================================================================ */
*,*::before,*::after { box-sizing: border-box; margin:0; padding:0 }
html { font-size:16px; scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body { font-family:var(--f-body); line-height:1.75; color:var(--text); background:var(--white); overflow-x:hidden }
img  { max-width:100%; height:auto; display:block }
svg  { display:inline-block; vertical-align:middle; flex-shrink:0 }
a    { color:var(--orange); text-decoration:none; transition:color var(--dur) var(--ease) }
a:hover { color:var(--orange-dk) }
h1,h2,h3,h4,h5,h6 { font-family:var(--f-head); font-weight:800; line-height:1.15; color:var(--navy) }
:focus-visible { outline:3px solid var(--orange); outline-offset:3px; border-radius:var(--r-xs) }

/* ================================================================
   ACCESSIBILITY
   ================================================================ */
.skip-link { position:absolute; top:-100%; left:1rem; z-index:9999; padding:.7rem 1.4rem; background:var(--navy); color:#fff; font-weight:700; border-radius:var(--r-md); text-decoration:none; transition:top .15s }
.skip-link:focus { top:1rem }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }

/* ================================================================
   SVG ICON SYSTEM
   ================================================================ */
.mdt-ico {
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; line-height:1;
}
.mdt-ico svg { display:block }

/* Icon inside coloured circle */
.mdt-ico-circle {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:var(--r-md);
  background:linear-gradient(135deg, var(--orange), var(--gold));
  box-shadow:0 4px 16px rgba(217,95,14,.28);
  flex-shrink:0;
}
.mdt-ico-circle svg { color:#fff }

/* ================================================================
   LAYOUT
   ================================================================ */
.mdt-wrap { width:100%; max-width:1200px; margin:0 auto; padding:0 clamp(1rem,4vw,2.5rem) }
.mdt-section { padding:clamp(4rem,7vw,7rem) 0 }

/* ================================================================
   HEADER
   ================================================================ */
.mdt-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--header-h);
  background:rgba(11,25,40,.97);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:2px solid var(--orange);
}
.mdt-header.scrolled { box-shadow:var(--sh-lg) }
.mdt-header-inner { display:flex; align-items:center; justify-content:space-between; height:var(--header-h) }

/* Logo */
.mdt-logo { display:flex; align-items:center; gap:.75rem; text-decoration:none }
.mdt-logo-mark {
  width:40px; height:40px; background:var(--orange); border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 10px rgba(217,95,14,.4); flex-shrink:0;
}
.mdt-logo-mark svg { color:#fff }
.mdt-logo-text { line-height:1.1 }
.mdt-logo-name { display:block; font-family:var(--f-head); font-size:1.05rem; font-weight:900; color:#fff; text-transform:uppercase; letter-spacing:.5px }
.mdt-logo-sub  { display:block; font-size:.62rem; color:rgba(255,255,255,.48); letter-spacing:1.5px; text-transform:uppercase }

/* Navigation */
.mdt-nav { display:flex; align-items:center; gap:.15rem }
/* mdt-nav-list: ul generat per wp_nav_menu */
.mdt-nav-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:row; align-items:center; gap:.15rem }
.mdt-nav-list li { margin:0; padding:0 }
.mdt-nav a,
.mdt-nav-list a { color:rgba(255,255,255,.78); font-size:1.01rem; font-weight:600; letter-spacing:.4px; text-transform:uppercase; padding:.5rem .9rem; border-radius:var(--r-md); transition:all .2s; white-space:nowrap }
.mdt-nav a:hover, .mdt-nav a.current,
.mdt-nav-list a:hover, .mdt-nav-list a.current { color:#fff; background:rgba(255,255,255,.09); text-decoration:none }
.mdt-nav-cta { background:var(--orange)!important; color:#fff!important; border-radius:var(--r-max)!important; padding:.52rem 1.25rem!important }
.mdt-nav-cta:hover { background:var(--orange-dk)!important; transform:translateY(-1px) }

/* Burger */
.mdt-burger { display:none; background:none; border:1.5px solid rgba(255,255,255,.28); border-radius:var(--r-sm); cursor:pointer; padding:.45rem .55rem; color:#fff; transition:border-color .2s }
.mdt-burger:hover { border-color:var(--orange); color:var(--orange) }
.mdt-burger-icon { display:flex; flex-direction:column; gap:5px; width:20px }
.mdt-burger-icon span { display:block; height:2px; background:currentColor; border-radius:2px; transition:all .25s }

/* ================================================================
   BUTTONS
   ================================================================ */
.mdt-btn {
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--f-head); font-weight:800; font-size:.95rem;
  letter-spacing:.5px; text-transform:uppercase;
  padding:.85rem 1.9rem; border-radius:var(--r-max);
  border:2px solid transparent; cursor:pointer;
  transition:all var(--dur) var(--ease); text-decoration:none; white-space:nowrap; line-height:1;
}
.mdt-btn:hover { text-decoration:none }
.mdt-btn-primary { background:var(--orange); color:#fff; border-color:var(--orange); box-shadow:0 4px 20px rgba(217,95,14,.32) }
.mdt-btn-primary:hover { background:var(--orange-dk); border-color:var(--orange-dk); transform:translateY(-2px); box-shadow:0 8px 30px rgba(217,95,14,.4); color:#fff }
.mdt-btn-ghost   { background:transparent; color:#fff; border-color:rgba(255,255,255,.4) }
.mdt-btn-ghost:hover { background:rgba(255,255,255,.09); border-color:#fff; color:#fff; transform:translateY(-2px) }
.mdt-btn-outline { background:transparent; color:var(--orange); border-color:var(--orange) }
.mdt-btn-outline:hover { background:var(--orange); color:#fff; transform:translateY(-2px) }
.mdt-btn-dark    { background:var(--navy); color:#fff; border-color:var(--navy) }
.mdt-btn-dark:hover { background:var(--navy-lt); border-color:var(--navy-lt); color:#fff; transform:translateY(-2px) }
.mdt-btn-wa      { background:#25D366; color:#fff; border-color:#25D366; box-shadow:0 4px 18px rgba(37,211,102,.28) }
.mdt-btn-wa:hover { background:#1fba58; border-color:#1fba58; color:#fff; transform:translateY(-2px) }

/* ================================================================
   PAGE HERO (pàgines interiors)
   ================================================================ */
.mdt-page-hero {
  padding-top:calc(var(--header-h) + clamp(3rem,6vw,5rem));
  padding-bottom:clamp(3rem,5vw,4.5rem);
  background:var(--navy);
  position:relative; overflow:hidden;
}
.mdt-page-hero::before {
  content:''; position:absolute; inset:0;
  background-image:repeating-linear-gradient(45deg,rgba(217,95,14,.04) 0,rgba(217,95,14,.04) 1px,transparent 1px,transparent 42px);
}
.mdt-page-hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--orange),var(--gold),var(--orange));
}
.mdt-page-hero .mdt-wrap { position:relative; z-index:1 }
.mdt-page-hero-eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(217,95,14,.15); border:1px solid rgba(217,95,14,.35);
  color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  padding:.35rem 1rem; border-radius:var(--r-max); margin-bottom:1.1rem;
}
.mdt-page-hero h1 {
  font-family:var(--f-head); font-size:clamp(2.2rem,5vw,3.8rem); font-weight:900;
  text-transform:uppercase; letter-spacing:1px; color:#fff; margin-bottom:.75rem;
}
.mdt-page-hero-desc { font-size:1.1rem; color:rgba(255,255,255,.72); max-width:560px; line-height:1.8 }

/* Breadcrumb */
.mdt-breadcrumb { display:flex; align-items:center; gap:.5rem; margin-bottom:1.25rem; flex-wrap:wrap }
.mdt-breadcrumb a { font-size:.8rem; color:rgba(255,255,255,.5); text-decoration:none; transition:color .18s }
.mdt-breadcrumb a:hover { color:var(--orange-lt); text-decoration:none }
.mdt-breadcrumb span { font-size:.8rem; color:rgba(255,255,255,.28) }
.mdt-breadcrumb .current { font-size:.8rem; color:rgba(255,255,255,.7); font-weight:600 }

/* ================================================================
   HERO PORTADA (pàgina d'inici)
   ================================================================ */
.mdt-home-hero {
  position:relative; min-height:100svh; display:flex; align-items:center;
  padding-top:var(--header-h); overflow:hidden;
}
.mdt-hero-bg { position:absolute; inset:0; z-index:0 }
.mdt-hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 30% }
.mdt-hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(125deg,rgba(11,25,40,.94) 0%,rgba(11,25,40,.75) 50%,rgba(217,95,14,.22) 100%);
}
.mdt-hero-bg::before {
  content:''; position:absolute; inset:0; z-index:1;
  background-image:repeating-linear-gradient(45deg,rgba(217,95,14,.025) 0,rgba(217,95,14,.025) 1px,transparent 1px,transparent 44px);
}
.mdt-hero-inner { position:relative; z-index:2; max-width:800px }

.mdt-hero-pill {
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(217,95,14,.14); border:1px solid rgba(217,95,14,.38);
  color:var(--gold); font-size:.7rem; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  padding:.38rem 1.05rem; border-radius:var(--r-max); margin-bottom:1.4rem;
}
.mdt-hero-h1 {
  font-family:var(--f-head); font-size:clamp(2.8rem,6.5vw,5.2rem);
  font-weight:900; line-height:1.03; text-transform:uppercase; letter-spacing:1px;
  color:#fff; margin-bottom:1.4rem;
}
.mdt-hero-h1 em { color:var(--orange-lt); font-style:normal; display:block }
.mdt-hero-desc { font-size:1.12rem; color:rgba(255,255,255,.82); max-width:580px; line-height:1.85; margin-bottom:2.5rem }
.mdt-hero-actions { display:flex; gap:.9rem; flex-wrap:wrap; margin-bottom:3.5rem }
.mdt-hero-stats { display:flex; gap:2.5rem; flex-wrap:wrap }
.mdt-stat { border-left:3px solid var(--orange); padding-left:1rem }
.mdt-stat-num { display:block; font-family:var(--f-head); font-size:1.9rem; font-weight:900; color:#fff; line-height:1 }
.mdt-stat-lbl { font-size:.68rem; color:rgba(255,255,255,.55); letter-spacing:1.5px; text-transform:uppercase; font-weight:600 }

.mdt-scroll-hint {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.45rem;
  color:rgba(255,255,255,.35); font-size:.62rem; letter-spacing:2px; text-transform:uppercase;
  animation:mdt-bounce 2.2s infinite;
}
@keyframes mdt-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
.mdt-scroll-arr { width:18px; height:18px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) }

/* ================================================================
   STRIP DE SERVEIS (inici)
   ================================================================ */
.mdt-strip { background:var(--navy); border-bottom:3px solid var(--orange); padding:1.2rem 0 }
.mdt-strip-inner { display:flex; justify-content:center; align-items:center; gap:clamp(.75rem,4vw,4rem); flex-wrap:wrap }
.mdt-strip-item { display:flex; align-items:center; gap:.65rem; color:rgba(255,255,255,.84); font-size:.86rem; font-weight:600 }
.mdt-strip-item svg { color:var(--orange); flex-shrink:0 }

/* ================================================================
   SECCIÓ HELPER
   ================================================================ */
.mdt-sh { text-align:center; margin-bottom:clamp(2.5rem,4vw,4rem) }
.mdt-eyebrow {
  display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--orange); padding:.33rem 1rem; background:var(--orange-bg);
  border:1px solid rgba(217,95,14,.18); border-radius:var(--r-max); margin-bottom:.9rem;
}
.mdt-h2 { font-family:var(--f-head); font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:900; text-transform:uppercase; color:var(--navy); margin-bottom:.6rem }
.mdt-divider { width:50px; height:4px; background:linear-gradient(90deg,var(--orange),var(--gold)); border-radius:var(--r-max); margin-bottom:1.4rem }
.mdt-divider-c { margin:0 auto 1.4rem }
.mdt-divider-l { margin-left:0; margin-bottom:1.4rem }
.mdt-sh p { font-size:1.05rem; color:var(--muted); max-width:600px; margin:0 auto; line-height:1.85 }

/* ================================================================
   CARDS DE SERVEIS (pàgina inici i serveis)
   ================================================================ */
.mdt-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem }

.mdt-card {
  background:var(--white); border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--border); box-shadow:var(--sh-xs);
  display:flex; flex-direction:column;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.mdt-card:hover { transform:translateY(-7px); box-shadow:var(--sh-xl); border-color:var(--orange) }
.mdt-card-img { position:relative; height:210px; overflow:hidden }
.mdt-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease) }
.mdt-card:hover .mdt-card-img img { transform:scale(1.06) }
.mdt-card-tag {
  position:absolute; top:1rem; left:1rem;
  background:var(--orange); color:#fff; font-size:.65rem; font-weight:900;
  letter-spacing:1.5px; text-transform:uppercase; padding:.28rem .8rem; border-radius:var(--r-max);
}
.mdt-card-body { padding:1.65rem; flex:1; display:flex; flex-direction:column }
.mdt-card-icon-wrap {
  width:48px; height:48px; margin-bottom:.95rem; border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--orange),var(--gold));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(217,95,14,.25);
}
.mdt-card-icon-wrap svg { color:#fff }
.mdt-card-title { font-family:var(--f-head); font-size:1.28rem; font-weight:800; text-transform:uppercase; color:var(--navy); margin-bottom:.6rem }
.mdt-card-desc { color:var(--muted); font-size:.91rem; line-height:1.75; flex:1; margin-bottom:1rem }
.mdt-card-feats { list-style:none; display:flex; flex-direction:column; gap:.38rem; margin-bottom:1.2rem }
.mdt-card-feats li { font-size:.82rem; color:var(--text); font-weight:500; display:flex; align-items:center; gap:.5rem }
.mdt-card-feats li svg { color:var(--orange); flex-shrink:0 }
.mdt-card-link {
  display:inline-flex; align-items:center; gap:.4rem; margin-top:auto;
  color:var(--orange); font-weight:800; font-size:.8rem; text-transform:uppercase; letter-spacing:.5px;
  transition:gap .2s;
}
.mdt-card-link:hover { gap:.75rem; color:var(--orange-dk); text-decoration:none }
.mdt-card-link svg { transition:transform .2s }
.mdt-card:hover .mdt-card-link svg { transform:translateX(3px) }

/* ================================================================
   SOBRE NOSALTRES
   ================================================================ */
.mdt-about-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:center }
.mdt-about-img-wrap { position:relative }
.mdt-about-img-wrap img { width:100%; height:520px; object-fit:cover; border-radius:var(--r-xl); box-shadow:var(--sh-xl) }
.mdt-about-float {
  position:absolute; bottom:-1.5rem; right:-1.5rem;
  background:var(--orange); color:#fff; border-radius:var(--r-lg);
  padding:1.3rem 1.5rem; text-align:center; box-shadow:var(--sh-lg); min-width:120px;
}
.mdt-about-float-num { font-family:var(--f-head); font-size:2.4rem; font-weight:900; line-height:1; display:block }
.mdt-about-float-lbl { font-size:.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; opacity:.9 }

.mdt-check-list { list-style:none; display:flex; flex-direction:column; gap:.85rem; margin:1.5rem 0 }
.mdt-check-list li { display:flex; align-items:flex-start; gap:.85rem; font-size:.95rem; color:var(--text) }
.mdt-check-ico { width:24px; height:24px; flex-shrink:0; margin-top:1px; background:var(--orange-bg); border:1px solid rgba(217,95,14,.2); border-radius:var(--r-max); display:flex; align-items:center; justify-content:center }
.mdt-check-ico svg { color:var(--orange) }

.mdt-trust-row { display:flex; gap:2rem; flex-wrap:wrap; padding-top:1.5rem; border-top:1px solid var(--border); margin-top:1.5rem }
.mdt-trust-num { display:block; font-family:var(--f-head); font-size:1.75rem; font-weight:900; color:var(--orange); line-height:1 }
.mdt-trust-lbl { font-size:.68rem; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:1px }

/* ================================================================
   WHY US
   ================================================================ */
.mdt-why { background:var(--white); padding:clamp(3rem,5vw,5rem) 0 }
.mdt-why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem }
.mdt-why-card {
  text-align:center; padding:1.9rem 1.35rem; border-radius:var(--r-xl);
  border:1px solid var(--border); background:var(--off-white);
  transition:all var(--dur) var(--ease);
}
.mdt-why-card:hover { border-color:var(--orange); background:var(--white); box-shadow:var(--sh-lg); transform:translateY(-5px) }
.mdt-why-ico-wrap {
  width:56px; height:56px; margin:0 auto .95rem; border-radius:var(--r-md);
  background:var(--orange-bg); border:1px solid rgba(217,95,14,.18);
  display:flex; align-items:center; justify-content:center;
  transition:background var(--dur), border-color var(--dur);
}
.mdt-why-ico-wrap svg { color:var(--orange) }
.mdt-why-card:hover .mdt-why-ico-wrap { background:var(--orange); border-color:var(--orange) }
.mdt-why-card:hover .mdt-why-ico-wrap svg { color:#fff }
.mdt-why-card h3,
.mdt-why-card-title,
.mdt-why-card h4 { font-family:var(--f-head); font-size:1rem; font-weight:800; text-transform:uppercase; color:var(--navy); margin-bottom:.42rem }
.mdt-why-card p { font-size:.87rem; color:var(--muted); line-height:1.65 }

/* ================================================================
   COBERTURA
   ================================================================ */
.mdt-coverage {
  background:var(--navy); border-radius:var(--r-xl); padding:clamp(2rem,4vw,3.5rem);
  display:flex; gap:clamp(2rem,4vw,4rem); align-items:center;
}
.mdt-coverage-text { flex:1 }
.mdt-coverage-text h3 { font-family:var(--f-head); font-size:1.75rem; font-weight:900; text-transform:uppercase; color:#fff; margin-bottom:.8rem }
.mdt-coverage-text p { color:rgba(255,255,255,.72); line-height:1.8; margin-bottom:1.35rem }
.mdt-zones { display:flex; gap:.6rem; flex-wrap:wrap }
.mdt-zone { background:rgba(217,95,14,.12); border:1px solid rgba(217,95,14,.32); color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.4px; padding:.28rem .82rem; border-radius:var(--r-max); text-transform:uppercase }
.mdt-coverage-img { flex-shrink:0; width:250px }
.mdt-coverage-img img { width:100%; height:185px; object-fit:cover; border-radius:var(--r-lg); opacity:.72; border:2px solid rgba(217,95,14,.22) }

/* ================================================================
   CONTACTE
   ================================================================ */
.mdt-contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(2rem,5vw,5rem); align-items:start }
.mdt-contact-cards { display:flex; flex-direction:column; gap:.8rem; margin-bottom:1.65rem }
.mdt-ccard {
  display:flex; align-items:center; gap:.9rem; padding:1.05rem 1.2rem;
  background:var(--white); border-radius:var(--r-md); border:1px solid var(--border);
  text-decoration:none; transition:all var(--dur) var(--ease);
}
.mdt-ccard:hover { border-color:var(--orange); box-shadow:var(--sh-md); transform:translateX(4px); text-decoration:none }
.mdt-ccard-ico {
  width:44px; height:44px; flex-shrink:0; border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--orange),var(--gold));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 3px 10px rgba(217,95,14,.22);
}
.mdt-ccard-ico svg { color:#fff }
.mdt-ccard-lbl { display:block; font-size:.65rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--muted); margin-bottom:.15rem }
.mdt-ccard-val { font-size:.95rem; font-weight:700; color:var(--navy) }

.mdt-wa-cta {
  display:flex; align-items:center; gap:.95rem; padding:1.25rem 1.4rem;
  background:linear-gradient(135deg,#25D366,#128C7E); border-radius:var(--r-xl);
  text-decoration:none; box-shadow:0 4px 18px rgba(37,211,102,.2);
  transition:all var(--dur) var(--ease);
}
.mdt-wa-cta:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(37,211,102,.3); text-decoration:none }
.mdt-wa-cta-ico { width:40px; height:40px; flex-shrink:0; background:rgba(255,255,255,.15); border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center }
.mdt-wa-cta-ico svg { color:#fff }
.mdt-wa-cta strong { display:block; color:#fff; font-family:var(--f-head); font-size:.92rem; font-weight:800; text-transform:uppercase; letter-spacing:.5px }
.mdt-wa-cta span { color:rgba(255,255,255,.8); font-size:.84rem }

/* Form */
.mdt-form-box { background:var(--white); border-radius:var(--r-xl); padding:clamp(1.75rem,3vw,2.7rem); box-shadow:var(--sh-lg); border:1px solid var(--border) }
.mdt-form-box h3 { font-family:var(--f-head); font-size:1.4rem; font-weight:900; text-transform:uppercase; color:var(--navy); margin-bottom:1.4rem; padding-bottom:.85rem; border-bottom:2px solid var(--light) }
.mdt-form-row { display:grid; grid-template-columns:1fr 1fr; gap:.8rem }
.mdt-fg { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.8rem }
.mdt-fg label { font-size:.76rem; font-weight:800; color:var(--navy); text-transform:uppercase; letter-spacing:.3px }
.mdt-fg label .req { color:var(--orange); margin-left:2px }
.mdt-fg input,.mdt-fg select,.mdt-fg textarea { width:100%; padding:.8rem 1rem; border:2px solid var(--border); border-radius:var(--r-md); font-family:var(--f-body); font-size:.93rem; color:var(--text); background:var(--off-white); transition:border-color .18s,box-shadow .18s,background .18s; appearance:none }
.mdt-fg input:focus,.mdt-fg select:focus,.mdt-fg textarea:focus { outline:none; border-color:var(--orange); background:var(--white); box-shadow:0 0 0 3px rgba(217,95,14,.1) }
.mdt-fg input.err,.mdt-fg textarea.err { border-color:#DC2626!important }
.mdt-fg textarea { resize:vertical; min-height:110px }
.mdt-fg .mdt-ferr { font-size:.74rem; color:#DC2626; display:none }
.mdt-fg .mdt-ferr.show { display:block }
.mdt-privacy { flex-direction:row!important; align-items:flex-start; gap:.6rem }
.mdt-privacy input { width:auto!important; margin-top:3px; flex-shrink:0 }
.mdt-privacy label { font-size:.82rem!important; text-transform:none!important; font-weight:400!important; color:var(--muted) }
.mdt-feedback { padding:.95rem 1.15rem; border-radius:var(--r-md); font-weight:700; margin-bottom:1rem; display:none }
.mdt-feedback.ok  { background:rgba(34,197,94,.08); border:1px solid rgba(34,197,94,.25); color:#166534 }
.mdt-feedback.err { background:rgba(220,38,38,.07);  border:1px solid rgba(220,38,38,.22); color:#991B1B }
.mdt-feedback[aria-live] { display:block }

/* Map */
.mdt-map-wrap { margin-top:clamp(3rem,5vw,5rem) }
.mdt-map-wrap iframe { border-radius:var(--r-xl); display:block }

/* ================================================================
   FOOTER
   ================================================================ */
.mdt-footer { background:var(--dark); color:rgba(255,255,255,.65); padding:clamp(4rem,6vw,6rem) 0 2rem; border-top:3px solid var(--orange) }
.mdt-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:clamp(2rem,5vw,5rem); margin-bottom:3rem }
.mdt-footer-brand p { font-size:.87rem; line-height:1.75; color:rgba(255,255,255,.5); margin:1rem 0 1.35rem }
.mdt-footer-col h3,
.mdt-footer-col-heading { font-family:var(--f-head); font-size:.92rem; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:#fff; margin-bottom:1.05rem; padding-bottom:.45rem; border-bottom:2px solid var(--orange); display:inline-block }
.mdt-footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.52rem }
.mdt-footer-col a { color:rgba(255,255,255,.5); font-size:.86rem; text-decoration:none; display:flex; align-items:center; gap:.35rem; transition:color .18s }
.mdt-footer-col a svg { color:var(--orange); flex-shrink:0 }
.mdt-footer-col a:hover { color:#fff; text-decoration:none }
.mdt-footer-citem { display:flex; align-items:flex-start; gap:.55rem; font-size:.83rem; margin-bottom:.55rem; color:rgba(255,255,255,.5) }
.mdt-footer-citem svg { color:var(--orange); flex-shrink:0; margin-top:2px }
.mdt-footer-citem a { color:rgba(255,255,255,.5); text-decoration:none; transition:color .18s }
.mdt-footer-citem a:hover { color:var(--orange-lt); text-decoration:none }
.mdt-footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:1.4rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.9rem }
.mdt-footer-bottom p { font-size:.77rem; color:rgba(255,255,255,.3) }
.mdt-footer-legal { display:flex; gap:1.15rem }
.mdt-footer-legal-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:row; align-items:center; gap:1.15rem }
.mdt-footer-legal-list li { margin:0; padding:0 }
.mdt-footer-legal a { font-size:.77rem; color:rgba(255,255,255,.3); text-decoration:none; transition:color .18s }
.mdt-footer-legal a:hover { color:var(--orange-lt); text-decoration:none }

.mdt-socials { display:flex; gap:.45rem }
.mdt-social { width:34px; height:34px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; text-decoration:none; transition:all .2s }
.mdt-social svg { color:rgba(255,255,255,.5); transition:color .2s }
.mdt-social:hover { background:var(--orange); border-color:var(--orange); transform:translateY(-2px); text-decoration:none }
.mdt-social:hover svg { color:#fff }

/* Floating WhatsApp */
.mdt-float-wa {
  position:fixed; bottom:1.75rem; right:1.75rem; z-index:900;
  width:56px; height:56px; background:#25D366; border-radius:var(--r-max);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 22px rgba(37,211,102,.45); text-decoration:none;
  animation:mdt-pulse-wa 2.8s infinite;
  transition:transform var(--dur) var(--ease);
}
.mdt-float-wa:hover { transform:scale(1.1); box-shadow:0 8px 32px rgba(37,211,102,.6); text-decoration:none }
.mdt-float-wa svg { color:#fff }
@keyframes mdt-pulse-wa {
  0%,100%{box-shadow:0 4px 22px rgba(37,211,102,.45)}
  50%{box-shadow:0 4px 30px rgba(37,211,102,.7),0 0 0 8px rgba(37,211,102,.1)}
}

/* ================================================================
   ANIMATIONS
   ================================================================ */
.mdt-fade,.mdt-from-l,.mdt-from-r { opacity:0; transition:opacity .55s var(--ease),transform .55s var(--ease) }
.mdt-fade   { transform:translateY(24px) }
.mdt-from-l { transform:translateX(-30px) }
.mdt-from-r { transform:translateX(30px) }
.mdt-fade.in,.mdt-from-l.in,.mdt-from-r.in { opacity:1; transform:none }
.mdt-d1{transition-delay:.1s!important}.mdt-d2{transition-delay:.2s!important}.mdt-d3{transition-delay:.3s!important}.mdt-d4{transition-delay:.4s!important}
@media(prefers-reduced-motion:reduce){
  .mdt-fade,.mdt-from-l,.mdt-from-r{opacity:1!important;transform:none!important;transition:none!important}
  html{scroll-behavior:auto} .mdt-float-wa,.mdt-scroll-hint{animation:none}
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:1024px){
  .mdt-services-grid{grid-template-columns:repeat(2,1fr)}
  .mdt-why-grid{grid-template-columns:repeat(2,1fr)}
  .mdt-footer-grid{grid-template-columns:1fr 1fr}
  .mdt-footer-brand{grid-column:1/-1}
}
@media(max-width:768px){
  .mdt-burger{display:flex}
  .mdt-nav{
    display:none;position:absolute;top:var(--header-h);left:0;right:0;
    background:var(--dark);border-top:1px solid rgba(255,255,255,.07);
    border-bottom:2px solid var(--orange);padding:.9rem;
    flex-direction:column;align-items:stretch;gap:.2rem;
  }
  .mdt-nav.open{display:flex}
  /* Mòbil: sobreescriu display:contents per tornar a columna */
  .mdt-nav .mdt-nav-list{flex-direction:column;align-items:stretch;gap:.2rem;width:100%}
  .mdt-nav .mdt-nav-list li{display:block;width:100%}
  .mdt-nav a,
  .mdt-nav-list a{padding:.7rem 1rem;display:block;font-size:.9rem}
  .mdt-nav-cta{text-align:center;margin-top:.45rem}
  .mdt-about-grid{grid-template-columns:1fr}
  .mdt-about-img-wrap img{height:300px}
  .mdt-about-float{bottom:0;right:0}
  .mdt-services-grid{grid-template-columns:1fr}
  .mdt-coverage{flex-direction:column}
  .mdt-coverage-img{width:100%}
  .mdt-contact-grid{grid-template-columns:1fr}
  .mdt-form-row{grid-template-columns:1fr}
  .mdt-footer-grid{grid-template-columns:1fr;gap:2rem}
  .mdt-footer-bottom{flex-direction:column;text-align:center}
  .mdt-hero-actions .mdt-btn{flex:1 1 auto;justify-content:center}
}
@media(max-width:480px){
  .mdt-why-grid{grid-template-columns:1fr}
  .mdt-hero-stats{gap:1.5rem}
}
@media(prefers-contrast:high){:root{--text:#000;--muted:#333;--border:#555}}
@media print{.mdt-header,.mdt-float-wa,.mdt-scroll-hint{display:none}body{font-size:12pt;color:#000}a{color:#000;text-decoration:underline}}

/* ================================================================
   WPML LANGUAGE SELECTOR
   ================================================================ */
.mdt-lang-selector {
  display:flex; align-items:center; gap:2px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-max); padding:3px; margin-left:.5rem; flex-shrink:0;
}
.mdt-lang-item {
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:26px; border-radius:var(--r-max);
  font-family:var(--f-head); font-size:.72rem; font-weight:800;
  letter-spacing:.5px; text-transform:uppercase;
  color:rgba(255,255,255,.55); text-decoration:none;
  transition:all .18s var(--ease);
}
.mdt-lang-item:hover { color:#fff; text-decoration:none }
.mdt-lang-active {
  background:#C05510; color:#fff !important; /* #C05510 = 4.62:1 sobre #fff — WCAG AA ✅ */
  box-shadow:0 2px 8px rgba(192,85,16,.4);
}
/* WPML legacy list horizontal override */
.mdt-lang-selector .wpml-ls-legacy-list-horizontal {
  border:0 !important; padding:0 !important; background:transparent !important;
}
.mdt-lang-selector .wpml-ls-legacy-list-horizontal li {
  padding:0 !important; border:0 !important;
}
.mdt-lang-selector .wpml-ls-legacy-list-horizontal a {
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:26px; border-radius:var(--r-max);
  font-family:var(--f-head); font-size:.72rem; font-weight:800;
  text-transform:uppercase; color:rgba(255,255,255,.55);
  text-decoration:none; padding:0; transition:all .18s;
}
.mdt-lang-selector .wpml-ls-current-language a {
  background:#C05510; color:#fff !important; /* WCAG AA 4.62:1 ✅ */
  box-shadow:0 2px 8px rgba(192,85,16,.4);
}
.mdt-lang-selector .wpml-ls-legacy-list-horizontal a:hover { color:#fff }
/* Oculta la bandera, mostra només el codi */
.mdt-lang-selector .wpml-ls-flag { display:none }
.mdt-lang-selector .wpml-ls-native { font-size:.72rem; font-weight:800 }
/* Separador | */
.mdt-lang-selector .wpml-ls-legacy-list-horizontal .wpml-ls-item-toggle { display:none }

/* ================================================================
   KIT DIGITAL FOOTER LOGOS
   ================================================================ */
.mdt-kitdigital {
  margin-top:1.5rem; padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.mdt-kitdigital-label {
  font-size:.65rem; color:rgba(255,255,255,.3); text-transform:uppercase;
  letter-spacing:1px; font-weight:600; margin-bottom:.65rem !important;
}
.mdt-kitdigital-logos {
  display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;
}
.mdt-kitdigital-logo {
  height:36px; width:auto; opacity:.65; filter:brightness(1.1) saturate(.8);
  transition:opacity .2s; border-radius:4px;
}
.mdt-kitdigital-logo:hover { opacity:1 }

/* ================================================================
   RESPONSIVE — WPML selector mòbil
   ================================================================ */
@media(max-width:768px) {
  .mdt-lang-selector { margin-left:0; order:-1 }
  .mdt-header-inner { flex-wrap:wrap }
  .mdt-kitdigital-logos { gap:.5rem }
  .mdt-kitdigital-logo { height:28px }
}
/* Nav sempre horitzontal en escriptori ================================ */
@media(min-width:769px){
  .mdt-nav { display:flex !important; flex-direction:row; align-items:center }
  .mdt-nav-list { display:flex !important; flex-direction:row !important; align-items:center; gap:.15rem }
  .mdt-nav-list li { display:inline-flex !important }
  .mdt-nav-list a { display:inline-flex; align-items:center; padding:.5rem .9rem }
}
/* ================================================================
   CORRECCIONS ACCESSIBILITAT WCAG 2.1 AA — contrast mínim 4.5:1
   ================================================================ */

/* --- Botó primari: #D95F0E (3.75:1) → #C05510 (4.62:1) ---------- */
.mdt-btn-primary {
  background: #C05510;
  border-color: #C05510;
}
.mdt-btn-primary:hover {
  background: #A84509;
  border-color: #A84509;
}

/* Nav CTA (header) — mateix problema */
.mdt-nav-cta {
  background: #C05510 !important;
}
.mdt-nav-cta:hover {
  background: #A84509 !important;
}

/* --- Botó outline: text taronja sobre blanc ---------------------- */
/* El text i la vora han de ser el nou naranja fosc */
.mdt-btn-outline {
  color: #C05510;
  border-color: #C05510;
}
.mdt-btn-outline:hover {
  background: #C05510;
  color: #fff;
}

/* --- Botó WhatsApp: #25D366 (1.98:1) → #1A7A38 (5.41:1) --------- */
/* El verd original és molt clar. Usem un verd fosc que manté l'esperit WA */
.mdt-btn-wa {
  background: #1A7A38;
  border-color: #1A7A38;
}
.mdt-btn-wa:hover {
  background: #107832;
  border-color: #107832;
}

/* --- Footer legal i copyright: .3 opacitat (2.69:1) → .5 (5.20:1) */
.mdt-footer-bottom p,
.mdt-footer-legal a {
  color: rgba(255, 255, 255, 0.55);
}
.mdt-footer-legal a:hover {
  color: #fff;
}

/* --- Links taronja sobre fons off-white (#F6F7F9) ----------------- */
/* Afecta seccions amb background: var(--off-white) */
.mdt-section[style*="off-white"] a,
section[style*="off-white"] a {
  color: #B84F0B; /* 4.71:1 sobre #F6F7F9 */
}