/* ═════════════════════════════════════════════════
 * La Fusteria v3 — main stylesheet
 * Extret de web-final.html · paths relatius a assets/css/
 * ═════════════════════════════════════════════════ */

/* TT Modernoir */
@font-face{font-family:"TT Modernoir";src:url("../fonts/TT_Modernoir_Trial_Light.ttf") format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:"TT Modernoir";src:url("../fonts/TT_Modernoir_Trial_Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"TT Modernoir";src:url("../fonts/TT_Modernoir_Trial_Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"TT Modernoir";src:url("../fonts/TT_Modernoir_Trial_DemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"TT Modernoir";src:url("../fonts/TT_Modernoir_Trial_Bold.ttf") format("truetype");font-weight:700;font-display:swap}

/* Tokens · paleta brandbook */
:root{
  --burg:#590B0B;
  --burg-deep:#3a0707;
  --burg-dark:#260606;
  --red:#8C031C;
  --orange:#D96B2B;
  --cream:#d6cdb9;
  --cream-2:#e8dfca;
  --cream-3:#f0e9d8;
  --ink:#1a1a1a;
  --ink-soft:#3a2e26;
  --muted:#9a8a72;
  --line:rgba(38,6,6,.16);
  --display:'TT Modernoir',sans-serif;
  --sans:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --max:1440px;
  --gut:clamp(20px,4vw,56px);
  --easing:cubic-bezier(.7,.05,.3,1);
  --rad:999px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream-2);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;direction:ltr;unicode-bidi:isolate}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--burg);color:var(--cream)}

