@charset "utf-8";
/* =========================================================
   VEÀ · CSS PÚBLIC UNIFICAT · 2026 · v01
   ---------------------------------------------------------
   Substitueix:
   - 2026-vea-08.css
   - 2026-menu-vea-02.css (les regles necessàries ja són al base)
   - 2026-vea-mapa-productes-03.css
   - 2026-vea-producte-dinamic-03.css

   Paleta VEÀ:
   verd         #727633
   verd clar    #AFB487
   lila         #6D58AD
   lila fosc    #4B4B87

   No s'utilitza el granat #4B4B87 a la web pública.
   ========================================================= */

:root{
  --vea-verd:#727633;
  --vea-verd-clar:#AFB487;
  --vea-lila:#6D58AD;
  --vea-lila-fosc:#4B4B87;
  --vea-text:#464646;
  --vea-linia:#E1E1D8;
  --vea-fons:#F7F7F2;
}


/* ================= BASE / CAPÇALERA / MENÚ / LAYOUT ================= */
html,body{font-family:'Montserrat',sans-serif;font-weight:400;color:#464646;}
img{max-width:100%;height:auto;}
a{color:#727633;text-decoration:none;transition:color .3s ease;}
a:hover{color:#555;text-decoration:underline;}

.cos-pagina{max-width:900px;margin:0 auto;padding:20px;box-sizing:border-box;}
.bloc-2020{display:flex;flex-wrap:wrap;justify-content:space-between;}
.bloc-intro{max-width:900px;margin:0 auto;text-align:center;padding:15px;box-sizing:border-box;}
.col-2020.gran{flex:0 0 40%;max-width:40%;}
.col-2020.petita{flex:0 0 60%;max-width:60%;}

.capcalera-vea{max-width:900px;margin:0 auto;padding-top:5px;}
.capcalera-superior{max-width:900px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;flex-wrap:wrap;box-sizing:border-box;}
.capcalera-superior .logo img{display:block;height:auto;max-width:100%;}
.idiomes-barra,.idiomes-barra-top{text-align:right;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:9px;color:#999;text-shadow:1px 0 #CFCFCF;letter-spacing:2px;}
.idiomes-barra{padding:8px 20px 0 0;}
.idiomes-barra-top{padding:5px 20px 0 20px;max-width:900px;margin:0 auto;}
.idiomes-barra a,.idiomes-barra-top a{color:#999;text-decoration:none;margin:0 5px;transition:color .3s;}
.idiomes-barra a:hover,.idiomes-barra-top a:hover{color:#727633;}

.menu-css{background-color:#fff;font-family:Verdana,sans-serif;position:relative;border-bottom:1px solid #dcdcdc;}
.menu-css input[type="checkbox"]{display:none;}
.menu-icon{display:none;font-size:28px;padding:10px 15px;cursor:pointer;color:#727633;}
.menu-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;justify-content:center;align-items:center;border-top:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc;}
.menu-items>li{position:relative;border-right:1px solid #dcdcdc;min-width:140px;text-align:center;}
.menu-items>li:last-child{border-right:none;}
.menu-items>li>label,.menu-items>li>a{display:block;padding:10px 16px;color:#727633;text-decoration:none;cursor:pointer;transition:background-color .3s,color .3s;}
.menu-items>li>label:hover,.menu-items>li>a:hover{background-color:#afb487;color:#fff;}
.menu-items .submenu{display:none;position:absolute;top:100%;left:0;min-width:300px;background-color:#fff;border:1px solid #afb487;z-index:1000;flex-direction:column;list-style:none;margin:0;padding:0;}
.menu-items .submenu li{border-bottom:1px solid #e0e0e0;list-style:none;margin:0;padding:0;}
.menu-items .submenu li:last-child{border-bottom:none;}
.menu-items .submenu li a{display:flex;align-items:center;gap:10px;padding:6px 12px;color:#727633;text-decoration:none;background-color:#fff;transition:background-color .3s,color .3s;line-height:1.15;}
.menu-items .submenu li a:hover{background-color:#afb487;color:#fff;}
.menu-items .submenu li a img{width:34px;height:34px;object-fit:cover;flex:0 0 34px;border-radius:6px;}
.menu-css input[type="checkbox"]:checked~.menu-items li input[type="checkbox"]:checked+label+.submenu{display:flex;}
.menu-items li:hover .submenu{display:flex;flex-direction:column;}
.menu-parent{display:flex;align-items:center;justify-content:space-between;}
.menu-parent .menu-link{display:block;flex:1;padding:10px 16px;color:#727633;text-decoration:none;transition:background-color .3s,color .3s;}
.menu-parent .menu-link:hover{background-color:#afb487;color:#fff;}
.menu-parent .submenu-toggle{display:block;width:44px;flex:0 0 44px;cursor:pointer;}
.menu-parent .submenu-toggle::after{content:"▾";display:block;text-align:center;font-size:14px;line-height:44px;color:#727633;transition:transform .2s ease;}
#estornell-toggle:checked + .menu-parent .submenu-toggle::after{transform:rotate(180deg);}

.dos-columnes-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:0 auto 40px;}
.dos-columnes-text .columna{float:none !important;width:auto !important;max-width:100%;}
.dos-columnes-text img{display:block;width:100%;height:auto;max-width:100%;border-radius:6px;}
.dos-columnes-text h3{margin:0 0 8px;}
.dos-columnes-text p{margin:8px 0 0;line-height:1.45;}

.timeline-entry{margin:32px 0;font-family:Arial,sans-serif;}
.timeline-img-container{position:relative;width:100%;max-width:800px;margin:0 auto;overflow:hidden;border-radius:8px;}
.timeline-img-container img{width:100%;height:auto;display:block;}
.year-label{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.75);color:#fff;font-size:18px;font-weight:700;padding:6px 12px;border-radius:4px;}
.timeline-content{text-align:center;padding:16px;}
.timeline-title{color:#6D58AD;font-size:18px;margin:0 0 8px;}
.timeline-text{font-size:16px;color:#333;}

.vea-galeria{max-width:900px;margin:40px 0;padding:0;background:#fff;border:0;border-radius:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;justify-content:start;align-items:start;}
.vea-galeria a{display:block;max-width:none;color:#727633;text-decoration:none;overflow:hidden;border:0;border-radius:0;background:#fff;transition:color .25s ease;}
.vea-galeria a:hover{color:#555;text-decoration:none;}
.vea-galeria img{width:100%;aspect-ratio:16/9;height:auto;display:block;object-fit:cover;border-radius:0;transition:transform .35s ease,filter .35s ease;}
.vea-galeria a:hover img{transform:scale(1.06);filter:brightness(.96);}
.vea-galeria a span{display:block;text-align:left;margin-top:10px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:inherit;line-height:1.35;letter-spacing:.02em;text-transform:uppercase;}

.blocs-productes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;width:100%;max-width:750px;margin:40px auto;padding:0;box-sizing:border-box;}
.bloc-producte{max-width:none;}
.bloc-producte a{display:block;text-decoration:none;}
.bloc-producte img{width:100%;height:auto;display:block;border-radius:4px;}

.producte-flex{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;align-items:flex-start;max-width:950px;margin:0 auto;}
.producte-image,.producte-info{flex:1 1 400px;min-width:300px;}
.producte-intro{margin-top:20px;font-size:14px;line-height:24px;color:#464646;max-width:100%;}
.producte-imatge{margin-top:40px;display:flex;justify-content:center;}

.products-page{width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1rem 2rem;box-sizing:border-box;}
.product-section{margin-bottom:3rem;}
.product-section-title{margin:0 0 .75rem;text-align:center;}
.product-section-line{width:100%;height:5px;margin:0 auto 1.5rem;background:url('/i/portsline_660.gif') center center no-repeat;background-size:cover;max-width:660px;}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;align-items:stretch;}
.product-card{border:1px solid #ccc;background:#fff;transition:transform .2s ease,box-shadow .2s ease;}
.product-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08);}
.product-card-link{display:flex;flex-direction:column;height:100%;padding:.75rem;text-decoration:none;color:inherit;}
.product-card-image-wrap{display:flex;align-items:center;justify-content:center;min-height:160px;margin-bottom:.75rem;}
.product-card-image{max-width:100%;max-height:140px;width:auto;height:auto;display:block;}
.product-card-title{margin:0;text-align:center;font-size:.95rem;line-height:1.35;font-weight:500;}
.product-empty{grid-column:1/-1;text-align:center;margin:.5rem 0 0;}

.mapa-productes{text-align:center;margin:20px 0;}

.img_border{border:2px solid #AFB487;}
.transparencia{opacity:.5;filter:alpha(opacity=50);}

.boto-vea{display:inline-flex;align-items:center;background:#4b4b87;color:#fff;font-family:Georgia,serif;font-size:16px;padding:8px 16px;border-radius:6px;border:2px solid transparent;text-decoration:none;transition:all .3s ease;min-height:48px;}
.boto-vea:hover{background:#eaeaf5;color:#4b4b87;border-color:#4b4b87;}
.boto-clean{display:inline-block;background:#eaeaf5;color:#727633;border:2px solid #727633;padding:12px 24px;font-family:Georgia,serif;font-size:16px;text-decoration:none;border-radius:8px;transition:all .3s ease;}

.text-normal{font-size:14px;line-height:24px;}
.text-normal-responsive{font-size:16px;line-height:28px;padding:0 15px;}
.text_normal_vea_petit_verd,.text-petit-verd{font-size:11px;color:#727633;line-height:18px;}
.text-vincle-mini{font-size:10px;color:#333;line-height:18px;text-decoration:underline;}
.titol-producte{font-size:15px;color:#727633;margin-top:10px;line-height:20px;}
.titol-verd{color:#727633;font-weight:400;text-transform:none;font-size:13px;line-height:21px;text-align:left;box-shadow:none;}
.titol-verd-2{color:#727633;font-weight:400;text-transform:none;font-size:17px;line-height:24px;text-align:left;}
.titol-verd-2-lila{color:#6D58AD;font-size:20px;line-height:30px;font-weight:500;text-transform:none;}
.titol-verd-4{color:#727633;font-weight:500;text-transform:uppercase;font-size:28px;margin-top:40px;margin-bottom:25px;line-height:34px;}
.detall2{font-size:11px;color:#333;line-height:16px;}
.normal_11_formulari{font-size:12px;color:#727633;line-height:20px;cursor:pointer;margin:2px;border:1px solid #727633;padding:4px 8px;border-radius:3px;}

.peu-pagina{max-width:900px;margin:0 auto;padding:20px;font:12px Verdana,sans-serif;color:#727633;}
.footer-contenidor{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:flex-start;max-width:900px;margin:0 auto;padding:20px 20px 0;}
.footer-text{flex:1 1 300px;text-align:left;}
.footer-text a{color:#727633;text-decoration:none;}
.footer-text a:hover{text-decoration:underline;}
.footer-icons{display:flex;justify-content:flex-end;align-items:center;gap:15px;flex:0 0 auto;}
.footer-icons img{max-width:100%;height:auto;transition:opacity .3s ease;}
.footer-logo{text-align:center;margin-top:30px;}
.footer-logo img{max-width:100%;height:auto;}

@media (min-width:769px){.menu-parent .submenu-toggle{display:none;}.producte-intro{padding-right:10px;}.producte-flex{align-items:flex-start;}.producte-image{max-width:45%;}.producte-info{max-width:55%;}}

@media (max-width:991px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}

@media (max-width:768px){.dos-columnes-text{grid-template-columns:1fr;}.col-2020.gran,.col-2020.petita{flex:1 1 100%;max-width:100%;}.cos-pagina{padding:10px;}.idiomes-barra-top{text-align:center;padding-top:10px;}.capcalera-superior{flex-direction:column;align-items:center;text-align:center;}.capcalera-superior .logo{margin-bottom:10px;}.menu-icon{display:block;}.menu-items{flex-direction:column;display:none;border-top:none;}#toggle-menu:checked+.menu-icon+.menu-items{display:flex;}.menu-items>li{border-right:none;border-top:1px solid #dcdcdc;width:100%;}.menu-items>li>label,.menu-items>li>a{padding:12px 15px;width:100%;}.menu-items .submenu{position:static;border:none;}.menu-items li:hover .submenu{display:none;}.menu-css input[type="checkbox"]:checked+label+.submenu{display:flex;}.blocs-productes{grid-template-columns:repeat(2,minmax(0,1fr));}.producte-flex{flex-direction:column;padding:10px;}.text_normal_vea{font-size:15px;line-height:26px;padding:0 15px;}.footer-contenidor{flex-direction:column;align-items:center;text-align:center;}.footer-text{text-align:center;}.footer-icons{justify-content:center;margin-top:10px;}.products-page{padding:1rem .75rem 1.5rem;}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}.product-card-image-wrap{min-height:140px;}.product-card-image{max-height:120px;}.mapa-productes{display:none;}.nomobil{display:none !important;}}

@media (max-width:480px){.blocs-productes{grid-template-columns:1fr;}.text_normal_vea{font-size:16px;line-height:28px;}.text-normal{font-size:17px;line-height:30px;}.text-normal-responsive{font-size:17px;line-height:30px;}.titol-verd-4{font-size:24px;}.product-grid{grid-template-columns:1fr;}}

/* Plantilla amb imatge lateral a sang */
.plantilla-vea-lateral{width:100%;min-height:100vh;display:block;box-sizing:border-box;}
.plantilla-vea-lateral .barra-imatge-lateral{position:fixed;top:0;left:0;bottom:0;width:36vw;min-width:300px;max-width:610px;margin:0;overflow:hidden;background-color:#f5f5f0;background-image:var(--imatge-lateral);background-size:cover;background-position:var(--imatge-lateral-posicio,center center);background-repeat:no-repeat;z-index:1;}
.plantilla-vea-lateral .barra-imatge-lateral-titol{position:absolute;top:40px;right:35px;z-index:2;max-width:72%;font-family:'Montserrat',sans-serif;font-size:42px;line-height:1.05;font-weight:700;color:#fff;text-align:right;text-shadow:0 2px 12px rgba(0,0,0,.45);text-transform:uppercase;letter-spacing:.02em;}
.plantilla-vea-lateral .zona-contingut-vea{position:relative;z-index:2;min-width:0;margin-left:36vw;padding:0 20px;box-sizing:border-box;background:#fff;}
.plantilla-vea-lateral .zona-contingut-vea .contenidor-pagina{max-width:900px;margin:0 auto;}
.plantilla-vea-lateral .zona-contingut-vea .peu-pagina{max-width:900px;margin:0 auto;}
@media (min-width:1700px){.plantilla-vea-lateral .zona-contingut-vea{margin-left:610px;}}
@media (max-width:1024px){.plantilla-vea-lateral .barra-imatge-lateral{width:260px;min-width:260px;}.plantilla-vea-lateral .barra-imatge-lateral-titol{font-size:30px;top:30px;right:24px;}.plantilla-vea-lateral .zona-contingut-vea{margin-left:260px;}}
@media (max-width:768px){.plantilla-vea-lateral .barra-imatge-lateral{display:none;}.plantilla-vea-lateral .zona-contingut-vea{margin-left:0;padding:0;}}

/* Ajust responsiu galeria VEÀ */
@media (max-width:768px){.vea-galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0;}.vea-galeria a span{font-size:12px;}}
@media (max-width:480px){.vea-galeria{grid-template-columns:1fr;gap:22px;}}

/* Ajust 2026-vea-06: contingut una mica mes alineat a l'esquerra quan hi ha imatge lateral */
.plantilla-vea-lateral .zona-contingut-vea .contenidor-pagina{max-width:900px;margin:0 0 0 clamp(36px,4vw,72px);}
.plantilla-vea-lateral .zona-contingut-vea .peu-pagina{max-width:900px;margin:0 0 0 clamp(36px,4vw,72px);}
.plantilla-vea-lateral .capcalera-vea{max-width:900px;margin:0;}
.plantilla-vea-lateral .capcalera-superior{max-width:900px;margin:0;padding-left:20px;padding-right:20px;}
.plantilla-vea-lateral .idiomes-barra-top{max-width:900px;margin:0;text-align:right;}

@media (max-width:1200px){
  .plantilla-vea-lateral .zona-contingut-vea .contenidor-pagina{margin:0 auto;}
  .plantilla-vea-lateral .zona-contingut-vea .peu-pagina{margin:0 auto;}
  .plantilla-vea-lateral .capcalera-vea{margin:0 auto;}
  .plantilla-vea-lateral .capcalera-superior{margin:0 auto;}
  .plantilla-vea-lateral .idiomes-barra-top{margin:0 auto;}
}

/* Ajust blocs de productes en plantilla amb imatge lateral */
.plantilla-vea-lateral .blocs-productes{max-width:760px;margin:40px 0 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;justify-content:start;align-items:start;}
.plantilla-vea-lateral .bloc-producte{max-width:none;width:100%;margin:0;}
.plantilla-vea-lateral .bloc-producte a{display:block;text-decoration:none;color:inherit;overflow:hidden;}
.plantilla-vea-lateral .bloc-producte img{width:100%;aspect-ratio:16/9;height:auto;display:block;object-fit:cover;border-radius:0;transition:transform .35s ease,filter .35s ease;}
.plantilla-vea-lateral .bloc-producte a:hover img{transform:scale(1.04);filter:brightness(.96);}
.plantilla-vea-lateral .bloc-producte .titol-producte{margin:10px 0 0 0;text-align:left;font-family:'Montserrat',sans-serif;font-size:14px;line-height:1.35;font-weight:600;color:#727633;}
@media (max-width:768px){.plantilla-vea-lateral .blocs-productes{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0 0 0;}}
@media (max-width:480px){.plantilla-vea-lateral .blocs-productes{grid-template-columns:1fr;}}

/* Ajust 2026-vea-08: capçalera i idiomes compactes en mòbil */
@media (max-width:768px){
  .idiomes-barra,
  .idiomes-barra-top{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:nowrap;
    gap:10px;
    max-width:100%;
    margin:0 auto;
    padding:8px 8px 2px 8px;
    box-sizing:border-box;
    overflow-x:auto;
    white-space:nowrap;
    text-align:center;
    font-size:0;
    line-height:1.2;
    letter-spacing:0;
    text-shadow:none;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .idiomes-barra::-webkit-scrollbar,
  .idiomes-barra-top::-webkit-scrollbar{display:none;}
  .idiomes-barra a,
  .idiomes-barra-top a{
    flex:0 0 auto;
    margin:0;
    font-size:9px;
    line-height:1.2;
    letter-spacing:.7px;
    text-shadow:none;
  }
  .capcalera-vea{padding-top:0;}
  .capcalera-superior{padding:2px 10px 0 10px;}
  .capcalera-superior .logo{margin-bottom:4px;}
  .capcalera-superior .logo img{max-width:120px;}
  .menu-icon{font-size:30px;line-height:1;padding:8px 15px 10px 15px;}
}

@media (max-width:390px){
  .idiomes-barra,
  .idiomes-barra-top{gap:7px;padding-left:6px;padding-right:6px;}
  .idiomes-barra a,
  .idiomes-barra-top a{font-size:8px;letter-spacing:.45px;}
  .capcalera-superior .logo img{max-width:108px;}
}


/* ================= MAPA DE PRODUCTES ================= */
/* Mapa de productes VEA dividit en peces - v03 */
.vea-mapa-productes-wrap{width:100%;max-width:900px;margin:20px auto 35px;box-sizing:border-box;overflow:hidden;}
.vea-mapa-productes-titol{margin:0 0 18px;color:#727633;font-family:'Montserrat',sans-serif;font-size:24px;line-height:1.25;font-weight:500;text-transform:uppercase;}

/* Escriptori: una sola fila, cada producte conserva el seu ample real i tots tenen la mateixa altura */
.vea-mapa-productes{width:100%;display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:1px;margin:0 auto;padding:0;overflow:visible;box-sizing:border-box;line-height:0;}
.vea-mapa-productes-item{display:flex;flex:0 1 auto;min-width:0;max-width:none;margin:0;padding:0;color:#727633;text-decoration:none;line-height:1;text-align:center;align-items:flex-end;justify-content:center;box-sizing:border-box;overflow:visible;}
.vea-mapa-productes-item:hover{text-decoration:none;color:#555;}
.vea-mapa-productes-img{display:flex;width:auto;min-width:0;line-height:0;overflow:visible;align-items:flex-end;justify-content:center;box-sizing:border-box;background:transparent;}
.vea-mapa-productes-img img{display:block;width:auto;height:clamp(180px,19vw,315px);max-width:none;max-height:none;object-fit:contain;border:0;border-radius:0;transition:transform .28s ease,filter .28s ease;}
.vea-mapa-productes-item:hover .vea-mapa-productes-img img{transform:scale(1.025);filter:brightness(.98);}
.vea-mapa-productes-text{display:block;margin-top:8px;font-family:'Montserrat',sans-serif;font-size:13px;line-height:1.25;font-weight:600;color:inherit;text-align:center;}

.plantilla-vea-lateral .vea-mapa-productes-wrap{margin-left:0;margin-right:0;}
.plantilla-vea-lateral .vea-mapa-productes{justify-content:flex-start;}
.plantilla-vea-lateral .vea-mapa-productes-img img{height:clamp(165px,17vw,295px);}

/* Pantalles mitjanes: continua sense saltar de linia, simplement baixa una mica l'altura comuna */
@media (max-width:1200px){
  .vea-mapa-productes-img img{height:clamp(150px,16vw,260px);}
  .plantilla-vea-lateral .vea-mapa-productes-img img{height:clamp(145px,15vw,240px);}
}

@media (max-width:1024px){
  .vea-mapa-productes-img img{height:clamp(125px,15vw,215px);}
  .plantilla-vea-lateral .vea-mapa-productes-img img{height:clamp(120px,14vw,200px);}
}

/* Mobil: tira lateral. Es veuen un parell de productes i la resta es desplacen lateralment */
@media (max-width:768px){
  .vea-mapa-productes-wrap{max-width:100%;margin:12px 0 22px;overflow:hidden;}
  .vea-mapa-productes{justify-content:flex-start;align-items:flex-end;gap:1px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:0 0 10px 0;}
  .vea-mapa-productes::-webkit-scrollbar{height:5px;}
  .vea-mapa-productes::-webkit-scrollbar-thumb{background:#d8d8bd;}
  .vea-mapa-productes::-webkit-scrollbar-track{background:#f4f4ec;}
  .vea-mapa-productes-item{flex:0 0 auto;max-width:none;min-width:0;scroll-snap-align:start;}
  .vea-mapa-productes-img{width:auto;background:transparent;}
  .vea-mapa-productes-img img,
  .plantilla-vea-lateral .vea-mapa-productes-img img{width:auto;height:155px;max-width:none;max-height:none;object-fit:contain;}
  .vea-mapa-productes-text{font-size:11px;line-height:1.25;text-align:left;}
}

@media (max-width:420px){
  .vea-mapa-productes-img img,
  .plantilla-vea-lateral .vea-mapa-productes-img img{height:135px;}
}


/* ================= FITXA DE PRODUCTE DINÀMIC ================= */
/* VEÀ · Producte dinàmic · v02
   Corregeix la maquetació de la fitxa pública i controla totes les imatges. */

:root{
  --vea-verd:#727633;
  --vea-verd-clar:#afb487;
  --vea-lila-fosc:#4B4B87;
  --vea-lila:#6d58ad;
  --vea-text:#464646;
  --vea-linia:#e1e1d8;
  --vea-fons:#f7f7f2;
}

/* =========================================================
   Barra superior de productes
   ========================================================= */
.barra-productes{
  width:100%;
  max-width:900px;
  margin:12px auto 26px;
  padding:0 20px;
  box-sizing:border-box;
  overflow:hidden;
}
.barra-productes:empty{display:none;}

.barra-productes .vea-mapa-productes-wrap{
  width:100%;
  max-width:none;
  margin:0;
  overflow:hidden;
}
.barra-productes .vea-mapa-productes{
  justify-content:center;
  gap:2px;
}
.barra-productes .vea-mapa-productes-img img,
.plantilla-vea-lateral .barra-productes .vea-mapa-productes-img img{
  height:125px !important;
  max-height:125px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain;
}

/* =========================================================
   Cos de producte
   ========================================================= */
.producte{
  width:100%;
  max-width:900px;
  margin:0 auto;
  padding:18px 20px 56px;
  box-sizing:border-box;
}
.producte-flex{
  display:grid;
  grid-template-columns:minmax(260px,38%) minmax(0,62%);
  gap:42px;
  align-items:start;
  width:100%;
  max-width:none;
  margin:0;
}
.producte-image,
.producte-info{
  min-width:0;
  max-width:none;
  width:auto;
}
.producte-image{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:520px;
  padding:0 12px;
}
.producte-image a{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:100%;
  text-decoration:none;
}
.producte-image img{
  display:block;
  width:auto;
  height:510px;
  max-width:100%;
  max-height:510px;
  margin:0 auto;
  object-fit:contain;
}
.producte-info{
  padding-top:4px;
}
.producte-info .vea-producte-h1{
  margin:0 0 14px;
  color:var(--vea-verd);
  font-size:30px;
  line-height:1.15;
  font-weight:500;
  text-transform:uppercase;
}
.vea-producte-lema{
  margin:0 0 20px;
  color:var(--vea-lila);
  font-size:18px;
  line-height:1.45;
  font-weight:500;
}
.vea-producte-resum-tecnic{
  margin:0 0 14px;
  padding:15px 17px;
  border-left:4px solid var(--vea-verd);
  background:var(--vea-fons);
  color:var(--vea-text);
  font-size:13px;
  line-height:1.6;
}
.vea-producte-presentacions{
  margin:0 0 14px;
  padding:11px 14px;
  border:1px solid var(--vea-linia);
  background:#fff;
  color:#606060;
  font-size:12px;
  line-height:1.55;
}
.vea-producte-presentacions strong{color:var(--vea-lila-fosc);}
.vea-producte-comprar{
  margin:18px 0 0;
}
.vea-producte-comprar .boto-vea{
  min-height:42px;
  padding:8px 17px;
  border:0;
  border-radius:5px;
  background:var(--vea-lila-fosc);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  font-weight:600;
}
.vea-producte-comprar .boto-vea:hover{
  background:var(--vea-verd);
  color:#fff;
  text-decoration:none;
}

/* La descripció deixa de quedar atrapada a la columna dreta. */
.vea-producte-descripcio{
  width:100%;
  max-width:780px;
  margin:34px auto 0;
  padding:27px 32px;
  box-sizing:border-box;
  border-top:1px solid var(--vea-linia);
  border-bottom:1px solid var(--vea-linia);
  color:var(--vea-text);
  font-size:15px;
  line-height:1.8;
}

/* =========================================================
   Imatges d'ambient
   ========================================================= */
.producte-imatge{
  display:block;
  width:100%;
  margin:36px 0 0;
}
.producte-imatge:empty{display:none;}
.vea-producte-ambient{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  width:100%;
  max-width:780px;
  margin:0 auto;
}
.vea-producte-ambient figure{
  margin:0;
  overflow:hidden;
  background:#fff;
}
.vea-producte-ambient img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
}
.vea-producte-ambient figcaption{
  padding:8px 2px 0;
  color:#777;
  font-size:11px;
  line-height:1.35;
}

/* =========================================================
   Imatge de família
   ========================================================= */
.vea-producte-familia{
  display:flex;
  justify-content:center;
  width:100%;
  max-width:820px;
  margin:0 auto;
}
.vea-producte-familia a{
  display:flex;
  justify-content:center;
  width:100%;
  cursor:zoom-in;
}
.vea-producte-familia img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:620px;
  height:auto;
  object-fit:contain;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:900px){
  .barra-productes .vea-mapa-productes{
    justify-content:flex-start;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .barra-productes .vea-mapa-productes-img img,
  .plantilla-vea-lateral .barra-productes .vea-mapa-productes-img img{
    height:105px !important;
    max-height:105px !important;
  }
  .producte-flex{
    grid-template-columns:minmax(220px,36%) minmax(0,64%);
    gap:26px;
  }
  .producte-image{
    min-height:430px;
  }
  .producte-image img{
    height:420px;
    max-height:420px;
  }
}

@media (max-width:700px){
  .barra-productes{padding:0 10px;margin-bottom:18px;}
  .producte{padding:12px 14px 42px;}
  .producte-flex{
    grid-template-columns:1fr;
    gap:16px;
  }
  .producte-image{
    min-height:0;
    padding:0;
  }
  .producte-image img{
    width:auto;
    height:auto;
    max-width:78%;
    max-height:440px;
  }
  .producte-info{
    padding-top:0;
  }
  .producte-info .vea-producte-h1{
    font-size:24px;
  }
  .vea-producte-lema{
    font-size:16px;
  }
  .vea-producte-descripcio{
    margin-top:24px;
    padding:20px 4px;
    font-size:14px;
    line-height:1.7;
  }
  .vea-producte-ambient{
    grid-template-columns:1fr;
    gap:14px;
  }
  .vea-producte-familia img{
    max-height:none;
  }
}

@media (max-width:420px){
  .barra-productes .vea-mapa-productes-img img,
  .plantilla-vea-lateral .barra-productes .vea-mapa-productes-img img{
    height:92px !important;
    max-height:92px !important;
  }
  .producte-image img{
    max-width:88%;
  }
}


/* =========================================================
   VEÀ · Producte dinàmic v03 · dades estructurades de BD
   ========================================================= */
.vea-producte-dades-db{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:12px 0 14px;
  padding:0;
  border-top:1px solid var(--vea-linia);
  border-bottom:1px solid var(--vea-linia);
  background:#fff;
}
.vea-producte-dades-db>div{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:12px;
  align-items:baseline;
  padding:8px 2px;
  border-bottom:1px solid #eeeeea;
}
.vea-producte-dades-db>div:last-child{border-bottom:0;}
.vea-producte-dades-db dt{
  margin:0;
  color:var(--vea-lila-fosc);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.vea-producte-dades-db dd{
  margin:0;
  color:var(--vea-text);
  font-size:13px;
  line-height:1.45;
}
.vea-producte-presentacions ul{
  margin:7px 0 0;
  padding-left:18px;
}
.vea-producte-presentacions li{
  margin:2px 0;
}

@media(max-width:700px){
  .vea-producte-dades-db>div{
    grid-template-columns:1fr;
    gap:2px;
  }
}


/* =========================================================
   PALETA FINAL VEÀ
   Aquest bloc és intencionadament l'últim: evita que regles
   antigues tornin a introduir colors aliens a la marca.
   ========================================================= */

/* Botons principals: lila VEÀ -> verd VEÀ al hover */
.boto-vea,
.vea-producte-comprar .boto-vea,
a.boto-vea,
a.vea-donde-comprar.boto-vea{
  background:var(--vea-lila-fosc);
  color:#fff;
  border-color:transparent;
}

.boto-vea:hover,
.vea-producte-comprar .boto-vea:hover,
a.boto-vea:hover,
a.vea-donde-comprar.boto-vea:hover{
  background:var(--vea-verd);
  color:#fff;
  border-color:var(--vea-verd);
  text-decoration:none;
}

/* Accents tècnics i presentacions: lila, no granat */
.vea-producte-presentacions strong,
.vea-producte-dades-db dt{
  color:var(--vea-lila);
}

/* Títols secundaris lila corporatiu */
.titol-verd-2-lila,
.vea-producte-lema,
.timeline-title{
  color:var(--vea-lila);
}

/* Enllaços generals i navegació: verd */
.menu-items>li>label,
.menu-items>li>a,
.menu-parent .menu-link,
.menu-items .submenu li a,
a{
  text-decoration-thickness:1px;
}

/* Evita qualsevol rastre del granat anterior als components públics */
.vea-producte-comprar,
.vea-producte-presentacions,
.vea-producte-dades-db{
  --vea-vi:var(--vea-lila-fosc);
}
