*{box-sizing:border-box}body{margin:0;color:#26333d;background:#fffdf8;font:17px/1.55 Georgia,serif}.mast{text-align:center;background:#f5f1e9;padding:35px 20px}.mast h1{margin:0;color:#7b2930;font:clamp(4rem,10vw,8rem)/.9 Palatino,Georgia,serif}.tag{letter-spacing:.15em;margin-top:30px}.mast p{font-style:italic;font-size:1.6rem;margin:5px}.carousel{height:560px;position:relative;overflow:hidden;background:#071d34}.slide{position:absolute;inset:0;background-size:cover;opacity:0;transition:.7s}.slide.active{opacity:1}.slide>div{position:absolute;left:7%;bottom:14%;color:white;max-width:650px}.slide h2{font-size:clamp(2.5rem,6vw,5rem);font-weight:400;line-height:1;margin:0}.prev,.next{position:absolute;top:48%;z-index:2;border:0;background:#ffffffd9;color:#7b2930;font-size:2.4rem;width:45px;height:58px}.prev{left:18px}.next{right:18px}.section{width:min(1180px,calc(100% - 40px));margin:auto;padding:75px 0}.section>h2{color:#7b2930;font-size:3rem;font-weight:400}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#f5f1e9;border-radius:16px;overflow:hidden}.pic{height:250px;background-size:cover}.pic.small{height:180px}.pad{padding:24px}.pad h3{color:#7b2930;font-size:1.6rem;font-weight:400}.services,footer{background:#071d34;color:white}.services h2{color:white}.servicegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}.servicegrid article{display:grid;grid-template-columns:50px 1fr;border-bottom:1px solid #ffffff2c;padding:16px}.servicegrid b{font-size:2rem;color:#e4b8b8}.servicegrid h3{color:#e4b8b8;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery button{border:0;padding:0;background:#f5f1e9;font:inherit;text-align:left;border-radius:14px;overflow:hidden}.gallery span{display:block;height:280px;background-size:cover}.gallery em{display:block;padding:14px;color:#7b2930}.claim{text-align:center;background:#f5f1e9;padding:30px;font-size:1.8rem}.foot{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.foot a{color:white}.legal{max-width:1180px;margin:auto;border-top:1px solid #ffffff33;padding:20px}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:20;background:#07101bee;display:grid;place-items:center;padding:40px}.lightbox img{max-width:90vw;max-height:80vh}.lightbox p{position:absolute;bottom:10px;color:white}.close{position:absolute;right:25px;top:15px;background:none;border:0;color:white;font-size:3rem}@media(max-width:800px){.grid,.servicegrid,.foot{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.carousel{height:420px}}@media(max-width:520px){.gallery{grid-template-columns:1fr}.section{padding:50px 0}.mast h1{font-size:4rem}}.langbar{max-width:1180px;margin:0 auto;padding:14px 20px 0;text-align:right}.langbar a{display:inline-block;border:1px solid #8a2f3b;border-radius:999px;padding:7px 14px;color:#8a2f3b;text-decoration:none;font-family:Georgia,serif;font-size:.92rem;transition:.2s}.langbar a:hover{background:#8a2f3b;color:#fff}

/* Sticky, compact header */
.mast{position:sticky;top:0;z-index:15;transition:padding .28s ease,box-shadow .28s ease;background:#f5f1e9}
.mast-content{transition:all .28s ease}
.mast h1{transition:font-size .28s ease,line-height .28s ease}
.mast .tag,.mast p{transition:opacity .18s ease,max-height .28s ease,margin .28s ease;overflow:hidden}
.mast .langbar{position:absolute;right:max(20px,calc((100% - 1180px)/2 + 20px));top:14px;padding:0;z-index:2}
body.header-compact .mast{padding:10px 20px;box-shadow:0 3px 14px #071d3420}
body.header-compact .mast h1{font-size:clamp(2rem,4vw,3rem);line-height:1;margin:0}
body.header-compact .mast .tag,body.header-compact .mast p{opacity:0;max-height:0;margin:0}
body.header-compact .mast .langbar{top:50%;transform:translateY(-50%)}
body.header-compact .mast .langbar a{padding:5px 12px;background:#f5f1e9}
@media(max-width:520px){body.header-compact .mast{padding:10px 12px;text-align:left}body.header-compact .mast h1{font-size:2rem}.mast .langbar{right:12px}body.header-compact .mast .langbar{right:12px}}

/* Customer feedback carousel */
.feedback-section{background:#f5f1e9;overflow:hidden;border-top:1px solid #7b293012;border-bottom:1px solid #7b293012}.feedback-section .section{padding-top:65px;padding-bottom:75px}.feedback-section .section>h2{text-align:center;margin-top:0}.feedback-carousel{position:relative;max-width:1180px;margin:15px auto 0;padding:18px 62px 38px}.feedback-track{display:flex;align-items:center;gap:26px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.feedback-card{flex:0 0:min(700px,70vw);min-height:170px;min-width:280px;padding:24px 48px 22px;border:1px solid #7b29301f;border-radius:22px;background:#fffdf8;box-shadow:0 10px 35px #071d3410;text-align:center;opacity:.42;filter:blur(2.6px);transform:scale(.86);transition:filter .45s ease,opacity .45s ease,transform .45s ease,box-shadow .45s ease}.feedback-card.is-active{opacity:1;filter:blur(0);transform:scale(1);box-shadow:0 18px 45px #071d3422}.feedback-card.is-near{opacity:.58;filter:blur(1.8px);transform:scale(.9)}.quote{height:48px;color:#7b2930;font:4.7rem/.8 Georgia,serif}.feedback-text{font-size:1.18rem;font-style:italic;line-height:1.5}.feedback-text p{margin:.3em 0}.feedback-author{margin-top:14px;color:#7b2930;font-size:1.15rem;font-weight:bold}.feedback-detail{font-size:.88rem;letter-spacing:.05em;color:#66717a;margin-top:3px}.feedback-nav{position:absolute;z-index:3;top:50%;transform:translateY(-65%);width:46px;height:46px;border:1px solid #7b293044;border-radius:50%;background:#fffdf8e8;color:#7b2930;font:2rem/1 Georgia,serif;cursor:pointer;box-shadow:0 5px 18px #071d3414}.feedback-nav:hover{background:#7b2930;color:white}.feedback-prev{left:4px}.feedback-next{right:4px}.feedback-dots{position:absolute;bottom:4px;left:0;right:0;display:flex;justify-content:center;gap:8px}.feedback-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#7b293044;transition:.25s}.feedback-dots i.active{width:22px;border-radius:6px;background:#7b2930}@media(max-width:800px){.feedback-carousel{padding-left:45px;padding-right:45px}.feedback-card{flex-basis:min(620px,82vw);padding:22px 30px;min-height:165px}}@media(max-width:520px){.feedback-carousel{padding-left:25px;padding-right:25px}.feedback-card{flex-basis:88vw;min-height:155px;padding:20px 24px}.feedback-nav{width:38px;height:38px}.feedback-prev{left:0}.feedback-next{right:0}}

/* Product detail modal */
.product-modal{padding:clamp(18px,4vw,55px);background:rgba(7,16,27,.88);backdrop-filter:blur(7px)}
.product-modal-panel{position:relative;width:min(1120px,96vw);height:min(720px,86vh);display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.35fr);overflow:hidden;background:#f5f1e9;border-radius:20px;box-shadow:0 30px 90px #0008}
.product-info{padding:clamp(35px,5vw,72px);overflow:auto;align-self:stretch}.product-info h2{margin:0;color:#7b2930;font:400 clamp(2.1rem,4vw,3.7rem)/1 Palatino,Georgia,serif}.product-rule{width:65px;border-top:2px solid #7b2930;margin:28px 0 36px}.product-info h3{margin:25px 0 5px;color:#7b2930;font:400 1rem/1.2 Georgia,serif;text-transform:uppercase;letter-spacing:.12em}.product-info p{margin:0;color:#26333d;line-height:1.7}.product-material{font-style:italic;font-size:1.08rem}.product-image{min-width:0;background:#071d34;display:flex;align-items:center;justify-content:center}.product-modal .product-image img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.product-modal .close{z-index:3;right:18px;top:12px;width:48px;height:48px;border-radius:50%;background:#071d3499;font-size:2.4rem;line-height:1;color:#fff;cursor:pointer}.gallery button{cursor:pointer;transition:transform .25s,box-shadow .25s}.gallery button:hover{transform:translateY(-4px);box-shadow:0 12px 28px #071d3422}
@media(max-width:760px){.product-modal-panel{height:min(90vh,820px);grid-template-columns:1fr;grid-template-rows:auto minmax(280px,1fr)}.product-info{padding:30px 28px 24px}.product-image{grid-row:2}.product-modal .close{background:#071d34}.product-info h2{font-size:2.3rem}.product-rule{margin:18px 0 22px}}

/* Sezioni editoriali: Chi sono / Tecniche e materiali / Eventi */
.feature-sections{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:76px 0 34px;display:flex;flex-direction:column;gap:46px}
.feature-row{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:390px;border-radius:20px;overflow:hidden;background:#f5f1e9;box-shadow:0 16px 44px rgba(7,29,52,.08)}
.feature-row-reverse{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.feature-row-reverse .feature-text{order:2}
.feature-row-reverse .feature-image{order:1}
.feature-text{display:flex;align-items:center;padding:50px 56px}
.feature-text-inner{max-width:470px}
.feature-number{display:block;margin-bottom:18px;color:#9d6c70;font-size:.78rem;letter-spacing:.22em}
.feature-text h2{margin:0 0 22px;color:#7b2930;font:400 clamp(2.1rem,4vw,3.45rem)/1.02 Palatino,Georgia,serif}
.feature-copy{font-size:1.06rem;line-height:1.75;color:#35424b}
.feature-copy p:first-child{margin-top:0}.feature-copy p:last-child{margin-bottom:0}
.feature-image{min-height:390px;background-size:cover;background-repeat:no-repeat}
.feature-row:nth-child(2){background:#071d34;color:#fff}
.feature-row:nth-child(2) .feature-text h2{color:#e4b8b8}
.feature-row:nth-child(2) .feature-copy{color:#f5f1e9}
.feature-row:nth-child(2) .feature-number{color:#d9a7aa}
@media(max-width:800px){.feature-sections{padding:50px 0 24px;gap:28px}.feature-row,.feature-row-reverse{grid-template-columns:1fr;min-height:0}.feature-row-reverse .feature-text,.feature-row-reverse .feature-image{order:initial}.feature-text{padding:38px 34px}.feature-image{min-height:300px}.feature-row-reverse .feature-text{order:1}.feature-row-reverse .feature-image{order:2}}
@media(max-width:520px){.feature-sections{width:min(100% - 24px,1180px)}.feature-text{padding:30px 24px}.feature-image{min-height:240px}.feature-row{border-radius:14px}}

/* Link approfondimento Chi sono */
.feature-more{display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding:11px 18px;border:1px solid #7b2930;border-radius:999px;color:#7b2930;text-decoration:none;font-size:.94rem;transition:.22s}.feature-more span{font-size:1.25rem;transition:transform .22s}.feature-more:hover{background:#7b2930;color:#fff}.feature-more:hover span{transform:translateX(4px)}

/* Pagina Chi sono */
.inner-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px max(22px,calc((100% - 1180px)/2));background:#f5f1e9f2;backdrop-filter:blur(12px);box-shadow:0 3px 16px #071d3414}.inner-brand{color:#7b2930;text-decoration:none;font:400 2rem/1 Palatino,Georgia,serif}.inner-actions{display:flex;align-items:center;gap:12px}.back-home,.inner-lang{color:#7b2930;text-decoration:none;border:1px solid #7b293044;border-radius:999px;padding:8px 13px;font-size:.88rem}.back-home:hover,.inner-lang:hover{background:#7b2930;color:#fff}.about-page{overflow:hidden}.about-hero{min-height:680px;display:grid;grid-template-columns:.92fr 1.08fr;background:#f5f1e9}.about-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(45px,calc((100vw - 1180px)/2)) 70px max(30px,calc((100vw - 1180px)/2))}.about-kicker,.about-num{color:#9d6c70;text-transform:uppercase;letter-spacing:.2em;font-size:.76rem}.about-hero h1{margin:14px 0 10px;color:#7b2930;font:400 clamp(3.7rem,7vw,7rem)/.92 Palatino,Georgia,serif}.about-subtitle{max-width:580px;margin:0 0 30px;color:#071d34;font-size:1.4rem;font-style:italic}.about-intro{max-width:590px;font-size:1.04rem;line-height:1.8}.about-hero-image,.about-photo{background-size:cover;background-repeat:no-repeat}.about-hero-image{background-position:64% 44%}.about-split{width:min(1180px,calc(100% - 40px));margin:90px auto;display:grid;grid-template-columns:1fr 1fr;min-height:520px}.about-photo-one{background-position:22% 55%}.about-photo-two{background-position:76% 58%}.about-copy{display:flex;flex-direction:column;justify-content:center;padding:55px 65px;background:#fffdf8}.about-copy h2{margin:12px 0 24px;color:#7b2930;font:400 clamp(2.2rem,4vw,3.6rem)/1 Palatino,Georgia,serif}.about-copy p{line-height:1.8}.about-material{background:#071d34}.about-material .about-copy{background:#071d34;color:#f5f1e9}.about-material .about-copy h2{color:#e4b8b8}.about-material .about-num{color:#d9a7aa}.about-closing{padding:75px max(25px,calc((100% - 850px)/2));text-align:center;background:#f5f1e9;font-size:1.25rem;line-height:1.75}.about-home-button{display:inline-block;margin-top:25px;padding:12px 20px;border-radius:999px;background:#7b2930;color:#fff;text-decoration:none;font-size:.95rem}.about-home-button:hover{background:#071d34}
@media(max-width:800px){.about-hero{grid-template-columns:1fr;min-height:0}.about-hero-copy{padding:60px 32px}.about-hero-image{min-height:430px}.about-split{grid-template-columns:1fr;margin:45px auto}.about-photo{min-height:360px}.about-copy{padding:42px 34px}.about-material .about-copy{order:2}.about-material .about-photo{order:1}.back-home{display:none}}
@media(max-width:520px){.inner-head{padding:12px}.inner-brand{font-size:1.65rem}.about-hero-copy{padding:45px 24px}.about-hero-image{min-height:320px}.about-split{width:calc(100% - 24px)}.about-photo{min-height:280px}.about-copy{padding:34px 24px}.about-closing{padding:55px 24px}}

/* Pagina Eventi */
.events-page{overflow:hidden}.events-hero{text-align:center;padding:90px max(25px,calc((100% - 850px)/2)) 75px;background:#f5f1e9}.events-hero h1{margin:14px 0 12px;color:#7b2930;font:400 clamp(3.7rem,7vw,6.5rem)/.95 Palatino,Georgia,serif}.events-hero>p{margin:0 auto 28px;color:#071d34;font-size:1.35rem;font-style:italic}.events-intro{font-size:1.04rem;line-height:1.8}.events-list{width:min(1180px,calc(100% - 40px));margin:75px auto;display:flex;flex-direction:column;gap:45px}.event-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:440px;border-radius:20px;overflow:hidden;background:#fffdf8;box-shadow:0 16px 44px #071d3414}.event-reverse{grid-template-columns:.95fr 1.05fr}.event-reverse .event-image{order:2}.event-reverse .event-copy{order:1}.event-image{min-height:420px;background-size:cover;background-repeat:no-repeat}.event-copy{display:flex;flex-direction:column;justify-content:center;padding:50px 55px}.event-period{color:#9d6c70;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem}.event-copy h2{margin:12px 0 20px;color:#7b2930;font:400 clamp(2rem,3.5vw,3.1rem)/1.05 Palatino,Georgia,serif}.event-description{line-height:1.75}.event-location{display:grid;grid-template-columns:34px 1fr;gap:8px;margin-top:28px;padding-top:22px;border-top:1px solid #7b293022}.event-location>span{color:#7b2930;font-size:1.5rem}.event-location strong{color:#7b2930}.event-location p{margin:3px 0 8px}.event-location a{color:#7b2930;text-underline-offset:4px}.feature-row:nth-child(2) .feature-more{border-color:#e4b8b8;color:#e4b8b8}.feature-row:nth-child(2) .feature-more:hover{background:#e4b8b8;color:#071d34}
@media(max-width:800px){.events-hero{padding:60px 30px}.events-list{margin:45px auto}.event-card,.event-reverse{grid-template-columns:1fr}.event-reverse .event-image,.event-reverse .event-copy{order:initial}.event-image{min-height:330px}.event-copy{padding:38px 34px}}
@media(max-width:520px){.events-list{width:calc(100% - 24px)}.event-image{min-height:260px}.event-copy{padding:30px 24px}.event-card{border-radius:14px}}

/* Quick navigation below the Fili di Sofia title */
.quick-nav{display:flex;justify-content:center;align-items:center;gap:clamp(18px,4vw,48px);margin:24px auto 0;padding:12px 70px 0;border-top:1px solid #7b293024;width:min(760px,calc(100% - 40px));transition:margin .28s ease,padding .28s ease,border-color .28s ease}
.quick-nav a{position:relative;color:#7b2930;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;white-space:nowrap}
.quick-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:1px;background:#7b2930;transition:left .2s ease,right .2s ease}
.quick-nav a:hover:after,.quick-nav a:focus-visible:after{left:0;right:0}
body.header-compact .quick-nav{margin:5px auto 0;padding:5px 70px 0;border-color:#7b293018}
body.header-compact .quick-nav a{font-size:.72rem}
@media(max-width:700px){.quick-nav{gap:18px;padding-left:55px;padding-right:55px}.quick-nav a{font-size:.7rem;letter-spacing:.07em}}
@media(max-width:520px){body.header-compact .mast{text-align:center}.quick-nav,body.header-compact .quick-nav{width:100%;gap:13px;padding:6px 58px 0 0;margin-top:5px}.quick-nav a,body.header-compact .quick-nav a{font-size:.63rem;letter-spacing:.04em}}

/* Product popup: gallery of attachments */
.product-visual{min-width:0;min-height:0;background:#071d34;display:grid;grid-template-rows:minmax(0,1fr) auto}.product-visual .product-image{min-height:0}.product-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 14px 14px;background:#071d34}.product-thumbs[hidden]{display:none}.product-thumb{flex:0 0 78px;width:78px;height:64px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;opacity:.62;transition:opacity .2s,border-color .2s,transform .2s}.product-thumb:hover{opacity:.9;transform:translateY(-1px)}.product-thumb.active{opacity:1;border-color:#e4b8b8}.product-thumb img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}.work-images{display:none!important}@media(max-width:760px){.product-visual{grid-row:2;min-height:0}.product-image{grid-row:auto}.product-thumbs{padding:9px 10px 11px}.product-thumb{flex-basis:64px;width:64px;height:52px}}

/* Fix: product popup text must stay below its labels, not inherit generic lightbox caption positioning */
.product-modal .product-info p,
.product-modal .product-material,
.product-modal .product-description{
  position:static;
  inset:auto;
  display:block;
  width:auto;
  max-width:none;
  color:#26333d;
  margin:0;
}
.product-modal .product-material{font-style:italic;font-size:1.08rem;line-height:1.7}
.product-modal .product-description{line-height:1.7;white-space:normal;overflow-wrap:anywhere}

/* Gentle reveal-on-scroll. Content stays fully visible without JavaScript. */
body.reveal-enabled .scroll-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .72s ease-out,transform .72s cubic-bezier(.2,.65,.3,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
body.reveal-enabled .scroll-reveal.is-revealed{
  opacity:1;
  transform:translateY(0);
}
@media(prefers-reduced-motion:reduce){
  body.reveal-enabled .scroll-reveal,
  body.reveal-enabled .scroll-reveal.is-revealed{
    opacity:1;
    transform:none;
    transition:none;
  }
}

/* 2026-09-20 — Palette avorio: il blu notte resta esclusivamente nel footer */
:root{--ivory-0:#fffdf8;--ivory-1:#faf6ed;--ivory-2:#f5f0e5;--ivory-3:#efe7d9;--ivory-rose:#f7efea;--ink:#3b3431;--burgundy:#7b2930;--footer-night:#071d34}
body{color:var(--ink);background:var(--ivory-0)}
.mast,.inner-head{background:#f7f2e8}
body.header-compact .mast .langbar a{background:#f7f2e8}
.carousel{background:var(--ivory-3)}
.feature-sections .feature-row{background:var(--ivory-1);color:var(--ink)}
.feature-sections .feature-row:nth-child(2){background:var(--ivory-3);color:var(--ink)}
.feature-sections .feature-row:nth-child(3){background:var(--ivory-rose);color:var(--ink)}
.lower-features .feature-row:nth-child(1){background:#fbf7ef}
.lower-features .feature-row:nth-child(2){background:#f1eadf;color:var(--ink)}
.lower-features .feature-row:nth-child(3){background:#f8f1eb}
.feature-row:nth-child(2) .feature-more{border-color:var(--burgundy);color:var(--burgundy)}
.feature-row:nth-child(2) .feature-more:hover{background:var(--burgundy);color:#fff}
.feedback-section{background:#f3ede2}
.feedback-card{background:#fffaf2}
.services{background:#f8f3e9;color:var(--ink)}
.services h2,.services .section>h2{color:var(--burgundy)}
.servicegrid article{border-bottom-color:#7b293024}
.servicegrid h3,.servicegrid b{color:var(--burgundy)}
.card,.gallery button,.claim{background:#f5efe4}
.about-hero,.events-hero,.about-closing{background:#f5efe4}
.about-copy{background:#fffaf3;color:var(--ink)}
.about-material{background:#eee5d7}
.about-material .about-copy{background:#eee5d7;color:var(--ink)}
.about-material .about-copy h2{color:var(--burgundy)}
.about-material .about-num{color:#9d6c70}
.about-subtitle,.events-hero>p{color:var(--ink)}
.event-card{background:#fffaf3}
.event-card:nth-child(even){background:#f3ece1}
.product-modal{background:rgba(54,45,42,.88)}
.product-modal-panel{background:#f5efe4}
.product-info p{color:var(--ink)}
.product-visual,.product-visual .product-image,.product-thumbs{background:#e9dfd0}
.product-modal .close{background:#7b2930cc}
.product-thumb.active{border-color:var(--burgundy)}
.about-home-button:hover{background:#5f2026}
/* neutral shadows instead of blue-tinted shadows */
.feature-row,.event-card{box-shadow:0 16px 44px rgba(61,49,43,.10)}
.feedback-card{box-shadow:0 10px 35px rgba(61,49,43,.08)}
.feedback-card.is-active{box-shadow:0 18px 45px rgba(61,49,43,.14)}
.feedback-nav{box-shadow:0 5px 18px rgba(61,49,43,.10)}
body.header-compact .mast,.inner-head{box-shadow:0 3px 14px rgba(61,49,43,.10)}
.gallery button:hover{box-shadow:0 12px 28px rgba(61,49,43,.14)}
/* Footer: unico elemento in blu notte */
footer{background:var(--footer-night);color:#fff}
footer a{color:#fff}

/* Contrast fix for ivory feature sections */
.feature-sections .feature-row:nth-child(2) .feature-text h2,
.lower-features .feature-row:nth-child(2) .feature-text h2{
  color:var(--burgundy,#7b2930);
}
.feature-sections .feature-row:nth-child(2) .feature-copy,
.lower-features .feature-row:nth-child(2) .feature-copy{
  color:var(--ink,#26333d);
}
.feature-sections .feature-row:nth-child(2) .feature-number,
.lower-features .feature-row:nth-child(2) .feature-number{
  color:#9d6c70;
}

/* Contact page */
.contact-page{overflow:hidden;background:#fffaf3}.contact-hero{text-align:center;padding:90px max(25px,calc((100% - 850px)/2)) 75px;background:#f5efe4}.contact-hero h1{margin:14px 0 12px;color:#7b2930;font:400 clamp(3.7rem,7vw,6.5rem)/.95 Palatino,Georgia,serif}.contact-subtitle{margin:0 auto 28px;color:#3d312b;font-size:1.35rem;font-style:italic}.contact-intro{max-width:760px;margin:auto;font-size:1.04rem;line-height:1.8}.contact-section{width:min(1180px,calc(100% - 40px));margin:75px auto;display:grid;grid-template-columns:.9fr 1.1fr;min-height:430px;border-radius:20px;overflow:hidden;background:#fffdf8;box-shadow:0 16px 44px rgba(61,49,43,.10)}.contact-copy{display:flex;flex-direction:column;justify-content:center;padding:55px 60px}.contact-copy h2{margin:12px 0 24px;color:#7b2930;font:400 clamp(2.2rem,4vw,3.6rem)/1 Palatino,Georgia,serif}.contact-body{line-height:1.8}.contact-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:48px 58px;background:#f1e8dc}.contact-line{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid rgba(123,41,48,.18)}.contact-line:last-child{border-bottom:0}.contact-line>span{color:#7b2930;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}.contact-line a{color:#3d312b;text-decoration-color:#7b2930;text-underline-offset:5px}.contact-line em{color:#756861;font-size:.9rem}.contact-visit{grid-template-columns:.82fr 1.18fr;background:#f3ece1}.contact-address{margin-top:28px;padding-top:20px;border-top:1px solid rgba(123,41,48,.18);line-height:1.7}.contact-address strong{color:#7b2930}.contact-map{min-height:470px}.contact-map iframe{display:block;width:100%;height:100%;min-height:470px;border:0;filter:saturate(.82) contrast(.96)}
@media(max-width:800px){.contact-hero{padding:60px 30px}.contact-section,.contact-visit{grid-template-columns:1fr;margin:45px auto}.contact-copy,.contact-card{padding:40px 34px}.contact-map,.contact-map iframe{min-height:390px}}
@media(max-width:520px){.contact-section{width:calc(100% - 24px);border-radius:14px}.contact-copy,.contact-card{padding:32px 24px}.contact-line{grid-template-columns:1fr;gap:7px}.contact-map,.contact-map iframe{min-height:330px}}

/* Event-style layout shared by Casa vostra / Dove comprare / Contatti */
.detail-events-page .events-hero,
.contact-page .events-hero{max-width:920px;margin:0 auto;padding:86px 28px 58px;text-align:center}
.detail-events-page .events-hero h1,
.contact-page .events-hero h1{margin:.2em 0 .25em;font-size:clamp(2.8rem,6vw,5.4rem);color:#7b2930;font-weight:400}
.detail-events-page .events-hero>p,
.contact-page .events-hero>p{font-size:clamp(1.05rem,2vw,1.35rem);margin:.2em auto 1.2em;max-width:760px}
.detail-events-page .events-intro,
.contact-page .events-intro{max-width:760px;margin:0 auto;line-height:1.75}
.detail-events-page .event-description,
.contact-page .event-description{line-height:1.75}
.detail-events-page .event-card{background:#f8f2e7}
.detail-events-page .event-card:nth-child(even){background:#f2eadc}
.contact-page .event-card{background:#f8f2e7}
.contact-page .event-card:nth-child(even){background:#f2eadc}
.contact-page .contact-card{width:100%;margin-top:24px}
.contact-page .contact-map{width:100%;min-height:360px;margin-top:24px}
.contact-page .contact-map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
.contact-page .event-copy{display:flex;flex-direction:column;justify-content:center}
@media(max-width:760px){.detail-events-page .events-hero,.contact-page .events-hero{padding:58px 20px 38px}.contact-page .contact-map,.contact-page .contact-map iframe{min-height:300px}}

/* Full-width hero for detail pages, matching Eventi */
.detail-events-page .events-hero,
.contact-page .events-hero{
  width:100%;
  max-width:none;
  margin:0;
  box-sizing:border-box;
  padding:90px max(25px,calc((100% - 850px)/2)) 75px;
}
@media(max-width:800px){
  .detail-events-page .events-hero,
  .contact-page .events-hero{padding:60px 30px;}
}


/* Header uniforme delle sottopagine */
.inner-head{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"brand brand lang" "nav nav nav";align-items:center;padding:16px max(22px,calc((100% - 1180px)/2)) 12px;background:#f7f2e8f2;backdrop-filter:blur(12px);text-align:center}
.inner-brand{grid-area:brand;justify-self:center;color:#7b2930;text-decoration:none;font:400 clamp(2.2rem,5vw,3.5rem)/1 Palatino,Georgia,serif}
.inner-lang{grid-area:lang;justify-self:end;color:#7b2930;text-decoration:none;border:1px solid #7b293044;border-radius:0;padding:7px 12px;font-size:.82rem}
.inner-lang:hover{background:#7b2930;color:#fff}
.inner-quick-nav{grid-area:nav;display:flex;justify-content:center;align-items:center;gap:clamp(18px,4vw,48px);width:min(760px,calc(100% - 40px));margin:12px auto 0;padding-top:9px;border-top:1px solid #7b293024}
.inner-quick-nav a{position:relative;color:#7b2930;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;white-space:nowrap}
.inner-quick-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:1px;background:#7b2930;transition:left .2s ease,right .2s ease}
.inner-quick-nav a:hover:after,.inner-quick-nav a:focus-visible:after{left:0;right:0}
body.header-compact .inner-head{padding-top:9px;padding-bottom:8px}
body.header-compact .inner-brand{font-size:2rem}
body.header-compact .inner-quick-nav{margin-top:6px;padding-top:5px}
/* Pulsanti con spigoli quadrati */
.feature-more,.about-home-button,.back-home,.inner-lang,.prev,.next,.feedback-nav{border-radius:0}
@media(max-width:520px){.inner-head{grid-template-columns:1fr auto;grid-template-areas:"brand lang" "nav nav";padding:10px 12px 8px}.inner-brand{justify-self:center;font-size:2rem;padding-left:52px}.inner-lang{font-size:.68rem;padding:6px 8px}.inner-quick-nav{width:100%;gap:13px;margin-top:7px;padding-top:6px}.inner-quick-nav a{font-size:.62rem;letter-spacing:.04em}}

/* Sottopagine: intestazione fissa, titolo piccolo e centrato */
.inner-head{
  position:sticky;
  top:0;
  z-index:20;
  display:block;
  padding:12px max(22px,calc((100% - 1180px)/2)) 10px;
  background:#f7f2e8f2;
  backdrop-filter:blur(12px);
  text-align:center;
}
.inner-brand,
body.header-compact .inner-brand{
  display:inline-block;
  margin:0 auto;
  padding:0;
  color:#7b2930;
  text-decoration:none;
  font:400 2rem/1 Palatino,Georgia,serif;
}
.inner-lang,
body.header-compact .inner-lang{
  position:absolute;
  right:max(22px,calc((100% - 1180px)/2));
  top:12px;
}
.inner-quick-nav,
body.header-compact .inner-quick-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(18px,4vw,48px);
  width:min(760px,calc(100% - 40px));
  margin:8px auto 0;
  padding-top:7px;
  border-top:1px solid #7b293024;
}
body.header-compact .inner-head{padding-top:12px;padding-bottom:10px}
@media(max-width:520px){
  .inner-head,body.header-compact .inner-head{padding:10px 12px 8px}
  .inner-brand,body.header-compact .inner-brand{font-size:1.8rem;padding:0}
  .inner-lang,body.header-compact .inner-lang{right:12px;top:10px;font-size:.65rem;padding:5px 7px}
  .inner-quick-nav,body.header-compact .inner-quick-nav{width:100%;gap:13px;margin-top:7px;padding-top:6px}
}

/* E-shop */
.eshop-card-visual{min-height:430px;display:flex;align-items:center;justify-content:center;background:#eee3d2;color:#7b2930;font:400 clamp(2.7rem,6vw,5.5rem)/1 Palatino,Georgia,serif;letter-spacing:.12em}
.eshop-coming{width:min(920px,calc(100% - 40px));margin:70px auto 100px;padding:75px clamp(30px,7vw,90px);box-sizing:border-box;text-align:center;background:#f5ecdf;border:1px solid rgba(123,41,48,.16)}
.eshop-coming h2{margin:10px auto 25px;color:#7b2930;font:400 clamp(2.2rem,5vw,4rem)/1.05 Palatino,Georgia,serif}
.eshop-mark{color:#7b2930;font-size:2rem}.eshop-message,.eshop-note{max-width:680px;margin:0 auto 22px;line-height:1.8;color:#3d312b}.eshop-note{padding-top:20px;border-top:1px solid rgba(123,41,48,.16)}
.eshop-coming .feature-more,.eshop-card .feature-more{display:inline-block;margin-top:10px}
@media(max-width:760px){.eshop-card-visual{min-height:260px}.eshop-coming{margin:45px auto 70px;padding:50px 25px}}

/* La tessitura, dal vivo: contenuti gestibili dal record /services */
.services-intro{max-width:760px;margin:-24px 0 38px;color:#4b4a46;font-size:1.08rem;line-height:1.7}
.servicegrid article{align-items:start}
.service-image{width:100%;height:150px;background-size:cover;background-repeat:no-repeat;margin-bottom:14px;grid-column:1/-1}
@media(min-width:801px){.servicegrid article:has(.service-image){display:block}}
@media(max-width:800px){.services-intro{margin-top:-15px}.service-image{height:210px}}

/* La tessitura, dal vivo — versione più compatta */
.services .section{padding-top:42px;padding-bottom:42px}
.services .section>h2{margin:0 0 8px;line-height:1.08}
.services-intro{margin:0 0 20px;max-width:760px;font-size:1rem;line-height:1.55}
.servicegrid{gap:0 32px}
.servicegrid article{grid-template-columns:42px 1fr;column-gap:12px;padding:10px 8px;align-items:start}
.servicegrid article>div:not(.service-image){align-self:center}
.servicegrid b{font-size:1.65rem;line-height:1.1}
.servicegrid h3{margin:0 0 3px;font-size:1.18rem;line-height:1.25}
.servicegrid p{margin:0 0 4px;line-height:1.45}
.service-image{height:120px;margin:0 0 9px}
@media(max-width:800px){
  .services .section{padding-top:34px;padding-bottom:34px}
  .services-intro{margin:0 0 14px}
  .servicegrid article{padding:9px 4px}
  .service-image{height:160px;margin-bottom:8px}
}

/* Event chronology and homepage next-event summary */
.events-group{padding-top:38px}.events-group-title{text-align:center}.events-group-title h2{margin:0;color:#7b2930;font:400 clamp(2.1rem,4vw,3.3rem)/1.05 Palatino,Georgia,serif}.events-group .events-list{margin-top:34px}.events-past{padding:48px 0 20px;background:#f3ece1}.events-past .event-card{opacity:.88}.events-empty{text-align:center;margin:28px auto 60px}.home-next-event{margin:24px 0 4px;padding:18px 0 0;border-top:1px solid #7b293033;display:grid;gap:5px}.home-next-event .next-event-label{color:#7b2930;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem}.home-next-event strong{color:#7b2930;font:400 1.3rem/1.2 Palatino,Georgia,serif}.home-next-event span:not(.next-event-label){font-size:.9rem;line-height:1.45}
/* Archivio eventi separato */
.past-events-link{text-align:center;padding:34px 20px 58px}
.events-empty{max-width:720px;padding:24px 30px;line-height:1.7;color:#4b413b}
.past-events-page .events-group{padding-top:20px}

/* Minor visual consistency: square language selector */
.langbar a,.mast .langbar a,body.header-compact .mast .langbar a{border-radius:0}

/* 2026-09: trattamento fotografico editoriale — immagini integrate nella palette Fili di Sofia */
.feature-image,.about-hero-image,.about-photo,.event-image,.service-image{
  position:relative;
  isolation:isolate;
  background-color:#e9dfd0;
  filter:saturate(.88) contrast(.97) brightness(.99);
}
.feature-image::after,.about-hero-image::after,.about-photo::after,.event-image::after,.service-image::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(123,41,48,.07);
  background:linear-gradient(135deg,rgba(255,250,243,.08),rgba(123,41,48,.035));
  z-index:1;
}
/* La fotografia resta protagonista, ma con proporzioni meno aggressive. */
.about-hero{min-height:620px}
.about-hero-image{background-position:62% 34%}
.about-split{min-height:480px;margin-top:76px;margin-bottom:76px}
.about-photo-one{background-position:50% 50%}
.about-photo-two{background-position:50% 50%}
.feature-image{background-color:#eee5d7}
/* La foto verticale di Chi sono in homepage mantiene visibili telaio e soggetto. */
.feature-sections .feature-row:first-child .feature-image{background-position:48% 28%!important}
/* Tecniche e materiali: inquadratura più naturale sul dettaglio del telaio. */
.feature-sections .feature-row:nth-child(2) .feature-image{background-position:50% 55%!important}
@media(max-width:800px){
  .about-hero{min-height:0}
  .about-hero-image{min-height:400px;background-position:58% 30%}
  .about-split{min-height:0;margin-top:42px;margin-bottom:42px}
  .feature-sections .feature-row:first-child .feature-image{min-height:340px;background-position:50% 25%!important}
}
@media(max-width:520px){
  .about-hero-image{min-height:350px}
  .feature-sections .feature-row:first-child .feature-image{min-height:300px}
}

/* Homepage — prossimo evento: dettagli al posto dell'immagine */
.feature-sections .feature-row:nth-child(3) .feature-text{align-items:center}
.event-home-details{min-height:390px;padding:48px 56px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fbf6ed,#f1e6dc);border-left:1px solid #7b29301c}
.event-home-kicker{color:var(--burgundy);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;margin-bottom:12px}
.event-home-details h3{margin:0 0 24px;color:var(--burgundy);font:400 clamp(1.8rem,3vw,2.7rem)/1.08 Palatino,Georgia,serif}
.event-home-detail{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:18px 0;border-top:1px solid #7b293022;align-items:start}
.event-home-icon{color:var(--burgundy);font-size:1.45rem;line-height:1}
.event-home-detail small{display:block;margin-bottom:5px;color:var(--burgundy);font-size:.7rem;font-weight:700;letter-spacing:.16em}
.event-home-detail strong{display:block;color:var(--ink);font:400 1.08rem/1.4 Palatino,Georgia,serif}
.event-home-details[hidden]{display:none}
.feature-row.event-home-no-event{grid-template-columns:1fr}
.feature-row.event-home-no-event .feature-text-inner{max-width:680px}
@media(max-width:800px){.event-home-details{min-height:0;padding:34px;border-left:0;border-top:1px solid #7b29301c}.feature-row.event-home-no-event{grid-template-columns:1fr}}

/* I miei lavori: intestazione editoriale centrata */
.works-section{padding-top:68px}
.works-heading{text-align:center;max-width:900px;margin:0 auto 38px}
.works-heading h2{margin:0;color:#7b2930;font-size:3rem;font-weight:400;line-height:1.12}
.works-heading h2:after{content:"";display:block;width:42px;height:1px;background:#b78c69;margin:14px auto 12px}
.works-subtitle{max-width:820px;margin:0 auto;color:#5a5651;font-size:1.02rem;line-height:1.65}
.works-subtitle p{margin:0}
@media(max-width:800px){.works-section{padding-top:52px}.works-heading{margin-bottom:28px}.works-heading h2{font-size:2.45rem}.works-subtitle{font-size:.98rem}}

/* Tecniche e materiali — impaginazione coerente con la pagina Eventi */
.techniques-events-page .events-hero{max-width:none;margin:0;text-align:center}
.techniques-events-page .events-intro{max-width:850px;margin:0 auto}
.techniques-list{margin-top:64px;margin-bottom:58px}
.technique-card .event-image{background-position:center center}
.technique-card .event-copy{padding:54px 58px}
.technique-card .event-copy h2{margin-top:0}
.techniques-closing{max-width:850px;margin:0 auto 78px;padding:42px 48px;text-align:center;background:#f5efe4;border-top:1px solid #7b293022;border-bottom:1px solid #7b293022;font-size:1.15rem;line-height:1.75}
@media(max-width:800px){.techniques-list{margin-top:42px;margin-bottom:42px}.technique-card .event-copy{padding:38px 34px}.techniques-closing{margin:0 20px 55px;padding:34px 26px}}
@media(max-width:520px){.technique-card .event-copy{padding:30px 24px}.techniques-closing{margin:0 12px 45px;padding:30px 22px}}

/* Tecniche e materiali — chiusura a tutta larghezza come la pagina Eventi */
.techniques-events-page .techniques-closing{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin:0;
  padding:58px max(25px,calc((100% - 850px)/2));
  text-align:center;
  background:#f3ece1;
  border-top:1px solid #7b293022;
  border-bottom:0;
  font-size:1.15rem;
  line-height:1.75;
}
@media(max-width:800px){
  .techniques-events-page .techniques-closing{margin:0;padding:44px 30px}
}
@media(max-width:520px){
  .techniques-events-page .techniques-closing{margin:0;padding:38px 22px}
}

/* Footer comune a tutte le pagine */
.site-footer{background:var(--footer-night,#071d34);color:#fff;margin-top:0}
.site-footer .foot{align-items:start}
.site-footer .foot h2,.site-footer .foot h3{color:#fff}
.site-footer .foot h2{margin-top:0}
.site-footer .foot h3{margin-top:.35rem}
.site-footer .foot p{margin:.35rem 0}
.site-footer a{color:#fff;text-decoration-color:rgba(255,255,255,.55);text-underline-offset:4px}
.site-footer a:hover{text-decoration-color:#fff}
.footer-social{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.footer-social-sep{opacity:.55}
@media(max-width:800px){.footer-social{display:block}.footer-social-sep{display:none}.footer-social a,.footer-social>span:not(.footer-social-sep){display:block;margin:.35rem 0}}

/* Footer social: una voce per riga */
.site-footer .footer-social{display:block;margin:.35rem 0}
.site-footer .footer-social>div{display:block;margin:.35rem 0}

/* Footer: icone per contatti e social */
.site-footer .footer-line{display:flex;align-items:flex-start;gap:9px;margin:7px 0}
.site-footer .footer-icon{width:18px;height:18px;flex:0 0 18px;margin-top:2px;display:inline-flex;align-items:center;justify-content:center}
.site-footer .footer-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-footer .footer-icon-brand svg{fill:currentColor;stroke:none}
.site-footer .footer-icon-brand svg rect,.site-footer .footer-icon-brand svg circle{fill:none;stroke:currentColor;stroke-width:1.7}
.site-footer .footer-icon-brand svg .footer-icon-dot{fill:currentColor;stroke:none}

/* Form contatti e newsletter */
.contact-form-section,.newsletter-section{padding:70px 24px;background:#f7f0e5}
.newsletter-section{background:#efe5d7}
.contact-form-wrap,.newsletter-wrap{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.contact-form-intro h2,.newsletter-wrap h2{color:var(--burgundy);margin:5px 0 16px;font-size:clamp(2rem,4vw,3.2rem)}
.fs-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.fs-form label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#5f292d}
.fs-form label:has(textarea),.fs-form .form-consent,.fs-form button,.fs-form .form-status{grid-column:1/-1}
.fs-form input,.fs-form textarea{box-sizing:border-box;width:100%;border:1px solid #7b293050;border-radius:0;background:#fffdf8;color:var(--ink);font:inherit;font-size:1rem;padding:12px 13px;outline:none}
.fs-form textarea{resize:vertical;min-height:150px}
.fs-form input:focus,.fs-form textarea:focus{border-color:var(--burgundy);box-shadow:0 0 0 2px #7b293012}
.fs-form .form-consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;text-transform:none;letter-spacing:0;line-height:1.45;color:var(--ink)}
.fs-form .form-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--burgundy)}
.fs-form button{justify-self:start;border:1px solid var(--burgundy);border-radius:0;background:var(--burgundy);color:#fff;padding:11px 22px;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}
.fs-form button:hover{background:transparent;color:var(--burgundy)}
.fs-form button:disabled{opacity:.55;cursor:wait}.form-status{margin:0;min-height:1.5em}.form-status.is-error{color:#8a1f2d}.form-status.is-ok{color:#355d42}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.contact-form-section,.newsletter-section{padding:48px 20px}.contact-form-wrap,.newsletter-wrap{grid-template-columns:1fr;gap:28px}.fs-form{grid-template-columns:1fr}.fs-form label{grid-column:1/-1}}

/* Contatti: Scrivici a sinistra, contatti diretti a destra */
.contact-direct-card{align-items:start}
.contact-direct-card .event-copy{min-width:0}
.contact-inline-form{margin-top:24px}
.contact-direct-column .contact-card{margin-top:24px}
@media(max-width:800px){.contact-direct-card{display:grid;grid-template-columns:1fr}.contact-write-column{order:1}.contact-direct-column{order:2}}

/* E-shop: iscrizione newsletter */
.eshop-newsletter{margin-top:0}
.eshop-newsletter .newsletter-wrap>div>p{max-width:520px;line-height:1.7}

/* Newsletter integrata nel box E-shop */
.eshop-inline-newsletter{max-width:680px;margin:30px auto 0;padding-top:24px;border-top:1px solid rgba(90,50,45,.18);text-align:left}
.eshop-inline-newsletter h3{margin:0 0 8px;text-align:center}
.eshop-inline-newsletter>p{margin:0 auto 20px;max-width:600px;text-align:center}
.eshop-inline-newsletter .fs-form{max-width:560px;margin:0 auto}

/* Form: campi singoli sempre a tutta larghezza anche su desktop */
.fs-form label:has(input[name="subject"]),
.newsletter-form label:has(input[type="email"]),
.eshop-card-newsletter label:has(input[type="email"]) {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.fs-form input[name="subject"],
.newsletter-form input[type="email"],
.eshop-card-newsletter input[type="email"] {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

/* Studio */
.studio-list .event-card{min-height:360px}
.studio-list .event-card>.event-copy:only-child{grid-column:1/-1}
.studio-list .contact-map{min-height:360px}
@media(max-width:800px){.studio-list .event-card{min-height:0}.studio-list .contact-map{min-height:300px}}

/* Action links inside Dove comprare cards */
.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;align-items:center}
.detail-actions [hidden]{display:none!important}
.dove-event-actions span:not([hidden]){display:inline-flex}


/* 2026-10-03 — fallback grafico per sezioni senza immagine.
   Se un'immagine non è impostata in Lektor, l'area visuale resta presente
   e mostra il titolo della sezione in grande, invece di apparire vuota. */
.media-empty{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%,rgba(255,255,255,.62),transparent 34%),
    linear-gradient(135deg,#f2e8da 0%,#e7d6c5 46%,#d9c2b0 100%)!important;
}
.media-empty::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(123,41,48,.18);
  pointer-events:none;
  z-index:1;
}
.media-fallback-title{
  position:relative;
  z-index:2;
  max-width:88%;
  padding:32px;
  color:#7b2930;
  text-align:center;
  font:400 clamp(2.3rem,5vw,5rem)/.96 Palatino,Georgia,serif;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.feature-image.media-empty,.about-hero-image.media-empty,.about-photo.media-empty,.event-image.media-empty,.service-image.media-empty{
  filter:none;
}
.feature-image.media-empty::after,.about-hero-image.media-empty::after,.about-photo.media-empty::after,.event-image.media-empty::after,.service-image.media-empty::after{
  background:linear-gradient(135deg,rgba(255,250,243,.22),rgba(123,41,48,.045));
}
.carousel .slide.media-empty{
  background:linear-gradient(120deg,#071d34 0%,#15344e 52%,#7b2930 140%)!important;
}
.carousel .slide.media-empty::before{
  border-color:rgba(255,255,255,.22);
}
.carousel .slide.media-empty>div{
  position:relative;
  z-index:2;
}
.carousel .slide.media-empty h2{
  font-size:clamp(3.2rem,8vw,7.2rem);
  line-height:.92;
  max-width:900px;
}
.gallery button.gallery-no-image{cursor:default;transform:none!important;box-shadow:none!important}
.gallery button.gallery-no-image>span:first-child{display:flex;min-height:280px;width:100%}
.gallery button.gallery-no-image .media-fallback-title{font-size:clamp(2rem,3.5vw,3.4rem)}
.service-image.media-empty{min-height:120px;height:auto;padding:18px}
.service-image.media-empty .media-fallback-title{font-size:clamp(1.6rem,2.5vw,2.4rem);padding:20px}
@media(max-width:800px){
  .media-fallback-title{font-size:clamp(2.1rem,9vw,4rem);padding:24px}
  .carousel .slide.media-empty h2{font-size:clamp(3rem,12vw,5.4rem)}
}

/* 2026-10-04 — ordine mobile uniforme delle sezioni editoriali.
   Su schermi <= 800px l'area visuale viene sempre prima del testo,
   indipendentemente dall'alternanza destra/sinistra usata su desktop. */
@media(max-width:800px){
  .feature-row .feature-image{
    order:1!important;
  }
  .feature-row .feature-text{
    order:2!important;
  }

  .event-card .event-image{
    order:1!important;
  }
  .event-card .event-copy{
    order:2!important;
  }

  .about-split .about-photo{
    order:1!important;
  }
  .about-split .about-copy{
    order:2!important;
  }

  .about-hero .about-hero-image{
    order:1!important;
  }
  .about-hero .about-hero-copy{
    order:2!important;
  }
}