h1,h2,h3,h4,h5{font-family:var(--display);font-weight:400;letter-spacing:.005em;line-height:1;margin:0}
em{font-style:italic;font-weight:300;color:var(--burg)}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--burg);display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:32px;height:1px;background:var(--burg)}
.on-dark .eyebrow{color:var(--cream)}
.on-dark .eyebrow::before{background:var(--cream)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
section{padding:clamp(80px,9vw,120px) 0;position:relative}

/* ═════ Botons ═════ */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;border:1px solid var(--burg);background:var(--burg);color:var(--cream);border-radius:var(--rad);transition:all .3s var(--easing);cursor:pointer}
.btn:hover{background:var(--burg-deep);border-color:var(--burg-deep);transform:translateY(-1px)}
.btn .arrow{display:inline-block;transition:transform .3s var(--easing)}
.btn:hover .arrow{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--burg);border-color:var(--burg)}
.btn.ghost:hover{background:var(--burg);color:var(--cream)}
.btn.inv{background:var(--cream);color:var(--burg);border-color:var(--cream)}
.btn.inv:hover{background:var(--burg);color:var(--cream);border-color:var(--burg)}
.btn.lg{padding:18px 32px;font-size:14px}
.btn.sm{padding:10px 18px;font-size:11px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* HEADER */
header.lf-hdr{position:fixed;top:0;left:0;right:0;z-index:90;padding:18px var(--gut);display:flex;align-items:center;justify-content:space-between;color:var(--cream);background:var(--burg);border-bottom:1px solid rgba(214,205,185,.12);transition:padding .35s var(--easing),box-shadow .35s var(--easing)}
header.lf-hdr.scrolled{padding:12px var(--gut);box-shadow:0 6px 24px rgba(38,6,6,.25)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:14px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--cream)}
.brand img{height:28px;width:auto;display:block;filter:brightness(0) invert(1)}
.lf-hdr nav ul{list-style:none;display:flex;gap:32px;padding:0;margin:0;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cream)}
.lf-hdr nav a{position:relative;padding:6px 0;opacity:.85;transition:opacity .2s ease;color:var(--cream)}
.lf-hdr nav a:hover{opacity:1}
.lf-hdr nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s ease}
.lf-hdr nav a:hover::after{width:100%}
.nav-end{display:flex;align-items:center;gap:18px}
.nav-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(214,205,185,.85)}
.nav-status .live{width:7px;height:7px;border-radius:50%;background:#7af0a8;box-shadow:0 0 8px #7af0a8;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.nav-cta{padding:10px 18px;background:var(--cream);color:var(--burg);border:1px solid var(--cream);border-radius:var(--rad);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:all .25s ease}
.nav-cta:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
@media(max-width:980px){.lf-hdr nav ul,.nav-status{display:none}}

/* Sticky mobile CTA dual */
.float-cta-bar{position:fixed;bottom:14px;left:14px;right:14px;z-index:80;display:none;gap:8px;justify-content:center}
.float-cta-bar a{flex:1;max-width:200px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-radius:var(--rad);box-shadow:0 14px 36px rgba(38,6,6,.4)}
.float-cta-bar .wa{background:#25d366;color:#fff}
.float-cta-bar .form{background:var(--burg);color:var(--cream)}
.float-cta-bar a:hover{transform:translateY(-2px)}
@media(max-width:820px){.float-cta-bar{display:flex}}

/* ═════ HERO ═════ */
.hero{position:relative;height:92vh;min-height:640px;overflow:hidden;background:var(--ink)}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity 1.4s var(--easing),transform 6s linear}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-slide.s1{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-la-fusteria-espai-principal.jpg')}
.hero-slide.s2{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-llocs-treball-compartit.jpg')}
.hero-slide.s3{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-la-fusteria-girona-espai-treball.jpg')}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(38,6,6,.92) 0%,rgba(38,6,6,.85) 45%,rgba(38,6,6,.55) 65%,rgba(38,6,6,.15) 85%,transparent 100%);pointer-events:none;z-index:1}
.hero-content{position:relative;z-index:2;height:100%;padding:140px var(--gut) 56px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--cream)}
.hero-content .eyebrow{color:var(--cream)}
.hero-content .eyebrow::before{background:var(--cream)}
.hero-content .hero-eyebrow{margin-top:32px}
.hero h2{font-family:var(--display);font-weight:300;font-size:clamp(46px,10vw,170px);line-height:.92;letter-spacing:-.01em;color:var(--cream);text-align:left;max-width:18ch;text-transform:uppercase}
.hero h2 em{font-style:italic;color:var(--cream-2);font-weight:300}
.hero-bot{margin-top:48px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.hero-bot p{max-width:42ch;color:rgba(214,205,185,.95);font-size:16px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.hero-counter{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--cream)}
.hero-counter .dots{display:flex;gap:6px}
.hero-counter .dot{width:24px;height:1px;background:rgba(214,205,185,.35);transition:background .4s ease}
.hero-counter .dot.active{background:var(--cream)}

/* ═════ ESPAI ═════ */
.espai{background:var(--cream-2)}
.espai-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:880px){.espai-grid{grid-template-columns:1fr;gap:40px}}
.espai h2{font-family:var(--display);font-size:clamp(36px,5.5vw,84px);font-weight:300;line-height:.95;color:var(--ink);max-width:14ch;margin:24px 0 8px;text-transform:uppercase}
.espai h2 em{color:var(--burg)}
.espai .rule{height:1px;width:48px;background:var(--burg);margin:24px 0 32px}
.espai p{font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:54ch;margin:0 0 14px}
.espai p strong{color:var(--ink);font-weight:500}
.espai-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.espai-stats .n{font-family:var(--display);font-size:48px;font-weight:300;line-height:1;color:var(--burg)}
.espai-stats .l{font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-top:6px}
.espai-stats .sub{font-size:11px;color:var(--muted);margin-top:4px;font-style:italic}

.espai-photos{position:relative;aspect-ratio:4/5}
.espai-photo-main{position:absolute;inset:0;box-shadow:0 30px 60px rgba(38,6,6,.18);border-radius:14px;overflow:hidden}
.espai-photo-main .bgslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity 1.4s var(--easing),transform 6s linear}
.espai-photo-main .bgslide.active{opacity:1;transform:scale(1)}
.espai-photo-main .bgslide.b1{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-arquitectura-arcs-maons.jpg')}
.espai-photo-main .bgslide.b2{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/panoramica-coworking-la-fusteria-girona.jpg')}
.espai-photo-main .bgslide.b3{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/espai-treball-coworking-girona-llum-natural.jpg')}
.portrait{position:absolute;width:36%;aspect-ratio:3/4;background-size:cover;background-position:center;border:6px solid var(--cream-2);box-shadow:0 14px 30px rgba(38,6,6,.3);transition:transform .35s var(--easing);border-radius:8px}
.portrait:hover{transform:scale(1.04)}
.portrait.pau{bottom:-32px;left:-24px;background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/pau-triola-fundador-la-fusteria-coworking-girona.jpg')}
.portrait.mariona{top:-32px;right:-24px;background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/mariona-triola-fundadora-la-fusteria-coworking-girona.jpg')}
.portrait .cap{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--burg)}
@media(max-width:520px){.portrait{width:42%}.portrait.pau{left:-12px;bottom:-20px}.portrait.mariona{right:-12px;top:-20px}}

/* ═════ CTA Band ═════ */
.cta-band{padding:0;background-image:linear-gradient(135deg,rgba(89,11,11,.55),rgba(38,6,6,.7)),url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/comunitat-coworkers-la-fusteria-girona.jpg');background-size:cover;background-position:center;color:var(--cream)}
.cta-band-in{padding:clamp(64px,9vw,128px) var(--gut);max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:48px;flex-wrap:wrap}
.cta-band h3{font-family:var(--display);font-size:clamp(28px,3.6vw,52px);font-weight:300;line-height:1.1;color:var(--cream);max-width:24ch;text-transform:uppercase;letter-spacing:.005em}
.cta-band h3 em{color:var(--cream-2)}
.cta-band .btn{background:var(--cream);color:var(--burg);border-color:var(--cream)}
.cta-band .btn:hover{background:var(--burg);color:var(--cream);border-color:var(--burg)}

/* ═════ TARIFES ═════ */
.tarifes{background:var(--burg);color:var(--cream)}
.tarifes .eyebrow{color:var(--cream)}
.tarifes .eyebrow::before{background:var(--cream)}
.tar-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:64px}
@media(max-width:780px){.tar-head{grid-template-columns:1fr}}
.tar-head h2{font-family:var(--display);font-size:clamp(40px,6vw,96px);font-weight:300;line-height:.95;color:var(--cream);text-transform:uppercase;margin-top:24px}
.tar-head h2 em{color:var(--cream-2)}
.tar-head p{font-size:14px;color:rgba(214,205,185,.85);max-width:48ch;line-height:1.6}
.tar-sub{font-family:var(--display);font-size:14px;letter-spacing:.24em;color:var(--cream-2);text-transform:uppercase;margin:48px 0 18px;display:flex;align-items:center;gap:16px}
.tar-sub::before{content:"";width:32px;height:1px;background:var(--cream-2)}
.tar-sub:first-of-type{margin-top:0}
.tar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:980px){.tar-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.tar-grid{grid-template-columns:1fr}}
.tar{padding:24px;background:var(--cream);color:var(--ink);border-radius:14px;display:flex;flex-direction:column;gap:8px;min-height:240px;position:relative;transition:transform .3s var(--easing)}
.tar:hover{transform:translateY(-4px)}
.tar .nm{font-family:var(--display);font-size:20px;font-weight:400;color:var(--burg);text-transform:uppercase;line-height:1.05}
.tar .ds{font-size:12px;color:var(--ink-soft);line-height:1.5;flex:1}
.tar .ds ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}
.tar .ds ul li{padding-left:14px;position:relative;color:inherit;font-size:inherit;line-height:inherit}
.tar .ds ul li::before{content:"·";position:absolute;left:4px;color:var(--burg);font-weight:700}
.tar .pr{font-family:var(--display);font-size:42px;font-weight:300;line-height:1;color:var(--burg);margin-top:12px}
.tar .un{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.tar .badge{position:absolute;top:14px;right:14px;font-size:9px;letter-spacing:.18em;color:var(--orange);text-transform:uppercase;font-weight:700}
.tar .badge.tag-orange{color:#fff;background:var(--orange);padding:4px 10px;border-radius:var(--rad)}
.tar .badge.tag-burg{color:var(--cream);background:var(--burg);padding:4px 10px;border-radius:var(--rad)}
.tar.equip{grid-column:span 2}
@media(max-width:520px){.tar.equip{grid-column:span 1}}
.tar-cond{margin-top:16px;font-style:italic;font-size:12px;color:rgba(214,205,185,.65);line-height:1.6;max-width:80ch}
.tar-foot{margin-top:48px;text-align:center}
.tar-foot small{display:block;color:rgba(214,205,185,.55);font-style:italic;margin-bottom:24px;font-size:12px}
.tar-foot .btn{background:#25d366;border-color:#25d366;color:#fff;padding:18px 32px;font-size:14px}
.tar-foot .btn:hover{background:#1ea851;border-color:#1ea851}
.tar-foot .btn::before{content:"";display:inline-block;width:18px;height:18px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/></svg>") center/contain no-repeat}

/* ═════ SALES ═════ */
.sales{background:var(--cream)}
.sales-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
@media(max-width:900px){.sales-grid{grid-template-columns:1fr}}
.sales h2{font-family:var(--display);font-size:clamp(40px,6vw,96px);font-weight:300;line-height:.95;color:var(--ink);text-transform:uppercase;margin-top:24px}
.sales h2 em{font-style:italic;color:var(--burg);font-weight:300}
.sales p{font-size:16px;color:var(--ink-soft);max-width:46ch;margin:24px 0}
.sales ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px}
.sales ul li{padding-left:28px;position:relative;font-size:15px;color:var(--ink-soft)}
.sales ul li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:1px;background:var(--burg)}
.sales ul li strong{color:var(--ink);font-weight:500}
.sales-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.sales-photos .ph{aspect-ratio:3/4;background-size:cover;background-position:center;box-shadow:0 24px 50px rgba(38,6,6,.16);border-radius:14px}
.sales-photos .ph.p1{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/sala-reunions-roure-coworking-girona.jpg')}
.sales-photos .ph.p2{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/sala-reunions-alzina-coworking-girona.jpg');margin-top:48px}

/* ═════ Photo strip ═════ */
.strip{padding:48px 0;background:var(--cream-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip .row{display:flex;gap:14px;overflow-x:auto;padding:0 var(--gut);scroll-snap-type:x mandatory;scrollbar-width:none}
.strip .row::-webkit-scrollbar{display:none}
.strip .row .it{flex:0 0 280px;aspect-ratio:3/4;background-size:cover;background-position:center;scroll-snap-align:start;transition:transform .4s var(--easing);border-radius:14px}
.strip .row .it:hover{transform:translateY(-6px)}
.strip .row .i1{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-zona-treball-detall.jpg')}
.strip .row .i2{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-fusters-comunitat.jpg')}
.strip .row .i3{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-espai-creatiu.jpg')}
.strip .row .i4{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-detall-mobiliari.jpg')}
.strip .row .i5{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-zones-comunes.jpg')}
.strip .row .i6{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-pati-interior.jpg')}
.strip .row .i7{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/coworking-girona-espai-arquitectura.jpg')}

/* ═════ TALLERS ═════ */
.tallers{background:var(--cream-2);padding:clamp(64px,7vw,96px) 0}
.tallers-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:36px}
.tallers h2{font-family:var(--display);font-size:clamp(24px,3.4vw,42px);font-weight:300;line-height:.95;color:var(--ink);text-transform:uppercase;margin-top:14px;max-width:18ch}
.tallers h2 em{color:var(--burg)}
.tallers-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:780px){.tallers-list{grid-template-columns:1fr}}
.taller{display:flex;flex-direction:column;gap:8px;background:var(--cream);padding:14px;border-radius:14px;transition:transform .35s var(--easing)}
.taller:hover{transform:translateY(-4px)}
.taller .ph{aspect-ratio:1;background-size:cover;background-position:center;border-radius:8px}
.taller .ph.t1{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/taller-flors-temporada-la-fusteria-girona.jpg')}
.taller .ph.t2{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/esmorzar-comunitat-fusters-girona.jpg')}
.taller .ph.t3{background-image:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/taller-floral-creativitat-la-fusteria-coworking.jpg')}
.taller .date{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--orange);text-transform:uppercase;font-weight:600;margin-top:4px}
.taller h3{font-family:var(--display);font-size:17px;font-weight:400;color:var(--ink);text-transform:uppercase;line-height:1.1}
.taller .info-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:6px}
.taller .pr{color:var(--burg);font-weight:600}
.taller .btn{align-self:stretch;justify-content:center;font-size:11px;padding:10px 14px;margin-top:6px}

.lloguer-tallers{margin-top:48px;padding:24px;background:var(--cream);border-radius:14px;border-left:4px solid var(--orange);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.lloguer-tallers h4{font-family:var(--display);font-size:18px;font-weight:400;color:var(--ink);text-transform:uppercase;margin:0}
.lloguer-tallers p{font-size:13px;color:var(--ink-soft);margin:6px 0 0;max-width:48ch}
.lloguer-tallers .btn{background:var(--orange);border-color:var(--orange);font-size:11px;padding:11px 18px}
.lloguer-tallers .btn:hover{background:var(--burg);border-color:var(--burg)}

/* ═════ TESTIMONIS ═════ */
.testi{background:var(--cream);padding:clamp(72px,8vw,100px) 0}
.testi-head{text-align:center;margin-bottom:48px}
.testi-head h2{font-family:var(--display);font-size:clamp(36px,4.4vw,64px);font-weight:300;line-height:1;color:var(--ink);text-transform:uppercase;margin-top:18px}
.testi-head .gmb{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 18px;background:var(--cream-2);border-radius:var(--rad);font-size:13px;color:var(--ink-soft)}
.testi-head .gmb .stars{color:#fbbc04;letter-spacing:2px}
.testi-head .gmb strong{color:var(--ink)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:880px){.testi-grid{grid-template-columns:1fr;gap:24px}}
.testi-card{padding:24px;background:var(--cream-2);border-radius:14px;position:relative}
.testi-card .stars{color:#fbbc04;font-size:14px;letter-spacing:2px;margin-bottom:14px}
.testi-card q{font-style:italic;font-size:16px;line-height:1.5;color:var(--ink);quotes:"" "";display:block;font-family:Georgia,serif}
.testi-card .who{margin-top:18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.testi-card .who strong{color:var(--ink);font-weight:600}
.testi-foot{text-align:center;margin-top:36px}

/* ═════ COMUNITAT + FAQ ═════ */
.com-faq{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}
@media(max-width:980px){.com-faq{grid-template-columns:1fr}}
.com-faq .com{background:var(--burg);color:var(--cream);padding:clamp(56px,7vw,96px) clamp(32px,5vw,64px);position:relative;overflow:hidden}
.com-faq .com::before{content:"";position:absolute;inset:0;background:url('https://lafusteriacoworking.cat/wp-content/uploads/2026/05/esmorzar-comunitat-fusters-girona.jpg') center/cover;opacity:.18;mix-blend-mode:luminosity}
.com-faq .com>*{position:relative}
.com-faq .com h2{font-family:var(--display);font-size:clamp(40px,5vw,76px);font-weight:300;line-height:.95;color:var(--cream);text-transform:uppercase;margin-top:24px;max-width:14ch}
.com-faq .com h2 em{color:var(--cream-2)}
.com-faq .com p{margin-top:24px;color:rgba(214,205,185,.9);max-width:38ch;font-size:15px;line-height:1.55}
.com-faq .com .btn{margin-top:32px;background:var(--cream);color:var(--burg);border-color:var(--cream)}
.com-faq .com .btn:hover{background:var(--burg-deep);color:var(--cream);border-color:var(--burg-deep)}
.com-faq .com .eyebrow{color:var(--cream)}
.com-faq .com .eyebrow::before{background:var(--cream)}
.com-faq .faq{background:var(--cream-2);padding:clamp(56px,7vw,96px) clamp(32px,5vw,64px)}
.com-faq .faq h2{font-family:var(--display);font-size:clamp(36px,4.4vw,64px);font-weight:300;line-height:.95;color:var(--ink);text-transform:uppercase;margin-top:18px}
.com-faq .faq h2 em{color:var(--burg)}
details{border-top:1px solid var(--line);padding:18px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--display);font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:18px;color:var(--burg);transition:transform .3s ease}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:14px;color:var(--ink-soft);font-size:14px}
.faq-cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}

/* ═════ COM ARRIBAR ═════ */
.arribar{background:var(--cream);padding:clamp(72px,8vw,100px) 0}
.arribar-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
@media(max-width:880px){.arribar-grid{grid-template-columns:1fr}}
.arribar h2{font-family:var(--display);font-size:clamp(36px,5vw,72px);font-weight:300;line-height:.95;color:var(--ink);text-transform:uppercase;margin-top:18px}
.arribar h2 em{color:var(--burg)}
.arribar .points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
@media(max-width:520px){.arribar .points{grid-template-columns:1fr}}
.arribar .point{padding:18px;background:var(--cream-2);border-radius:14px;border-left:3px solid var(--burg)}
.arribar .point .lab{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--burg);text-transform:uppercase;font-weight:600}
.arribar .point .nm{font-family:var(--display);font-size:18px;color:var(--ink);text-transform:uppercase;margin:6px 0 4px}
.arribar .point .dist{font-size:13px;color:var(--ink-soft);line-height:1.4}
.arribar-cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.gmap{aspect-ratio:1;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px rgba(38,6,6,.16)}
.gmap iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85) contrast(.95)}

/* ═════ CONTACTE ═════ */
.contacte{background:var(--burg);color:var(--cream);padding:clamp(80px,9vw,128px) 0}
.contacte h2{font-family:var(--display);font-size:clamp(40px,6vw,96px);font-weight:300;line-height:.95;color:var(--cream);text-transform:uppercase;max-width:18ch;margin-top:24px}
.contacte h2 em{color:var(--cream-2)}
.contacte .eyebrow{color:var(--cream)}
.contacte .eyebrow::before{background:var(--cream)}
.cnt-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:48px}
@media(max-width:900px){.cnt-grid{grid-template-columns:1fr;gap:40px}}
.cnt-info p{color:rgba(214,205,185,.85);max-width:36ch}
.cnt-info dl{margin:32px 0 0}
.cnt-info dt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:rgba(214,205,185,.6);text-transform:uppercase;margin-top:24px}
.cnt-info dt:first-of-type{margin-top:0}
.cnt-info dd{margin:6px 0 0;font-family:var(--display);font-size:20px;font-weight:300;color:var(--cream);text-transform:uppercase}
.cnt-info dd a{border-bottom:1px solid rgba(214,205,185,.2);padding-bottom:2px}
.cnt-info dd a:hover{border-color:var(--cream-2)}
.cnt-extra{margin-top:32px;padding-top:24px;border-top:1px solid rgba(214,205,185,.16);display:flex;gap:12px;flex-wrap:wrap}
.cnt-extra a{padding:8px 16px;border:1px solid rgba(214,205,185,.4);border-radius:var(--rad);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:all .25s ease}
.cnt-extra a:hover{background:var(--cream);color:var(--burg);border-color:var(--cream)}
form{display:grid;gap:20px}
form .row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:520px){form .row2{grid-template-columns:1fr}}
.field{position:relative}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(214,205,185,.25);color:var(--cream);padding:18px 0 12px;font:inherit;font-size:15px;transition:border-color .25s ease}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--cream-2)}
.field label{position:absolute;left:0;top:18px;color:rgba(214,205,185,.5);pointer-events:none;font-size:14px;transition:all .25s ease}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field select:focus+label,.field select:valid+label{top:-2px;font-size:10px;letter-spacing:.18em;color:var(--cream-2);text-transform:uppercase}
.field select{-webkit-appearance:none;appearance:none}
.field select option{background:var(--burg);color:var(--cream)}
form .submit{margin-top:8px;padding:18px;background:var(--cream);color:var(--burg);border:0;border-radius:var(--rad);font:600 14px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:all .25s ease}
form .submit:hover{background:var(--cream-2);transform:translateY(-1px)}
form .legal{font-size:11px;color:rgba(214,205,185,.5)}
form .legal a{border-bottom:1px solid rgba(214,205,185,.2)}

/* ═════ FOOTER ═════ */
footer.lf-footer{background:var(--burg-dark);color:rgba(214,205,185,.75);padding:0}
.foot-news{padding:48px var(--gut);background:var(--burg-deep);border-bottom:1px solid rgba(214,205,185,.12)}
.foot-news-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media(max-width:780px){.foot-news-in{grid-template-columns:1fr}}
.foot-news h3{font-family:var(--display);font-size:clamp(24px,3vw,42px);font-weight:300;color:var(--cream);text-transform:uppercase}
.foot-news h3 em{color:var(--cream-2)}
.foot-news p{color:rgba(214,205,185,.7);font-size:14px;margin-top:8px;max-width:46ch}
.news-form{display:flex;gap:0;border:1px solid rgba(214,205,185,.3);border-radius:var(--rad);overflow:hidden}
.news-form input{flex:1;background:transparent;border:0;color:var(--cream);padding:14px 22px;font:inherit;font-size:14px}
.news-form input::placeholder{color:rgba(214,205,185,.4)}
.news-form input:focus{outline:0;background:rgba(214,205,185,.06)}
.news-form button{padding:14px 22px;background:var(--cream);color:var(--burg);border:0;font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.news-form button:hover{background:var(--cream-2)}

.foot-grid{padding:64px var(--gut) 32px;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
.foot-brand img{height:36px}
.foot-brand p{margin-top:18px;max-width:32ch;font-size:13px;line-height:1.6}
.foot-brand .social{margin-top:24px;display:flex;gap:12px}
.foot-brand .social a{width:36px;height:36px;border:1px solid rgba(214,205,185,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.16em;font-weight:500;transition:all .25s ease}
.foot-brand .social a:hover{background:var(--cream);color:var(--burg);border-color:var(--cream)}
footer.lf-footer h4{font-family:var(--display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);margin:0 0 18px;font-weight:400}
footer.lf-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:13px}
footer.lf-footer ul a:hover{color:var(--cream)}
footer.lf-footer .open-now{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(122,240,168,.1);border:1px solid rgba(122,240,168,.3);border-radius:var(--rad);font-family:var(--mono);font-size:11px;color:#7af0a8;margin-top:14px}
footer.lf-footer .open-now::before{content:"";width:6px;height:6px;background:#7af0a8;border-radius:50%;animation:pulse 1.6s ease-in-out infinite}
.foot-bot{padding:24px var(--gut);max-width:var(--max);margin:0 auto;border-top:1px solid rgba(214,205,185,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:rgba(214,205,185,.5);text-transform:uppercase}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--easing),transform 1s var(--easing)}
.reveal.in{opacity:1;transform:none}

/* Reset Hello Elementor padding · home full-bleed */
body.home .site-main,
body.home .site,
body.home main{padding:0!important;margin:0!important;max-width:none!important}
body.home .page-header,
body.home header.entry-header{display:none!important}

/* ═════════════════════════════════════════════════
 * v3 · Suport per widgets natius d'Elementor
 * ═════════════════════════════════════════════════ */

/* Reset wrappers d'Elementor — perquè les classes .espai, .tarifes, .sales (etc.) que
 * apliquem a les seccions de la home no quedin trencades per padding/max-width interns */
body.elementor-page section.elementor-section.elementor-section-stretched{padding-left:0;padding-right:0}
section.elementor-section[data-element_type="section"]{position:relative}

/* Headings · els widgets natius generen <h2 class="elementor-heading-title">.
 * Ja heredien les regles .espai h2, .tarifes h2, etc. via cascade. */
.elementor-widget-heading .elementor-heading-title em{font-style:italic;color:var(--burg)}
.tarifes .elementor-widget-heading .elementor-heading-title em,
.cta-band .elementor-widget-heading .elementor-heading-title em,
.contacte .elementor-widget-heading .elementor-heading-title em,
.com-faq .com .elementor-widget-heading .elementor-heading-title em{color:var(--cream-2)}

/* Text editor · les regles globals .espai p, .sales p, etc. funcionen via descendència */
.elementor-widget-text-editor a{color:var(--burg);text-decoration:underline}
.contacte .elementor-widget-text-editor a,.tarifes .elementor-widget-text-editor a{color:var(--cream-2)}

/* Counters · estilitzar com .espai-stats */
.espai .elementor-counter-number-wrapper{font-family:var(--display);font-size:48px;font-weight:300;line-height:1;color:var(--burg);justify-content:flex-start}
.espai .elementor-counter-title{font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-top:6px;text-align:left}
.espai .elementor-widget-counter{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}

/* Button widget natiu */
.elementor-widget-button .elementor-button{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;border:1px solid var(--burg);background:var(--burg);color:var(--cream);border-radius:var(--rad);transition:all .3s var(--easing)}
.elementor-widget-button .elementor-button:hover{background:var(--burg-deep);border-color:var(--burg-deep);transform:translateY(-1px)}
.elementor-widget-button .elementor-button-text{font:inherit}
.cta-band .elementor-widget-button .elementor-button,
.com-faq .com .elementor-widget-button .elementor-button{background:var(--cream);color:var(--burg);border-color:var(--cream)}
.cta-band .elementor-widget-button .elementor-button:hover,
.com-faq .com .elementor-widget-button .elementor-button:hover{background:var(--burg);color:var(--cream);border-color:var(--burg)}
.tarifes .elementor-widget-button .elementor-button{background:#25d366;border-color:#25d366;color:#fff;padding:18px 32px;font-size:14px}
.tarifes .elementor-widget-button .elementor-button:hover{background:#1ea851;border-color:#1ea851}

/* Testimonial widget natiu · sobreescriure estil per encaixar amb brand */
.testi .elementor-testimonial-wrapper{background:var(--cream-2);border-radius:14px;padding:24px;position:relative}
.testi .elementor-testimonial-content{font-style:italic;font-size:16px;line-height:1.5;color:var(--ink);font-family:Georgia,serif;quotes:"" ""}
.testi .elementor-testimonial-name{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-top:18px}
.testi .elementor-testimonial-job{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* Accordion widget natiu · estil FAQ */
.com-faq .faq .elementor-accordion-item{border-top:1px solid var(--line);background:transparent}
.com-faq .faq .elementor-accordion-item:last-child{border-bottom:1px solid var(--line)}
.com-faq .faq .elementor-accordion .elementor-tab-title{padding:18px 0;font-family:var(--display);font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);background:transparent;border:0}
.com-faq .faq .elementor-accordion .elementor-tab-title.elementor-active{color:var(--burg)}
.com-faq .faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon{color:var(--burg)}
.com-faq .faq .elementor-accordion .elementor-tab-content{padding:0 0 18px;color:var(--ink-soft);font-size:14px;border:0;background:transparent}

/* Icon Box widget · com arribar points */
.arribar .elementor-icon-box-wrapper{padding:18px;background:var(--cream-3);border-radius:14px;border-left:3px solid var(--burg)}
.arribar .elementor-icon-box-icon{margin-bottom:6px}
.arribar .elementor-icon-box-icon i{color:var(--burg);font-size:18px}
.arribar .elementor-icon-box-title{font-family:var(--display);font-size:18px;color:var(--ink);text-transform:uppercase;margin:6px 0 4px}
.arribar .elementor-icon-box-description{font-size:13px;color:var(--ink-soft);line-height:1.4}

/* Google Maps · estilitzar contenedor */
.arribar .lf-gmap iframe{border-radius:14px;box-shadow:0 24px 50px rgba(38,6,6,.16);filter:saturate(.85) contrast(.95)}

/* Formulari (HTML widget temporal · serà reemplaçat per CF7) */
.contacte .lf-form{display:grid;gap:20px}
.contacte .lf-form .field{position:relative}
.contacte .lf-form input,.contacte .lf-form select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(214,205,185,.25);color:var(--cream);padding:18px 0 12px;font:inherit;font-size:15px;transition:border-color .25s ease}
.contacte .lf-form input:focus,.contacte .lf-form select:focus{outline:0;border-color:var(--cream-2)}
.contacte .lf-form label{position:absolute;left:0;top:18px;color:rgba(214,205,185,.5);pointer-events:none;font-size:14px;transition:all .25s ease}
.contacte .lf-form input:focus+label,.contacte .lf-form input:not(:placeholder-shown)+label,.contacte .lf-form select:focus+label,.contacte .lf-form select:valid+label{top:-2px;font-size:10px;letter-spacing:.18em;color:var(--cream-2);text-transform:uppercase}
.contacte .lf-form select{-webkit-appearance:none;appearance:none}
.contacte .lf-form select option{background:var(--burg);color:var(--cream)}
.contacte .lf-form .submit{margin-top:8px;padding:18px;background:var(--cream);color:var(--burg);border:0;border-radius:var(--rad);font:600 14px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.contacte .lf-form .submit:hover{background:var(--cream-2);transform:translateY(-1px)}
.contacte .lf-form .legal{font-size:11px;color:rgba(214,205,185,.5)}
.contacte .lf-form .legal a{color:var(--cream-2);text-decoration:underline}
.contacte .cnt-info-dl dt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:rgba(214,205,185,.6);text-transform:uppercase;margin-top:24px}
.contacte .cnt-info-dl dt:first-of-type{margin-top:0}
.contacte .cnt-info-dl dd{margin:6px 0 0;font-family:var(--display);font-size:20px;font-weight:300;color:var(--cream);text-transform:uppercase}
.contacte .cnt-info-dl dd a{border-bottom:1px solid rgba(214,205,185,.2);padding-bottom:2px}
.contacte .cnt-extra{margin-top:32px;padding-top:24px;border-top:1px solid rgba(214,205,185,.16);display:flex;gap:12px;flex-wrap:wrap}
.contacte .cnt-extra a{padding:8px 16px;border:1px solid rgba(214,205,185,.4);border-radius:var(--rad);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:all .25s ease}
.contacte .cnt-extra a:hover{background:var(--cream);color:var(--burg);border-color:var(--cream)}

/* CTA Band Elementor section background overlay tweak */
.cta-band .elementor-background-overlay{background:linear-gradient(135deg,rgba(89,11,11,.55),rgba(38,6,6,.7))!important}

/* Espai photos · suport per HTML widget interior */
.espai-photos{position:relative;aspect-ratio:4/5}
.espai-photos .portrait{position:absolute;width:36%;aspect-ratio:3/4;background-size:cover;background-position:center;border:6px solid var(--cream-2);box-shadow:0 14px 30px rgba(38,6,6,.3);border-radius:8px}
.espai-photos .portrait.pau{bottom:-32px;left:-24px}
.espai-photos .portrait.mariona{top:-32px;right:-24px}
.espai-photos .portrait .cap{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--burg)}

/* Photo strip */
.strip{padding:48px 0;background:var(--cream-2)}
.strip .row{display:flex;gap:14px;overflow-x:auto;padding:0 var(--gut);scroll-snap-type:x mandatory;scrollbar-width:none}
.strip .row::-webkit-scrollbar{display:none}
.strip .row .it{flex:0 0 280px;aspect-ratio:3/4;background-size:cover;background-position:center;scroll-snap-align:start;border-radius:14px;transition:transform .4s var(--easing)}
.strip .row .it:hover{transform:translateY(-6px)}
