/* FibraLlagostera - estils globals del redisseny (colors de marca: #c67aff, #e0b5ff, #f5e6ff, #2b2b2b) */

/* --- capcalera i menu --- */
.builder-item--primary-menu{--color:#2b2b2b;--hovercolor:#c67aff;--activecolor:#c67aff}
.hfg_header{border-bottom:1px solid #f1e6fa}

/* --- pagina --- */
.fll-page{padding:44px 0 64px;color:#2b2b2b}
.fll-title{font-size:38px;font-weight:700;line-height:1.2;text-align:center;text-transform:none;letter-spacing:0;color:#2b2b2b;margin:0 0 18px}
.fll-title::after{content:"";display:block;width:64px;height:4px;border-radius:2px;background:#c67aff;margin:18px auto 0}
.fll-lead{font-size:19px;line-height:1.65;text-align:center;color:#444;max-width:760px;margin:0 auto 40px}
.fll-h2{font-size:28px;font-weight:700;line-height:1.25;text-align:center;text-transform:none;letter-spacing:0;color:#2b2b2b;margin:60px 0 24px}

/* --- targetes --- */
.fll-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin:0 0 20px}
.fll-card{background:#fff;border:1px solid #e0b5ff;border-radius:14px;padding:28px 26px;box-shadow:0 2px 10px rgba(198,122,255,.08)}
.fll-card h3{font-size:20px;font-weight:700;line-height:1.3;text-transform:none;letter-spacing:0;color:#2b2b2b;margin:0 0 10px}
.fll-card h3::before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#c67aff;margin:0 0 14px}
.fll-card p{font-size:16px;line-height:1.65;color:#444;margin:0 0 12px}
.fll-card p:last-child{margin-bottom:0}
.fll-card--center{text-align:center}
.fll-card--center h3::before{margin-left:auto;margin-right:auto}
.fll-card .fll-ico{display:block;width:76px;height:auto;margin:0 auto 16px}
.fll-page .fll-card a:not(.fll-btn){color:#2b2b2b;text-decoration:underline;text-decoration-color:#c67aff;text-underline-offset:3px}
.fll-page .fll-card a:not(.fll-btn):hover{color:#c67aff}
.fll-card .fll-small{font-size:14px;color:#666}

/* --- botons --- */
.fll-page a.fll-btn,a.fll-btn,button.fll-btn{display:inline-block;background:#c67aff;border:2px solid #c67aff;color:#fff;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:.3px;text-decoration:none;text-align:center;border-radius:10px;padding:13px 28px;margin:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.fll-page a.fll-btn:hover,.fll-page a.fll-btn:focus,a.fll-btn:hover,button.fll-btn:hover{background:#e0b5ff;border-color:#e0b5ff;color:#2b2b2b;text-decoration:none}
.fll-page a.fll-btn--ghost,a.fll-btn--ghost{background:#fff;color:#2b2b2b}
.fll-page a.fll-btn--ghost:hover,a.fll-btn--ghost:hover{background:#f5e6ff;border-color:#c67aff;color:#2b2b2b}
.fll-page a.fll-btn--block,a.fll-btn--block,button.fll-btn--block{display:block;width:100%;margin:12px 0 0}
.fll-center{text-align:center}

/* --- banda destacada --- */
.fll-band{background:#f5e6ff;border-radius:18px;padding:46px 28px;text-align:center;margin:56px 0 0}
.fll-band h2{font-size:28px;font-weight:700;line-height:1.25;text-transform:none;letter-spacing:0;color:#2b2b2b;margin:0 0 12px}
.fll-band p{font-size:18px;line-height:1.6;color:#444;max-width:680px;margin:0 auto 22px}

/* --- imatge + text --- */
.fll-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:56px 0 0}
.fll-split img{display:block;width:100%;height:auto;border-radius:16px}
.fll-split h2{font-size:26px;font-weight:700;line-height:1.25;text-transform:none;letter-spacing:0;color:#2b2b2b;margin:0 0 12px}
.fll-split p{font-size:17px;line-height:1.7;color:#444;margin:0 0 16px}
.fll-split a.fll-btn{margin-left:0}
.fll-split--rev > :first-child{order:2}
.fll-quote{font-size:22px;font-weight:600;line-height:1.45;text-align:center;color:#c67aff;max-width:760px;margin:52px auto 0}

/* --- portada: hero --- */
.fll-hero{background:linear-gradient(rgba(43,43,43,.58),rgba(43,43,43,.58)),url(/assets/img/2013-12-88-1536x1024.jpg) 58% 62%/cover no-repeat;text-align:center;padding:110px 20px 120px}
.fll-hero__kicker{font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#e0b5ff;margin:0 0 16px}
.fll-hero h1{font-size:52px;font-weight:700;line-height:1.12;text-transform:none;letter-spacing:0;color:#fff;max-width:820px;margin:0 auto 18px}
.fll-hero__sub{font-size:21px;line-height:1.5;color:#fff;max-width:680px;margin:0 auto 30px}
.fll-hero a.fll-btn--ghost{background:transparent;border-color:#fff;color:#fff}
.fll-hero a.fll-btn--ghost:hover{background:#fff;border-color:#fff;color:#2b2b2b}

/* --- formulari de contacte --- */
.fll-form{max-width:640px;margin:0 auto;background:#fff;border:1px solid #e0b5ff;border-radius:16px;padding:34px 30px;box-shadow:0 2px 10px rgba(198,122,255,.08)}
.fll-form .fll-field{margin:0 0 20px}
.fll-form label{display:block;font-size:15px;font-weight:600;line-height:1.4;color:#2b2b2b;margin:0 0 7px}
.fll-form input[type=text],.fll-form input[type=email],.fll-form input[type=tel],.fll-form select{display:block;width:100%;box-sizing:border-box;font-size:16px;line-height:1.4;color:#2b2b2b;background:#fff;border:1px solid #d9c2ee;border-radius:8px;padding:12px 14px}
.fll-form input:focus,.fll-form select:focus{outline:none;border-color:#c67aff;box-shadow:0 0 0 3px rgba(198,122,255,.25)}
.fll-form .fll-check label{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.fll-form .fll-check input{margin-top:4px}
.fll-form .fll-req{font-size:14px;color:#666;margin:0 0 18px}

/* --- text llarg (FAQ, privacitat) --- */
.fll-prose h2{font-size:25px;font-weight:700;line-height:1.3;margin:1.8em 0 .6em}
.fll-prose h3{font-size:19px;font-weight:700;line-height:1.35;margin:1.5em 0 .5em}
.fll-prose p{line-height:1.7;margin:0 0 1em}

/* --- banda de contacte abans del peu --- */
.fll-foot{background:#f5e6ff;padding:46px 20px 40px}
.fll-foot__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;max-width:1000px;margin:0 auto}
.fll-foot__t{font-size:17px;font-weight:700;color:#2b2b2b;margin:0 0 8px}
.fll-foot p{font-size:15px;line-height:1.75;color:#444;margin:0}
.fll-foot a{color:#2b2b2b;text-decoration:underline;text-decoration-color:#c67aff;text-underline-offset:3px}
.fll-foot a:hover{color:#c67aff}

@media (max-width:768px){
  .fll-page{padding:30px 0 48px}
  .fll-title{font-size:30px}
  .fll-lead{font-size:17px;margin-bottom:30px}
  .fll-h2,.fll-band h2{font-size:24px}
  .fll-h2{margin-top:44px}
  .fll-split{grid-template-columns:1fr;gap:22px;margin-top:44px}
  .fll-split--rev > :first-child{order:0}
  .fll-band{padding:34px 20px;margin-top:44px}
  .fll-hero{padding:70px 18px 80px}
  .fll-hero h1{font-size:34px}
  .fll-hero__sub{font-size:18px}
  .fll-form{padding:24px 18px}
  .fll-quote{font-size:19px}
}

/* --- boto flotant de WhatsApp --- */
.fll-wa{position:fixed;right:20px;bottom:20px;z-index:9990;display:inline-flex;align-items:center;gap:9px;background:#22d637;color:#000;font-size:17px;font-weight:500;line-height:1;text-decoration:none;border-radius:999px;padding:11px 20px;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .15s}
.fll-wa:hover,.fll-wa:focus{color:#000;text-decoration:none;transform:translateY(-2px)}
@media (max-width:600px){.fll-wa{right:14px;bottom:14px;font-size:16px;padding:10px 16px}}

/* --- avis de galetes --- */
.fll-cookies{position:fixed;left:20px;bottom:20px;z-index:9995;width:400px;max-width:calc(100vw - 40px);box-sizing:border-box;background:#fff;border:1px solid #e0b5ff;border-radius:16px;padding:22px 22px 16px;box-shadow:0 8px 30px rgba(43,43,43,.22);color:#2b2b2b;font-size:15px;line-height:1.55}
.fll-cookies__t{font-size:18px;font-weight:700;margin:0 0 8px}
.fll-cookies__p{margin:0 0 16px;color:#444}
.fll-cookies__p a{color:#2b2b2b;text-decoration:underline;text-decoration-color:#c67aff;text-underline-offset:3px}
.fll-cookies__opts{margin:0 0 16px;padding:14px 0 0;border-top:1px solid #f1e6fa}
.fll-cookies__opts label{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px}
.fll-cookies__btns{display:flex;gap:10px}
.fll-cookies__b{flex:1;background:#c67aff;border:2px solid #c67aff;color:#fff;font-size:15px;font-weight:700;line-height:1.2;border-radius:10px;padding:11px 12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.fll-cookies__b:hover,.fll-cookies__b:focus{background:#e0b5ff;border-color:#e0b5ff;color:#2b2b2b}
.fll-cookies__b--ghost{display:block;width:100%;background:#fff;color:#2b2b2b;margin-top:4px}
.fll-cookies__b--ghost:hover,.fll-cookies__b--ghost:focus{background:#f5e6ff;border-color:#c67aff}
.fll-cookies__link{display:block;margin:12px auto 0;background:none;border:0;padding:4px 8px;font-size:14px;color:#444;text-decoration:underline;cursor:pointer}
.fll-cookies__link:hover,.fll-cookies__link:focus{background:none;color:#c67aff}
.fll-foot__cookies{margin-top:10px!important}
.fll-foot__cookies button{background:none;border:0;padding:0;font-size:14px;color:#444;text-decoration:underline;text-decoration-color:#c67aff;text-underline-offset:3px;cursor:pointer}
.fll-foot__cookies button:hover,.fll-foot__cookies button:focus{background:none;color:#c67aff}
@media (max-width:600px){.fll-cookies{left:10px;right:10px;bottom:10px;width:auto;max-width:none;padding:18px 16px 12px}}
.fll-cookies [hidden]{display:none!important}

/* --- preguntes frequents (desplegables) --- */
.fll-faq{max-width:820px;margin:0 auto}
.fll-faq__h{font-size:24px;font-weight:700;line-height:1.3;text-transform:none;letter-spacing:0;color:#2b2b2b;margin:44px 0 18px}
.fll-faq__h:first-child{margin-top:8px}
.fll-faq details{background:#fff;border:1px solid #e0b5ff;border-radius:12px;margin:0 0 12px;overflow:hidden}
.fll-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:16px 20px;font-size:18px;font-weight:600;line-height:1.35;color:#2b2b2b;transition:background .15s}
.fll-faq summary::-webkit-details-marker{display:none}
.fll-faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;background:#f5e6ff;color:#2b2b2b;font-size:22px;font-weight:500;line-height:28px;text-align:center}
.fll-faq summary:hover{background:#faf2ff}
.fll-faq details[open] summary{background:#f5e6ff}
.fll-faq details[open] summary::after{content:"\2212";background:#c67aff;color:#fff}
.fll-faq__a{padding:6px 20px 20px;font-size:16px;line-height:1.7;color:#444}
.fll-faq__a p{margin:12px 0 0}
.entry-content .fll-faq__a ul,.fll-faq__a ul{list-style:disc;margin:10px 0 0 22px;padding:0}
.fll-faq__a li{margin:4px 0}
.fll-page .fll-faq__a a{color:#2b2b2b;text-decoration:underline;text-decoration-color:#c67aff;text-underline-offset:3px}
@media (max-width:600px){.fll-faq summary{font-size:17px;padding:14px 16px}.fll-faq__a{padding:4px 16px 16px}.fll-faq__h{font-size:21px;margin-top:34px}}

/* --- titols destacats --- */
.fll-title{text-wrap:balance}
.fll-kicker{display:table;margin:0 auto 16px;background:#f5e6ff;color:#2b2b2b;font-size:13px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;line-height:1;border-radius:999px;padding:9px 18px}
.fll-title--xl{font-size:46px;line-height:1.12}
.fll-accent{color:#c67aff}
@media (max-width:768px){.fll-title--xl{font-size:34px}}

/* --- capcalera de pagina amb foto i llista de punts --- */
.fll-hero--page{padding:84px 20px 90px}
.fll-hero--page h1{font-size:46px}
.fll-hero .fll-accent{color:#e0b5ff}
.fll-hero--page + .container .fll-page{padding-top:56px}
.fll-split img{box-shadow:0 8px 26px rgba(43,43,43,.14)}
.entry-content ul.fll-checks,.fll-checks{list-style:none;margin:0 0 22px;padding:0}
.fll-checks li{position:relative;margin:0;padding:7px 0 7px 36px;font-size:17px;line-height:1.5;color:#2b2b2b}
.fll-checks li::before{content:"\2713";position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;background:#c67aff;color:#fff;font-size:14px;font-weight:700;line-height:24px;text-align:center}
@media (max-width:768px){.fll-hero--page{padding:56px 18px 62px}.fll-hero--page h1{font-size:32px}}
.fll-cards--4{grid-template-columns:repeat(2,1fr)}
@media (max-width:560px){.fll-cards--4{grid-template-columns:1fr}}

/* --- peu de pagina propi --- */
.fll-foot{padding:0;background:#f5e6ff}
.fll-foot__in{max-width:1120px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:36px;padding:56px 24px 46px;box-sizing:border-box}
.fll-foot__t{font-size:16px;letter-spacing:.2px;margin:0 0 12px}
.fll-foot__brand{font-size:21px}
.fll-foot ul{list-style:none;margin:0;padding:0}
.fll-foot li{margin:0 0 8px;font-size:15px;line-height:1.5;color:#444}
.fll-foot__bar{background:#e0b5ff;color:#2b2b2b;font-size:14px;line-height:1.5;text-align:center;padding:14px 24px}
.fll-foot__bar a{color:#2b2b2b;text-decoration:underline;text-underline-offset:3px}
.fll-foot__cookies{margin:4px 0 0!important}
@media (max-width:600px){.fll-foot__in{padding:40px 20px 34px;gap:28px}.fll-foot__bar{padding:14px 20px 70px}}
.fll-foot .fll-foot__cookies button{font-size:15px;font-weight:400;line-height:1.5;text-transform:none;letter-spacing:0;color:#2b2b2b}

/* --- hero: text mes destacat --- */
.fll-hero{background-image:linear-gradient(180deg,rgba(30,16,44,.80) 0%,rgba(30,16,44,.66) 55%,rgba(30,16,44,.78) 100%),url(/assets/img/2013-12-88-1536x1024.jpg)}
.fll-hero h1{font-weight:800;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.fll-hero__sub{font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.fll-hero__kicker{display:table;margin:0 auto 20px;background:rgba(224,181,255,.18);border:1px solid rgba(224,181,255,.55);border-radius:999px;padding:8px 18px;color:#f0dcff;line-height:1.2}
.fll-hero .fll-accent{color:#d9a6ff}
.fll-hero a.fll-btn{box-shadow:0 6px 18px rgba(0,0,0,.28)}

/* --- hero: mes foto, text llegible --- */
.fll-hero{background-image:radial-gradient(ellipse 75% 85% at 50% 50%,rgba(30,16,44,.62) 0%,rgba(30,16,44,.42) 60%,rgba(30,16,44,.24) 100%),url(/assets/img/2013-12-88-1536x1024.jpg)}
.fll-hero h1{text-shadow:0 2px 4px rgba(0,0,0,.65),0 0 26px rgba(0,0,0,.6)}
.fll-hero__sub{text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 16px rgba(0,0,0,.65)}
.fll-hero__kicker{background:rgba(30,16,44,.55)}
/* --- ajustos de mobil --- */
@media (max-width:600px){
.fll-hero__kicker{font-size:11.5px;letter-spacing:1.2px;padding:7px 14px;margin-bottom:16px}
.fll-wa{padding:12px;right:12px;bottom:12px}
.fll-wa span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fll-wa svg{width:28px;height:28px}
.fll-cookies{padding:14px 14px 8px;font-size:14px;line-height:1.45}
.fll-cookies__t{font-size:16px;margin-bottom:4px}
.fll-cookies__p{margin-bottom:12px}
.fll-cookies__b{padding:9px 10px}
.fll-cookies__link{margin-top:6px}
.fll-foot__bar{padding:14px 20px 74px}
}

/* --- titular de portada en majuscules --- */
.fll-hero:not(.fll-hero--page) h1{text-transform:uppercase;letter-spacing:.5px;font-size:46px;max-width:900px}
@media (max-width:768px){.fll-hero:not(.fll-hero--page) h1{font-size:30px}}
