/*
Theme Name: DAS JARDINS
Theme URI: https://dasjardins.com
Author: DAS JARDINS
Description: Tema a medida para DAS JARDINS, jardinería y paisajismo en Torrelles de Llobregat.
Version: 1.0
Text Domain: dasjardins
*/




:root{
  --green-dark:#41593f;
  --green-mid:#5c7d52;
  --green-soft:#87a86c;
  --sage-bg:#e8d7c1;
  --paper:#fbf8f3;
  --ink:#1c1c1a;
  --line:#d8d4c4;
  --orange:#c98a2e;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif; color:var(--ink); background:var(--paper); line-height:1.65; font-weight:500;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
img{max-width:100%; display:block; margin-left:auto; margin-right:auto; border-radius:10px;}
a{color:inherit; text-decoration:none;}
h1,h2,h3{font-weight:600; line-height:1.28; color:var(--green-dark);}
h1{font-size:clamp(28px,4.2vw,42px);}
h2{font-size:clamp(22px,3vw,30px); margin-bottom:14px;}
h3{font-size:19px; margin-bottom:6px;}
p{margin-bottom:12px; color:#333;}

/* top bar */
.top{background:var(--green-dark); color:#fff; font-size:13px;}
.top .wrap{display:flex; justify-content:center; gap:36px; padding:8px 24px; flex-wrap:wrap;}
.top a,.lang-switch{color:#fff; font-weight:600;}

/* header */
.header{background:var(--paper); border-bottom:1px solid #eee; position:sticky; top:0; z-index:50;}
.header .wrap{display:flex; align-items:center; justify-content:space-between; padding:12px 24px; gap:16px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand img.logo-img{height:62px; width:auto; border-radius:0;}
.brand b{display:block; font-size:19px; color:var(--green-dark); line-height:1.1;}
.brand small{display:block; font-size:10.5px; letter-spacing:0.08em; color:var(--green-soft); text-transform:uppercase;}
.nav{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.nav a{font-size:14px; font-weight:600; color:var(--green-soft);}
.nav a:hover{color:var(--green-dark);}
.nav .cta{background:var(--green-soft); color:#fff !important; padding:9px 18px; border-radius:6px; font-size:13px; letter-spacing:0.05em;}
.nav .cta:hover{background:var(--green-mid);}
.dropdown{position:relative;}
.dropdown-toggle{background:none; border:none; font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif; font-size:14px; font-weight:600; color:var(--green-soft); cursor:pointer; padding:0;}
.dropdown-toggle:hover{color:var(--green-dark);}
.dropdown-menu{display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid #eee; border-radius:8px; padding:8px; min-width:200px; box-shadow:0 6px 18px rgba(0,0,0,0.1); z-index:80;}
.dropdown-menu a{display:block; padding:9px 12px; font-size:14px; border-radius:5px;}
.dropdown-menu a:hover{background:var(--sage-bg);}
.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu{display:block;}
.menu{display:none; background:none; border:none; font-size:24px; cursor:pointer; color:var(--green-dark);}

/* hero (home) */
.hero{background:linear-gradient(160deg, rgba(65,89,63,0.30), rgba(92,125,82,0.24)), url('assets/img-01-b32583f8.webp') 25% 45%/cover no-repeat; color:#fff; padding:70px 0; text-align:center;}
.hero h1{color:#fff; max-width:800px; margin:10px auto 16px; text-shadow:0 2px 12px rgba(0,0,0,0.45);}
.hero p{color:#f2f5ef; max-width:600px; margin:0 auto 26px; font-size:17px; text-shadow:0 1px 8px rgba(0,0,0,0.4);}
.hero .eyebrow{text-shadow:0 1px 6px rgba(0,0,0,0.4);}
.hero .actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--green-soft); margin-bottom:8px;}

/* page hero (other pages) */
.page-hero{background:var(--sage-bg); padding:74px 0; text-align:center;}
.page-hero.photo{color:#fff;}
.page-hero.photo h1{color:#fff;}
.page-hero.photo .eyebrow{color:#cfe1c8;}
.page-hero.photo p{color:#e6ecdf;}
.page-hero p{max-width:600px; margin:0 auto; font-size:16px;}

/* buttons */
.btn{display:inline-block; background:var(--green-soft); color:#fff !important; font-weight:700; font-size:14px; letter-spacing:0.04em; padding:14px 28px; border-radius:6px; border:none; cursor:pointer;}
.btn:hover{background:var(--green-mid);}
.btn.white{background:#25D366; color:#fff !important;}
.btn-call-reveal .call-number{display:none; margin-left:6px;}
.btn-call-reveal.revealed .call-number{display:inline;}
.btn-call-reveal.revealed .call-label::after{content:" ·";}
.btn.white:hover{background:#1ebc59;}
.btn.white:hover{background:#eee;}
.btn.outline{background:transparent; border:2px solid #fff; color:#fff !important;}

section{padding:55px 0;}
.section.coverage{background:var(--sage-bg); text-align:center;}
.section.coverage.parallax{
  background:var(--paper);
  padding:70px 0;
}
.section.coverage.parallax .eyebrow{color:var(--green-dark); font-weight:800;}
.section.coverage.parallax h2{color:var(--green-dark);}
.section.coverage.parallax p{color:var(--ink);}
@media (max-width:900px){
  .section.coverage.parallax{background-attachment:scroll;}
}

/* intro (2-col text+image) */
.intro{display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center;}
.intro img{width:100%; margin-left:0; margin-right:0; height:320px; object-fit:cover;}

/* services grid on home */
.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:28px;}
.service{background:var(--sage-bg); border-radius:12px; overflow:hidden; display:block;}
.service img{border-radius:0; margin-left:0; margin-right:0; height:190px; width:100%; object-fit:cover;}
.service .content{padding:24px;}
.service .content h3{margin-bottom:10px;}
.service .content p{margin-bottom:14px;}
.service .content b{color:var(--green-soft); font-size:13px; letter-spacing:0.03em;}

/* why choose us */
.why{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:20px; text-align:center;}
.why-3{grid-template-columns:repeat(3,1fr); max-width:720px; margin-left:auto; margin-right:auto; gap:36px;}
.section.coverage.why-photo{
  background:linear-gradient(rgba(232,215,193,0.78), rgba(232,215,193,0.78)), url('assets/maintenance-hedge.webp');
  background-size:cover; background-position:center; padding:70px 0;
}
.why-long{max-width:820px;}
.why-long span:not(.icon){font-size:16px; line-height:1.55;}
.why-long strong{font-size:19px;}
.why-3 .icon{font-size:34px;}
.why-3 strong{font-size:17px; letter-spacing:0.03em;}
.why-3 span:not(.icon){font-size:14px;}
.why > div{display:flex; flex-direction:column; align-items:center; gap:6px;}
.why .icon{font-size:26px;}
.why strong{font-size:13.5px; color:var(--green-dark);}
.why span:not(.icon){font-size:13px; color:#555;}

/* alert (urgencias) - conservado por si se reutiliza en otra sección, ya no se usa en index */
.alert{background:var(--green-dark); color:#fff; border-radius:12px; padding:36px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
.alert p{color:#e6ecdf;}

/* reviews */
.reviews{background:var(--sage-bg);}
.review-box{display:grid; grid-template-columns:1fr 2fr; gap:36px; align-items:start;}
.rating{font-size:32px; font-weight:700; color:var(--green-dark);}
.stars{color:#f4b400; font-size:20px; letter-spacing:3px; margin-bottom:8px;}
.review-cards{display:flex; gap:16px; margin-top:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:6px;}
.review-cards::-webkit-scrollbar{display:none;}
.review-card{flex:0 0 280px; scroll-snap-align:start;}
.review-arrows{display:flex; justify-content:center; gap:14px; margin-top:14px;}
.review-arrows button{width:38px; height:38px; border-radius:50%; border:1.5px solid var(--green-soft); background:#fff; color:var(--green-dark); font-size:18px; cursor:pointer;}
.review-arrows button:hover{background:var(--green-soft); color:#fff;}
.review-card{background:#fff; border-radius:10px; padding:18px; box-shadow:0 2px 8px rgba(0,0,0,0.06); text-align:left;}
.review-card .name-row{display:flex; justify-content:space-between; align-items:flex-start;}
.google-icon{width:20px; height:20px; flex-shrink:0;}
.review-card b{color:var(--green-dark); font-size:14.5px;}
.review-card p{font-size:13.5px; margin-bottom:0;}
.btn-google{display:inline-block; background:#1a73e8; color:#fff !important; font-weight:700; font-size:14px; padding:12px 26px; border-radius:6px; margin-bottom:24px; border:none; cursor:pointer;}
.btn-google:hover{background:#1558b0;}

/* projects strip */
.projects{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:20px 0;}
.more-services{margin-top:20px; display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.more-service-item{display:flex; align-items:center; gap:18px; background:var(--sage-bg); border-radius:12px; padding:14px; text-align:left;}
.more-service-item img{width:90px; height:90px; border-radius:10px; object-fit:cover; flex-shrink:0;}
.more-service-item h3{margin-bottom:4px; font-size:18px; font-weight:700;}
.more-service-item p{color:#444;}
.more-service-item p{margin-bottom:0; font-size:14.5px;}
.projects img{height:150px; width:100%; margin-left:0; margin-right:0; object-fit:cover;}
.projects a{display:block;}
.projects a img{height:150px; width:100%; object-fit:cover; margin-bottom:8px;}
.projects b{font-size:13px; color:var(--green-dark);}

/* gallery (proyectos page) */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.gallery img{height:220px; width:100%; object-fit:cover;}

/* contact page */
.contact{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
form{background:var(--sage-bg); padding:28px; border-radius:12px; display:flex; flex-direction:column;}
form label{font-size:13.5px; font-weight:700; color:var(--green-dark); margin:14px 0 5px;}
form label:first-child{margin-top:0;}
form input,form textarea{border:1.5px solid #d5d0c0; background:#fff; border-radius:6px; padding:11px 13px; font-family:'Trebuchet MS','Segoe UI',Arial,sans-serif; font-size:15px; color:var(--ink);}
form input:focus,form textarea:focus{outline:none; border-color:var(--green-soft);}
form textarea{min-height:100px; resize:vertical;}
form .btn{margin-top:20px;}

/* legal pages */
.legal{max-width:760px;}

/* municipios listing */
.municipios{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.municipios a{background:var(--sage-bg); padding:14px 16px; border-radius:8px; font-size:14px; font-weight:600; color:var(--green-dark); text-align:center;}
.municipios a:hover{background:var(--green-soft); color:#fff;}

/* footer - elegante y centrado, como el original */
.footer{background:var(--paper); border-top:1px solid #eee; padding:38px 0 0; margin-top:10px; text-align:center;}
.footer .logo-footer{height:70px; width:auto; margin:0 auto 26px;}
.footer-brand{text-align:left; max-width:280px;}
.footer-brand .logo-footer{height:90px; width:auto; margin:0 0 8px 0;}
.footer-brand h3{margin-bottom:2px; text-align:left;}
.footer-brand .brand-sub{margin-bottom:14px; text-align:left;}
.footer-brand p{color:#555; font-size:14px; text-align:left; margin-bottom:0;}
.footer h3{font-size:24px; letter-spacing:0.02em; margin-bottom:2px;}
.footer .brand-sub{font-size:11px; letter-spacing:0.15em; color:var(--green-soft); text-transform:uppercase; margin-bottom:40px;}
.footer-grid{display:flex; justify-content:center; align-items:flex-start; gap:50px; flex-wrap:wrap; padding-bottom:6px; text-align:center;}
.footer-grid > div{max-width:260px;}
.footer h4{font-size:20px; margin-bottom:10px; color:var(--green-dark);}
.footer p,.footer a{color:#555; font-size:15px;}
.footer a{text-decoration:none;}
.footer .legal-links{margin:14px 0 8px; font-size:14px;}
.footer .legal-links a{text-decoration:underline; color:var(--green-dark); margin:0 4px;}
.footer .social-row{display:flex; justify-content:center; gap:14px; margin:8px 0 4px;}
.footer .social-row a{width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff !important; font-size:18px; background:var(--green-soft);}
.footer .social-ig{background:linear-gradient(45deg, #f9ce34, #ee2a7b, #6228d7) !important;}
.footer .social-wa{background:#25D366 !important;}
.footer .social-li{background:#0077B5 !important;}
.footer .social-row a:hover{background:var(--green-mid);}
.footer .social-row svg{width:22px; height:22px; fill:#fff;}
.footer > .bottom{background:var(--green-dark); color:#fff; padding:14px 0; font-size:13px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:20px;}

/* floating buttons */
.wa{position:fixed; right:20px; bottom:90px; z-index:60; width:64px; height:64px; border-radius:50%; background:#25D366; color:#fff !important; display:flex; align-items:center; justify-content:center; font-size:0; box-shadow:0 4px 16px rgba(0,0,0,0.3); animation:wa-pulse 2.2s infinite;}
.wa svg{width:36px; height:36px; fill:#fff;}
.wa-icon-inline{width:20px; height:20px; fill:#fff; vertical-align:-4px; margin-right:6px;}
.phone-icon-inline{width:16px; height:16px; fill:currentColor; vertical-align:-2px; margin-right:5px;}
@keyframes wa-pulse{
  0%{box-shadow:0 4px 14px rgba(0,0,0,0.25), 0 0 0 0 rgba(37,211,102,0.45);}
  70%{box-shadow:0 4px 14px rgba(0,0,0,0.25), 0 0 0 10px rgba(37,211,102,0);}
  100%{box-shadow:0 4px 14px rgba(0,0,0,0.25), 0 0 0 0 rgba(37,211,102,0);}
}
.sticky-call a{position:relative;}
.sticky-call a:last-child::before{
  content:""; position:absolute; inset:0; border-radius:0; box-shadow:0 0 0 0 rgba(37,211,102,0.6);
  animation:wa-pulse-flat 2.2s infinite;
}
@keyframes wa-pulse-flat{
  0%{box-shadow:inset 0 0 0 0 rgba(255,255,255,0.35);}
  50%{box-shadow:inset 0 0 0 6px rgba(255,255,255,0);}
  100%{box-shadow:inset 0 0 0 0 rgba(255,255,255,0);}
}
.sticky-call{display:none;}

@media (min-width:601px) and (max-width:1024px){
  .service-grid, .footer-grid, .gallery, .projects, .municipios{grid-template-columns:repeat(2,1fr) !important;}
  .why{grid-template-columns:repeat(3,1fr) !important;}
  .intro, .contact{gap:24px;}
}

@media (max-width:900px){
  .intro,.review-box,.contact{grid-template-columns:1fr;}
  .projects,.gallery{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .municipios{grid-template-columns:repeat(2,1fr);}
  .top .wrap{gap:14px; font-size:11.5px;}
  .nav{display:none;}
  .menu{display:block;}
  nav.mobile-open{display:flex !important; position:absolute; top:100%; left:0; right:0; background:#fff; flex-direction:column; padding:10px 24px 20px; border-bottom:1px solid #eee;}
  nav.mobile-open a{padding:12px 0; border-bottom:1px solid #f2f2f2;}
  nav.mobile-open .dropdown-menu{position:static; display:none; box-shadow:none; border:none; padding:0 0 0 14px;}
  nav.mobile-open .dropdown.open .dropdown-menu{display:block;}
  nav.mobile-open .dropdown-toggle{padding:12px 0; border-bottom:1px solid #f2f2f2; width:100%; text-align:left;}
  .sticky-call{display:flex; position:fixed; bottom:0; left:0; right:0; z-index:59;}
  .sticky-call a{flex:1; text-align:center; padding:14px; font-weight:700; font-size:14px;}
  .sticky-call a:first-child{background:var(--green-dark); color:#fff;}
  .sticky-call a:last-child{background:#25D366; color:#fff;}
}

@media (max-width:600px){
  .service-grid{grid-template-columns:1fr; gap:22px;}
  .why{grid-template-columns:repeat(2,1fr);}
  .review-card{flex-basis:240px;}
  h1{font-size:26px;}
  .page-hero{padding:40px 0;}
  .hero{padding:44px 0;}

  /* Esquinas más redondeadas en móvil: servicios y fotos */
  .service{border-radius:18px;}
  .service img{border-radius:18px 18px 0 0;}
  .gallery img, .projects img, .projects a img{border-radius:16px;}
  .review-card{border-radius:16px;}
  .intro img{border-radius:16px;}
  .more-services{grid-template-columns:1fr;}
  .more-service-item{flex-direction:column; text-align:center; align-items:center;}
  .more-service-item img{width:100%; height:160px;}

  /* Footer compacto en móvil */
  .footer{padding:32px 0 0;}
  .footer-grid{gap:26px; text-align:center;}
  .footer-brand{text-align:center; max-width:100%; margin:0 auto;}
  .footer-brand .logo-footer{height:64px; width:auto; margin:0 auto 8px;}
  .footer-brand h3,.footer-brand .brand-sub,.footer-brand p{text-align:center;}
  .footer-brand p{font-size:13px; margin-bottom:0;}
  .footer h4{font-size:16px; margin-bottom:6px;}
  .footer-grid p{font-size:13.5px; margin-bottom:4px;}
  .social-row{margin:14px 0 6px; gap:10px;}
  .footer .social-row a{width:36px; height:36px;}
  .footer .social-row svg{width:18px; height:18px;}
  .legal-links{margin-top:12px; font-size:12.5px;}
  .footer .bottom{padding:10px 0; font-size:11.5px; flex-direction:column; gap:2px; text-align:center;}
}

.page{display:block;}
.page.active{display:block;}

/* Mejoras de fotografías y widgets externos: conservan el diseño original. */
img { height: auto; }
.intro img, .gallery img, .projects img, .service img, .more-service-item img { image-rendering: auto; }
.gallery img, .projects img { transition: transform .25s ease, box-shadow .25s ease; cursor: zoom-in; }
.gallery a:hover img, .projects a:hover img { transform: scale(1.015); box-shadow:0 8px 24px rgba(0,0,0,.10); }
.embedsocial-widget { width:100%; min-height:120px; margin:24px 0; }
.reviews .embedsocial-widget { margin-top:18px; }
@media (max-width:700px){
  .intro img { height:260px; object-fit:cover; }
  .gallery { grid-template-columns:repeat(2,1fr); gap:12px; }
  .gallery img { height:170px; }
  .projects { grid-template-columns:repeat(2,1fr); gap:12px; }
  .projects img, .projects a img { height:130px; }
}
/* Ajuste final de fotos: mantener recorte y proporciones del diseño original. */
.intro img { width:100%; height:320px; object-fit:cover; }
.service img { width:100%; height:190px; object-fit:cover; }
.projects img, .projects a img { height:150px; width:100%; object-fit:cover; }
.gallery img { height:220px; width:100%; object-fit:cover; }
.more-service-item img { width:90px; height:90px; object-fit:cover; }
@media (max-width:700px){
  .intro img { height:260px; }
  .gallery img { height:170px; }
  .projects img, .projects a img { height:130px; }
}

/* AEA membership */
.aea-membership{max-width:1180px;margin:26px auto 0;padding:18px 24px;text-align:center;border-top:1px solid var(--line);color:var(--ink);}
.aea-membership strong{display:block;font-size:15px;color:var(--green-dark);}
.aea-membership span{display:block;margin-top:3px;font-size:13px;color:#666;}
.aea-membership img{height:48px;width:auto;margin:0 auto 10px;display:block;}

/* Google reviews live access */
.google-live-note{text-align:center;margin:10px 0 18px;}
.google-live-note>span{display:block;margin-bottom:10px;font-size:14px;color:#555;}
