/* ============================================================
   ARISI TENDE — stile globale (override YOOtheme/UIkit)
   Brief: moderno luminoso · accento ambra caldo · NO rounded · tipografia pulita
   Deploy: /api-proxy/arisi.css  — caricato via modulo Custom HTML su tutte le pagine
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --arisi-accent:      #E08A1E;   /* ambra caldo — il sole */
  --arisi-accent-dark: #C0710E;
  --arisi-ink:         #1C1B19;   /* quasi-nero caldo (testo/titoli) */
  --arisi-muted:       #6E6A64;   /* grigio caldo (testo secondario) */
  --arisi-line:        #E6E1D8;   /* bordi/divider */
  --arisi-sand:        #F6F3EE;   /* sezioni chiare (bianco caldo) */
  --arisi-dark:        #211F1C;   /* superfici scure (footer/hero overlay) */
}

/* ---------- Tipografia ---------- */
body, .uk-base, .tm-page{ font-family:'Inter',-apple-system,Segoe UI,Roboto,sans-serif; color:var(--arisi-ink); }
h1,h2,h3,h4,h5,.uk-h1,.uk-h2,.uk-h3,.uk-heading-small,.uk-heading-medium,.uk-heading-large,.el-title,.uk-logo{
  font-family:'Sora','Inter',sans-serif; letter-spacing:-.01em;
}
h1,.uk-h1,.uk-heading-medium{ font-weight:800; }
h2,.uk-h2{ font-weight:700; }

/* ---------- NO rounded (bordi netti ovunque) ---------- */
*,*::before,*::after{ border-radius:0 !important; }

/* ---------- Accento ambra: bottoni ---------- */
.uk-button-primary{
  background-color:var(--arisi-accent); color:#fff;
  text-transform:none; font-weight:600; letter-spacing:.01em;
  border:0; transition:background-color .2s ease, transform .2s ease;
}
.uk-button-primary:hover,.uk-button-primary:focus{ background-color:var(--arisi-accent-dark); color:#fff; }
.uk-button-secondary{ background-color:var(--arisi-ink); }
.uk-button-secondary:hover{ background-color:#000; }
.uk-button{ text-transform:none; }

/* ---------- Accento: testo, link, decori titolo ---------- */
.uk-text-primary,.uk-text-danger{ color:var(--arisi-accent) !important; }
.uk-text-success{ color:var(--arisi-accent) !important; }   /* uniforma il verde "Portfolio" all'ambra */
a{ color:var(--arisi-accent); }
a:hover{ color:var(--arisi-accent-dark); }
/* linea decorativa sotto gli headline (title_decoration:line) */
.uk-heading-line>span::after,.uk-heading-line>span::before{ border-bottom-color:var(--arisi-line); }

/* ---------- Sezioni ---------- */
.uk-section-muted{ background-color:var(--arisi-sand); }
.uk-section-secondary,.uk-section-primary{ background-color:var(--arisi-dark); }

/* ---------- Navbar pulita ---------- */
.uk-navbar-nav>li>a{
  font-family:'Sora',sans-serif; font-weight:600; font-size:.82rem;
  letter-spacing:.06em; text-transform:uppercase; color:var(--arisi-ink);
}
.uk-navbar-nav>li>a:hover,.uk-navbar-nav>li.uk-active>a{ color:var(--arisi-accent); }
.uk-navbar-nav>li>a::before{ display:none !important; }

/* ---------- Immagini/card: niente rounded, ombra morbida ---------- */
.uk-card, .uk-panel img, .el-image, .uk-overlay{ border-radius:0 !important; }

/* ---------- HERO slideshow ---------- */
.arisi-hero{ position:relative; }
.arisi-hero .uk-overlay-primary{ background:linear-gradient(90deg, rgba(20,18,15,.62) 0%, rgba(20,18,15,.25) 60%, rgba(20,18,15,0) 100%); }
.arisi-hero h1{ color:#fff; font-size:clamp(2.2rem,5vw,4.2rem); line-height:1.02; text-shadow:0 2px 24px rgba(0,0,0,.35); }
.arisi-hero .arisi-hero__sub{ color:#fff; font-size:clamp(1rem,1.6vw,1.35rem); max-width:640px; }
.arisi-hero .arisi-eyebrow{ color:var(--arisi-accent); font-family:'Sora',sans-serif; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; font-size:.8rem; }

/* ---------- Eyebrow generico ---------- */
.arisi-eyebrow{ color:var(--arisi-accent); font-family:'Sora',sans-serif; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; font-size:.8rem; display:inline-block; }

/* ---------- Barra USP ---------- */
.arisi-usp{ background:var(--arisi-ink); color:#fff; }
.arisi-usp .arisi-usp__item{ font-family:'Sora',sans-serif; font-weight:600; font-size:.9rem; letter-spacing:.02em; }
.arisi-usp .arisi-usp__item strong{ color:var(--arisi-accent); }

/* ---------- Card famiglia prodotto (hover immersivo) ---------- */
.arisi-fam{ position:relative; overflow:hidden; display:block; }
.arisi-fam img{ transition:transform .6s cubic-bezier(.2,.6,.2,1); width:100%; height:100%; object-fit:cover; }
.arisi-fam:hover img{ transform:scale(1.06); }
.arisi-fam__label{ position:absolute; left:0; bottom:0; right:0; padding:1.4rem 1.5rem;
  background:linear-gradient(0deg, rgba(20,18,15,.82) 0%, rgba(20,18,15,0) 100%); color:#fff; }
.arisi-fam__label .t{ font-family:'Sora',sans-serif; font-weight:700; font-size:1.25rem; }
.arisi-fam__label .go{ color:var(--arisi-accent); font-weight:600; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; }

/* ============================================================
   SCHEDA PRODOTTO
   ============================================================ */
.ap-hero{ position:relative; min-height:46vh; display:flex; align-items:flex-end; background-size:cover; background-position:center; }
.ap-hero__ov{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,18,15,.92) 0%, rgba(20,18,15,.35) 100%); }
.ap-hero__in{ position:relative; max-width:1500px; margin:0 auto; width:100%; padding:0 clamp(18px,4vw,70px) clamp(28px,4vw,52px); }
.ap-bc{ font-family:'Inter'; font-size:.85rem; color:#d8d2c8; margin-bottom:14px; }
.ap-bc a{ color:#d8d2c8; text-decoration:none; } .ap-bc a:hover{ color:#E08A1E; }
.ap-bc em{ color:#fff; font-style:normal; } .ap-bc span{ opacity:.6; margin:0 4px; }
.ap-ey{ color:#E08A1E; font-family:'Sora'; font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:.78rem; }
.ap-hero h1{ color:#fff; font-family:'Sora'; font-weight:800; font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; margin:.18em 0 0; }
.ap-detail__in{ max-width:1500px; margin:0 auto; padding:clamp(40px,5vw,72px) clamp(18px,4vw,70px);
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,4vw,60px); align-items:start; }
.ap-media img{ width:100%; height:auto; box-shadow:0 24px 60px rgba(20,18,15,.16); }
.ap-info .ap-ey{ display:block; margin-bottom:12px; }
.ap-desc{ font-family:'Inter'; color:#4b4740; line-height:1.7; font-size:1.03rem; }
.ap-desc p{ margin:0 0 1em; } .ap-desc strong{ color:#1C1B19; }
.ap-desc table{ width:100%; border-collapse:collapse; margin:1.2em 0; font-size:.9rem; }
.ap-desc table td, .ap-desc table th{ border:1px solid #e6e1d8; padding:8px 12px; text-align:left; }
.ap-desc table th, .ap-desc table tr:first-child td{ background:#F6F3EE; font-weight:600; color:#1C1B19; }
.ap-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.ah-btn--ghost2{ background:transparent; color:#1C1B19; border:2px solid #1C1B19; }
.ah-btn--ghost2:hover{ background:#1C1B19; color:#fff; }
.ap-cta{ background:#F6F3EE; }
.ap-cta__in{ max-width:900px; margin:0 auto; padding:clamp(40px,5vw,70px) clamp(18px,4vw,70px); text-align:center; }
.ap-cta h2{ font-family:'Sora'; font-weight:800; font-size:clamp(1.6rem,3vw,2.4rem); color:#1C1B19; margin:0 0 .4em; }
.ap-cta h2 span{ color:#E08A1E; }
.ap-cta p{ color:#6E6A64; font-size:1.05rem; margin:0 auto 1.6em; max-width:54ch; }
/* finiture & colori */
.ap-fin__in{ max-width:1500px; margin:0 auto; padding:clamp(34px,4vw,62px) clamp(18px,4vw,70px); }
.ap-h2{ font-family:'Sora'; font-weight:800; font-size:clamp(1.5rem,2.6vw,2.1rem); color:#1C1B19; margin:.2em 0 1em; }
.ap-fin__cols{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,50px); }
.ap-fin__block h4{ font-family:'Sora'; font-weight:700; font-size:1.05rem; margin:0 0 14px; color:#1C1B19; }
.ap-fin__block p{ color:#4b4740; line-height:1.7; }
.ap-sw{ display:flex; flex-wrap:wrap; gap:16px 18px; }
.ap-sw span{ display:flex; flex-direction:column; align-items:center; gap:7px; font-family:'Inter'; font-size:.78rem; color:#4b4740; width:62px; text-align:center; }
.ap-sw i{ width:42px; height:42px; background:var(--c); border:1px solid rgba(0,0,0,.14); display:block; }
.ap-note{ margin-top:14px; font-size:.84rem; color:#8a857c; }
/* prodotti correlati */
.ap-rel{ background:#F6F3EE; }
.ap-rel__in{ max-width:1500px; margin:0 auto; padding:clamp(34px,4vw,62px) clamp(18px,4vw,70px); }
.ap-rel__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ap-rel__card{ background:#fff; text-decoration:none; display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(20,18,15,.08); transition:transform .25s, box-shadow .25s; }
.ap-rel__card:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(20,18,15,.14); }
.ap-rel__img{ aspect-ratio:4/3; background-size:cover; background-position:center; background-color:#eee; }
.ap-rel__t{ font-family:'Sora'; font-weight:700; color:#1C1B19; padding:14px 16px 2px; font-size:1rem; }
.ap-rel__go{ color:#E08A1E; font-family:'Sora'; font-weight:600; font-size:.78rem; padding:2px 16px 16px; text-transform:uppercase; letter-spacing:.06em; }
@media(max-width:860px){ .ap-detail__in{ grid-template-columns:1fr; } .ap-fin__cols{ grid-template-columns:1fr; } .ap-rel__grid{ grid-template-columns:1fr 1fr; } }

/* ---------- Griglia prodotti nelle pagine categoria ---------- */
.acat-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:18px; margin:26px 0 6px; }
.acat-card{ background:#fff; text-decoration:none; display:flex; flex-direction:column; border:1px solid #ece7df; box-shadow:0 8px 24px rgba(20,18,15,.07); transition:transform .25s, box-shadow .25s; }
.acat-card:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(20,18,15,.13); }
.acat-card__img{ aspect-ratio:4/3; background-size:cover; background-position:center; background-color:#f2efe9; }
.acat-card__t{ font-family:'Sora'; font-weight:700; color:#1C1B19; padding:13px 15px 2px; font-size:.98rem; line-height:1.25; margin:0; }
.acat-card__go{ color:#E08A1E; font-family:'Sora'; font-weight:600; font-size:.74rem; padding:4px 15px 15px; text-transform:uppercase; letter-spacing:.06em; margin-top:auto; }

/* ---------- Header pagina categoria (gradiente + linea raccordante) ---------- */
.uk-panel:has(.acat-head) > h2{ display:none; }                                   /* via il titolo default duplicato */
.tm-main .uk-panel:has(.acat-head){ padding-top:clamp(26px,3vw,48px) !important; } /* stacco elegante dall'header */
.acat-head{ position:relative; overflow:hidden; background-size:cover; background-position:center; margin:0 0 32px; box-shadow:0 16px 42px rgba(20,18,15,.18); }
.acat-head::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(20,18,15,.90) 0%,rgba(20,18,15,.62) 44%,rgba(28,24,20,.28) 100%); }
.acat-head__in{ position:relative; z-index:1; padding:clamp(26px,3vw,44px) clamp(26px,3vw,46px) clamp(26px,3vw,44px) clamp(44px,4.5vw,64px); }
.acat-head__in::before{ content:""; position:absolute; left:clamp(22px,2.6vw,34px); top:clamp(30px,3.2vw,48px); bottom:clamp(30px,3.2vw,48px); width:3px; background:var(--arisi-accent); }
.acat-head__ey{ display:block; color:#F0A94A; font-family:'Sora'; font-weight:600; font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:9px; }
.acat-head__t{ color:#fff; font-family:'Sora'; font-weight:700; font-size:clamp(1.3rem,2vw,1.8rem); line-height:1.14; margin:0 0 .55em; }
.acat-head__d{ color:#dad4c9; font-size:1rem; line-height:1.72; max-width:74ch; }
.acat-head__d p{ margin:0; }
.acat-gtitle{ font-family:'Sora'; font-weight:700; color:#1C1B19; font-size:clamp(1.05rem,1.5vw,1.28rem); margin:2px 0 16px; }

/* ---------- Landing famiglia ---------- */
.afam-hero__sub{ color:#fff; font-size:clamp(1rem,1.8vw,1.3rem); max-width:660px; margin:12px 0 0; line-height:1.5; opacity:.96; }
.afam-intro{ max-width:960px; margin:0 auto; padding:clamp(40px,5vw,72px) clamp(18px,4vw,24px) 4px; text-align:center; }
.afam-intro h2{ font-family:'Sora'; font-weight:800; color:#1C1B19; font-size:clamp(1.5rem,3vw,2.3rem); margin:.35em 0 .55em; line-height:1.15; }
.afam-intro p{ color:#4a463f; font-size:1.07rem; line-height:1.75; margin:0; }
.afam-subs{ max-width:1320px; margin:0 auto; padding:clamp(24px,3vw,44px) clamp(18px,4vw,42px) clamp(44px,5vw,74px); }
.afam-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr)); gap:22px; }
.afam-card{ position:relative; display:block; text-decoration:none; overflow:hidden; min-height:250px; box-shadow:0 12px 32px rgba(20,18,15,.12); }
.afam-card__img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .55s ease; }
.afam-card:hover .afam-card__img{ transform:scale(1.07); }
.afam-card__ov{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,15,.02) 35%,rgba(20,18,15,.78)); }
.afam-card__t{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 24px; }
.afam-card__t span{ display:block; color:#F0A94A; font-family:'Sora'; font-weight:600; font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:4px; }
.afam-card__t b{ color:#fff; font-family:'Sora'; font-weight:700; font-size:1.32rem; line-height:1.15; }

/* ---------- Pagine istituzionali: Chi siamo ---------- */
.acs-sec{ max-width:1000px; margin:0 auto; padding:clamp(40px,5vw,72px) clamp(18px,4vw,24px) clamp(8px,2vw,16px); }
.acs-sec h2{ font-family:'Sora'; font-weight:800; color:#1C1B19; font-size:clamp(1.5rem,3vw,2.2rem); margin:.1em 0 .55em; line-height:1.15; }
.acs-sec .ap-ey{ display:block; margin-bottom:8px; }
.acs-sec p{ color:#4a463f; font-size:1.06rem; line-height:1.78; margin:0 0 1em; }
.acs-sec p:last-child{ margin-bottom:0; }
.acs-wrap-sand{ background:#F6F3EE; }
.acs-feat{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px; margin-top:30px; }
.acs-feat > div{ background:#fff; border:1px solid #ece7df; padding:26px 24px; box-shadow:0 8px 24px rgba(20,18,15,.06); }
.acs-feat h3{ font-family:'Sora'; font-weight:700; color:#1C1B19; font-size:1.08rem; margin:0 0 .45em; }
.acs-feat p{ font-size:.97rem; margin:0; line-height:1.6; }
.acs-feat .n{ color:#E08A1E; font-family:'Sora'; font-weight:800; font-size:1.05rem; display:block; margin-bottom:10px; letter-spacing:.04em; }

/* ---------- Pagina Contatti ---------- */
.act-wrap{ max-width:1300px; margin:0 auto; padding:clamp(40px,5vw,70px) clamp(18px,4vw,40px); display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(28px,4vw,56px); align-items:start; }
@media(max-width:860px){ .act-wrap{ grid-template-columns:1fr; } }
.act-info h2,.act-form h2{ font-family:'Sora'; font-weight:800; color:#1C1B19; font-size:clamp(1.3rem,2.2vw,1.7rem); margin:0 0 .3em; }
.act-info > p{ color:#4a463f; line-height:1.7; margin:0 0 1.2em; }
.act-info ul{ list-style:none; margin:0; padding:0; }
.act-info li{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #ece7df; color:#2a2620; font-size:1.02rem; line-height:1.5; }
.act-info li b{ font-family:'Sora'; color:#1C1B19; display:block; }
.act-info a{ color:#E08A1E; text-decoration:none; }
.act-ico{ color:#E08A1E; flex:0 0 20px; font-weight:700; }
.act-form{ background:#F6F3EE; padding:clamp(24px,3vw,40px); }
.act-form label{ display:block; font-family:'Sora'; font-weight:600; color:#1C1B19; font-size:.84rem; margin:14px 0 6px; }
.act-form input[type=text],.act-form input[type=email],.act-form input[type=tel],.act-form textarea{ width:100%; border:1px solid #d9d2c6; background:#fff; padding:12px 14px; font-family:inherit; font-size:1rem; color:#1C1B19; }
.act-form input:focus,.act-form textarea:focus{ outline:none; border-color:#E08A1E; box-shadow:0 0 0 3px rgba(224,138,30,.14); }
.act-form textarea{ min-height:130px; resize:vertical; }
.act-priv{ display:flex; gap:10px; align-items:flex-start; margin-top:16px; font-size:.84rem; color:#6a655c; line-height:1.45; }
.act-priv input{ width:auto; margin-top:3px; flex:0 0 auto; }
.act-priv a{ color:#E08A1E; }
.act-btn{ margin-top:18px; background:#E08A1E; color:#fff; border:0; font-family:'Sora'; font-weight:700; font-size:1rem; padding:14px 30px; cursor:pointer; transition:background .2s; }
.act-btn:hover{ background:#c0740c; }
.act-btn:disabled{ opacity:.6; cursor:default; }
.act-msg{ margin-top:14px; padding:12px 16px; font-size:.95rem; display:none; }
.act-msg.ok{ display:block; background:#e8f3e6; color:#2b6a2b; }
.act-msg.err{ display:block; background:#f8e6e6; color:#a33; }
.act-hon{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.act-map iframe{ width:100%; height:440px; border:0; display:block; }

/* ---------- Divider accento ---------- */
.arisi-accent-rule{ width:56px; height:4px; background:var(--arisi-accent); border:0; margin:0; }

/* ---------- Logo: dimensione equilibrata, menu su una riga ---------- */
.tm-header .uk-logo img,
.uk-navbar-item .uk-logo img,
.uk-logo img{ height:62px !important; width:auto !important; }
.tm-header-mobile .uk-logo img{ height:46px !important; width:auto !important; }
.uk-logo{ padding:8px 0; }
.tm-header .uk-navbar-right{ margin-left:24px; }
.uk-navbar-nav>li>a{ font-size:.82rem; padding:0 14px; }
/* navbar più alta: il logo (62px) sta dentro, la riga ambra non lo tocca */
.tm-header .uk-navbar-container{ min-height:98px; }
.tm-header .uk-navbar-left>.uk-navbar-item,
.tm-header .uk-logo,
.tm-header .uk-navbar-nav>li>a{ min-height:98px; }
.uk-navbar-nav>li>a::before{ bottom:26px; }

/* ============================================================
   MENU elegante
   ============================================================ */
/* header sticky + sfondo che appare allo scroll */
.tm-header{ position:sticky; top:0; z-index:980; background:#fff;
  box-shadow:0 1px 0 rgba(20,18,15,.06); transition:box-shadow .3s, background .3s; }
.tm-header.uk-active, .tm-header:hover{ box-shadow:0 6px 24px rgba(20,18,15,.08); }

/* voci principali */
.tm-header .uk-navbar-nav > li > a{
  font-family:'Sora'; font-weight:600; font-size:.82rem; letter-spacing:.09em;
  text-transform:uppercase; color:#1C1B19; padding:0 20px; gap:7px;
}
.tm-header .uk-navbar-nav > li:hover > a,
.tm-header .uk-navbar-nav > li.uk-active > a{ color:#E08A1E; }
/* freccetta sulle voci con sottomenu */
.tm-header .uk-navbar-nav > li.uk-parent > a::after{
  content:''; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:transform .25s; margin-top:-3px; opacity:.6; }
.tm-header .uk-navbar-nav > li.uk-parent:hover > a::after{ transform:rotate(-135deg); margin-top:2px; opacity:1; }

/* dropdown sottocategorie: elegante */
.tm-header .uk-navbar-dropdown{
  background:#fff; box-shadow:0 24px 60px rgba(20,18,15,.16); border-top:3px solid #E08A1E;
  padding:16px 0; min-width:300px; margin-top:0; }
.tm-header .uk-navbar-dropdown-nav > li > a{
  font-family:'Inter'; font-weight:500; font-size:.92rem; color:#4b4740;
  padding:9px 28px; display:block; transition:color .15s, background .15s, padding .2s; text-transform:none; letter-spacing:0; }
.tm-header .uk-navbar-dropdown-nav > li > a:hover{ color:#E08A1E; background:#F8F5F0; padding-left:34px; }
.tm-header .uk-navbar-dropdown-nav > li > a::before{ display:none; }
/* dropdown a 2 colonne quando ha molte voci (tapparelle, tecniche) */
.tm-header .uk-navbar-dropdown.uk-navbar-dropdown-width-2{ min-width:560px; }
.tm-header .uk-navbar-dropdown-grid > * + *{ border-left:1px solid #efe9df; }

/* ---------- MEGA MENU full-width con icone ---------- */
.arisi-mega-on .tm-header .uk-navbar-dropdown{ display:none !important; }  /* nascondi dropdown nativi */
.arisi-mega{ position:absolute; left:0; right:0; top:100%; background:#fff;
  border-top:3px solid #E08A1E; box-shadow:0 26px 54px rgba(20,18,15,.15);
  display:none; z-index:970; }
.arisi-mega.is-open{ display:block; }
.arisi-mega__panel{ display:none; }
.arisi-mega__grid2{ max-width:1500px; margin:0 auto; padding:26px clamp(18px,4vw,70px);
  display:grid; grid-template-columns:1fr 380px; gap:36px; align-items:start; }
.arisi-mega__list{ display:grid; grid-template-columns:repeat(3,1fr); gap:4px 16px; align-content:start; }
.arisi-mega__item{ display:flex; align-items:center; gap:13px; padding:8px 10px;
  color:#2b2823; text-decoration:none; transition:background .15s,color .15s; }
.arisi-mega__item:hover{ background:#F6F3EE; color:#C0710E; }
.arisi-mega__thumb{ width:54px; height:42px; flex:0 0 54px; background-size:cover; background-position:center;
  box-shadow:0 2px 8px rgba(20,18,15,.14); transition:transform .25s; }
.arisi-mega__item:hover .arisi-mega__thumb{ transform:scale(1.06); }
.arisi-mega__t{ font-family:'Inter'; font-weight:500; font-size:.9rem; line-height:1.22; }
/* large card featured a destra */
.arisi-mega__feat{ position:relative; display:block; min-height:260px; height:100%;
  background-size:cover; background-position:center; overflow:hidden; text-decoration:none; }
.arisi-mega__feat-ov{ position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(20,18,15,.88) 0%, rgba(20,18,15,.15) 70%); transition:background .3s; }
.arisi-mega__feat:hover .arisi-mega__feat-ov{ background:linear-gradient(0deg, rgba(192,113,14,.92) 0%, rgba(20,18,15,.2) 75%); }
.arisi-mega__feat-c{ position:absolute; left:0; right:0; bottom:0; padding:24px; color:#fff; }
.arisi-mega__feat-c .e{ display:block; color:#E08A1E; font-family:'Sora'; font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:.72rem; }
.arisi-mega__feat:hover .arisi-mega__feat-c .e{ color:#fff; }
.arisi-mega__feat-c .t{ display:block; font-family:'Sora'; font-weight:800; font-size:1.55rem; line-height:1.05; margin:5px 0 10px; }
.arisi-mega__feat-c .cta{ display:inline-block; font-family:'Sora'; font-weight:600; font-size:.85rem; }

/* ---------- Via HOME dal menu (il logo fa da home) ---------- */
.tm-header .uk-navbar-nav > li:first-child,
.tm-headerbar .uk-navbar-nav > li:first-child,
.uk-offcanvas .uk-nav > li:first-child{ display:none !important; }

/* ---------- FOOTER ---------- */
.af{ background:#1C1B19; color:#cfc8bd; margin-top:0; }
.af__wrap{ max-width:1500px; margin:0 auto; padding:clamp(44px,5vw,72px) clamp(18px,4vw,70px) 28px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:40px; }
.af h4{ font-family:'Sora'; font-weight:700; color:#fff; font-size:1rem; letter-spacing:.04em; margin:0 0 16px; }
.af a{ color:#cfc8bd; text-decoration:none; display:block; padding:5px 0; font-size:.95rem; transition:.15s; }
.af a:hover{ color:#E08A1E; }
.af__logo img{ height:54px; width:auto; margin-bottom:16px; }
.af__desc{ font-size:.95rem; line-height:1.6; max-width:36ch; }
.af__ci{ font-size:.95rem; line-height:1.7; } .af__ci b{ color:#fff; font-weight:600; } .af__accent{ color:#E08A1E; }
.af__bar{ border-top:1px solid #35322d; }
.af__bar div{ max-width:1500px; margin:0 auto; padding:18px clamp(18px,4vw,70px);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.82rem; color:#8a857c; }
.af__credit{ text-align:center; padding:12px 16px 20px; font-family:'Inter'; font-size:.8rem; color:#6b665e; letter-spacing:.02em; }
.af__credit span{ color:#E08A1E; font-weight:600; }
@media(max-width:960px){ .af__wrap{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .af__wrap{ grid-template-columns:1fr; } }

/* ---------- Spazi: i miei blocchi gestiscono il padding, azzero quello YOOtheme ---------- */
/* la sezione 'top' conteneva solo il <link> CSS ma occupava spazio → nascondere (il CSS si carica comunque) */
.tm-top{ display:none !important; }
.tm-main{ padding-top:0 !important; margin-top:0 !important; }
/* le sezioni della home gestiscono il padding internamente (ah-*): azzero quello UIkit */
.uk-section-default.uk-section{ padding-top:0 !important; padding-bottom:0 !important; }
.tm-main .uk-section{ padding-top:0 !important; padding-bottom:0 !important; }
.tm-main > div > .uk-container,
.tm-main .uk-section > .uk-container{ padding-top:0 !important; padding-bottom:0 !important; }
.tm-main .uk-grid{ margin:0 !important; }
.tm-main .uk-grid > .uk-width-1-1,
.tm-main .uk-grid > [class*="uk-width"]{ padding-top:0 !important; padding-bottom:0 !important; }
.tm-main .uk-panel{ margin:0 !important; }

/* ---------- Gallery realizzazioni: mosaico armonico + lightbox ---------- */
.ah-gal{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:210px; gap:12px; grid-auto-flow:dense; }
.ah-gal a{ position:relative; overflow:hidden; display:block; }
.ah-gal img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.6,.2,1); }
.ah-gal a:hover img{ transform:scale(1.08); }
.ah-gal a.big{ grid-column:span 2; grid-row:span 2; }
.ah-gal a.wide{ grid-column:span 2; }
.ah-gal a::after{ content:""; position:absolute; inset:0; background:rgba(20,18,15,0); transition:background .3s; }
.ah-gal a:hover::after{ background:rgba(20,18,15,.12); }
@media(max-width:960px){ .ah-gal{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; } .ah-gal a.big{ grid-column:span 2; grid-row:span 2; } .ah-gal a.wide{ grid-column:span 2; } }
@media(max-width:560px){ .ah-gal{ grid-template-columns:1fr; grid-auto-rows:220px; } .ah-gal a.big,.ah-gal a.wide{ grid-column:span 1; grid-row:span 1; } }

/* ---------- SITO FULL WIDTH ---------- */
.uk-container,
.tm-header .uk-container,
.uk-container-large,
.uk-container-xlarge{
  max-width:none !important;
  padding-left:clamp(18px,3.5vw,64px) !important;
  padding-right:clamp(18px,3.5vw,64px) !important;
}

/* Fasce edge-to-edge (full-bleed): escono dal padding del container e arrivano al bordo */
.ah-hero,.ah-usp,.ah-why-wrap,.ah-partner,.ah-cta,
.ap-hero,.ap-rel,.ap-cta{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  max-width:100vw !important;
}
.tm-main{ overflow-x:hidden; }

/* ---- Privacy policy / pagine legali ---- */
.apriv{ }
.apriv h2{ font-family:'Sora'; font-weight:800; color:#1C1B19; font-size:clamp(1.25rem,2.4vw,1.6rem); margin:1.6em 0 .5em; line-height:1.2; }
.apriv h2:first-child{ margin-top:0; }
.apriv h3{ font-family:'Sora'; font-weight:700; color:#1C1B19; font-size:1.05rem; margin:1.1em 0 .4em; }
.apriv p{ color:#4a463f; font-size:1.03rem; line-height:1.78; margin:0 0 1em; }
.apriv ul{ margin:0 0 1.1em; padding-left:1.25em; color:#4a463f; line-height:1.72; }
.apriv ul li{ margin:.3em 0; }
.apriv a{ color:#E08A1E; text-decoration:underline; }
.apriv a:hover{ color:#b96d12; }
.apriv .apriv__upd{ color:#8a8578; font-size:.92rem; margin-top:2.2em; }

/* ============ COOKIE CONSENT "a tapparella" (.acc) ============ */
.acc{ position:fixed; left:50%; bottom:0; transform:translateX(-50%);
  width:min(560px,94vw); z-index:2147483000; display:flex; flex-direction:column;
  pointer-events:none; --open:0; --deg:0deg; --full:320px; font-family:'Inter',sans-serif; }
.acc__panel,.acc__box{ pointer-events:auto; }

/* tapparella che si alza: pannello che cresce dal basso */
.acc__panel{ position:relative; height:calc(var(--open) * var(--full)); overflow:hidden;
  background:#fff; border:1px solid #e6e0d6; border-bottom:0;
  box-shadow:0 -18px 50px rgba(20,18,15,.22); }
/* rail inferiore della tapparella (bordo di trascinamento, in testa al pannello che sale) */
.acc__panel::before{ content:""; position:absolute; top:0; left:0; right:0; height:9px; z-index:4;
  background:linear-gradient(#f2b45a,#E08A1E 45%,#b96d12); box-shadow:0 2px 6px rgba(0,0,0,.25); }
/* stecche della tapparella: visibili mentre è abbassata, svaniscono da aperta */
.acc__panel::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
  opacity:calc(1 - var(--open));
  background:repeating-linear-gradient(180deg, rgba(42,46,49,.10) 0 13px, rgba(42,46,49,.20) 13px 15px); }
.acc__content{ position:absolute; left:0; right:0; bottom:0; box-sizing:border-box;
  padding:22px 22px 20px; }
.acc__t{ font-family:'Sora'; font-weight:800; color:#1C1B19; font-size:1.18rem; margin:0 0 .4em; line-height:1.2; }
.acc__d{ color:#4a463f; font-size:.95rem; line-height:1.6; margin:0 0 14px; }
.acc__d a{ color:#E08A1E; text-decoration:underline; }
.acc__x{ position:absolute; top:8px; right:10px; z-index:5; background:none; border:0;
  font-size:1.5rem; line-height:1; color:#8a8578; cursor:pointer; }
.acc__x:hover{ color:#1C1B19; }

/* categorie + switch */
.acc__cats{ margin:0 0 14px; border-top:1px solid #eee7db; }
.acc__cat{ display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:11px 2px; border-bottom:1px solid #eee7db; cursor:pointer; }
.acc__cat b{ display:block; font-family:'Sora'; font-weight:700; color:#1C1B19; font-size:.95rem; }
.acc__cat em{ display:block; font-style:normal; color:#8a8578; font-size:.82rem; margin-top:2px; }
.acc__sw{ flex:0 0 auto; width:42px; height:23px; border-radius:999px; background:#cfc8ba;
  position:relative; transition:background .2s; }
.acc__sw input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.acc__sw::after{ content:""; position:absolute; top:2px; left:2px; width:19px; height:19px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:left .2s; }
.acc__sw:has(input:checked),.acc__sw.is-on{ background:#E08A1E; }
.acc__sw:has(input:checked)::after,.acc__sw.is-on::after{ left:21px; }
.acc__sw.is-lock{ background:#9EA2A2; opacity:.9; }

.acc__acts{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.acc__acts .ah-btn{ font-size:.9rem; padding:11px 18px; }
.acc-cust{ background:none; border:0; color:#1C1B19; text-decoration:underline; cursor:pointer;
  font-family:'Inter'; font-size:.9rem; margin-left:auto; }
.acc-cust:hover{ color:#E08A1E; }

/* cassonetto + manovella */
.acc__box{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  height:62px; padding:0 14px 0 20px;
  background:linear-gradient(#2c3033,#202325); border-top:3px solid #E08A1E;
  box-shadow:0 -6px 24px rgba(20,18,15,.28); }
.acc__hint{ color:#e8e4dc; font-size:.9rem; font-weight:500; letter-spacing:.01em; }
.acc__crank{ position:relative; width:46px; height:46px; flex:0 0 auto; cursor:grab;
  touch-action:none; user-select:none; -webkit-user-select:none; border-radius:50%; outline:none; }
.acc.is-grab .acc__crank{ cursor:grabbing; }
.acc__crank:focus-visible{ box-shadow:0 0 0 3px rgba(224,138,30,.6); }
.acc__hub{ position:absolute; top:50%; left:50%; width:18px; height:18px; transform:translate(-50%,-50%);
  border-radius:50%; background:radial-gradient(circle at 35% 35%,#f6c87e,#E08A1E 70%);
  box-shadow:0 0 0 3px #15171a, 0 0 0 4px #3a3f43; z-index:2; }
.acc__arm{ position:absolute; top:50%; left:50%; width:7px; height:23px; border-radius:4px;
  background:linear-gradient(#f2b45a,#c9771a); transform-origin:50% 2px;
  transform:translate(-50%,0) rotate(var(--deg)); z-index:1; box-shadow:0 1px 2px rgba(0,0,0,.4); }
.acc__arm::after{ content:""; position:absolute; bottom:-4px; left:50%; width:11px; height:11px;
  transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle at 35% 35%,#f6c87e,#b96d12);
  box-shadow:0 1px 3px rgba(0,0,0,.4); }

/* invito a girare */
@keyframes accNudge{ 0%,100%{ box-shadow:0 0 0 0 rgba(224,138,30,.5);} 50%{ box-shadow:0 0 0 8px rgba(224,138,30,0);} }
.acc.is-nudge:not(.is-grab):not(.is-open) .acc__crank{ animation:accNudge 1.6s ease-out infinite; }

/* chiusura: la tapparella scende di colpo */
.acc.is-done{ transition:transform .6s cubic-bezier(.6,.03,.5,1),opacity .6s; transform:translateX(-50%) translateY(120%); opacity:0; }

@media (max-width:560px){
  .acc__content{ padding:18px 16px; } .acc__t{ font-size:1.06rem; }
  .acc__hint{ font-size:.82rem; } .acc__box{ height:58px; padding:0 12px 0 16px; }
  .acc__acts .ah-btn{ flex:1 1 auto; text-align:center; }
}

/* ---- cookie: stato a riposo (icona) + launcher ---- */
.acc{ display:none; }                      /* override: nascosto finché non espanso */
.acc.is-show{ display:flex; }
.acc__min{ background:none; border:0; color:#cdc9c0; font-size:1rem; line-height:1; cursor:pointer;
  padding:6px 8px; margin-left:-6px; }
.acc__min:hover{ color:#fff; }

.acc-fab{ position:fixed; right:18px; bottom:18px; z-index:2147482000; display:none;
  align-items:center; gap:0; width:54px; height:54px; padding:0; border:0; cursor:pointer;
  background:linear-gradient(#2c3033,#202325); color:#fff; border:2px solid #E08A1E;
  box-shadow:0 8px 24px rgba(20,18,15,.3); transition:transform .15s; }
.acc-fab.is-show{ display:inline-flex; justify-content:center; }
.acc-fab:hover{ transform:translateY(-2px); }
.acc-fab__ic{ font-size:1.5rem; line-height:1; }
.acc-fab__bub{ position:absolute; right:64px; bottom:50%; transform:translateY(50%); white-space:nowrap;
  background:#1C1B19; color:#fff; font-size:.82rem; font-weight:600; padding:7px 12px;
  opacity:0; pointer-events:none; transition:opacity .2s; }
.acc-fab__bub::after{ content:""; position:absolute; right:-5px; top:50%; transform:translateY(-50%);
  border:5px solid transparent; border-left-color:#1C1B19; }
.acc-fab:hover .acc-fab__bub{ opacity:1; }
@keyframes accPulse{ 0%,100%{ box-shadow:0 8px 24px rgba(20,18,15,.3),0 0 0 0 rgba(224,138,30,.55);} 50%{ box-shadow:0 8px 24px rgba(20,18,15,.3),0 0 0 12px rgba(224,138,30,0);} }
.acc-fab.is-nudge{ animation:accPulse 1.8s ease-out infinite; }
.acc-fab.is-nudge .acc-fab__bub{ opacity:1; }
@media (max-width:560px){ .acc-fab{ right:12px; bottom:12px; width:48px; height:48px; } .acc-fab__ic{ font-size:1.3rem; } }

/* ---- cookie: manovella realistica (SVG) — override dimensioni/box ---- */
.acc__crank{ width:62px; height:62px; border-radius:0; }
.acc__svg{ width:100%; height:100%; display:block; overflow:visible;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45)); pointer-events:none; }
.acc__hand{ transform-box:view-box; transform-origin:30px 30px; }  /* fallback; la rotazione la fa l'attributo transform via JS */
.acc__box{ height:76px; }
.acc__hint-ic{ color:#E08A1E; font-weight:700; display:inline-block; }
.acc.is-grab .acc__crank{ cursor:grabbing; }
@media (max-width:560px){ .acc__crank{ width:54px; height:54px; } .acc__box{ height:70px; } }

/* FIX manovella: la rotazione è nell'attributo SVG rotate(deg 30 30) col centro già incluso.
   NON impostare transform-origin (causerebbe doppio offset -> la manovella "vola via"). */
.acc__hand{ transform-box:content-box; transform-origin:0 0; }

/* Alza il cassonetto dal fondo: lascia spazio SOTTO la manovella per il movimento
   circolare completo (altrimenti il mouse finisce sulla barra di Windows e non ruota più). */
.acc{ bottom:96px; }
@media (max-width:560px){ .acc{ bottom:78px; } }

/* FIX DEFINITIVO centro rotazione manovella: transform-box:fill-box + origin center,
   con un cerchio invisibile (r23 @30,30) nel gruppo che centra il bounding box sul perno.
   La rotazione è via CSS transform (style.transform) impostata da JS. */
.acc__hand{ transform-box:fill-box; transform-origin:center; }

/* ============================================================
   VISUALIZZATORE "Progetta la tua tenda" (.aviz-*)
   ============================================================ */
.aviz{ display:grid; grid-template-columns:300px 1fr; gap:22px; align-items:start;
  max-width:1280px; margin:0 auto; padding:8px clamp(16px,4vw,40px) 60px; font-family:'Inter',sans-serif; }
.aviz-side{ display:flex; flex-direction:column; gap:14px; }
.aviz-step{ border:1px solid var(--arisi-line); background:#fff; padding:16px 16px 18px; position:relative; }
.aviz-step h3{ font-family:'Sora',sans-serif; font-size:1rem; margin:0 0 8px; padding-left:34px; }
.aviz-step__n{ position:absolute; left:16px; top:15px; width:24px; height:24px; background:var(--arisi-accent);
  color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:.8rem; display:flex; align-items:center; justify-content:center; }
.aviz-step.aviz-dis{ opacity:.45; pointer-events:none; }
.aviz-adv{ display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid var(--arisi-accent); background:#FFF7EC; cursor:pointer; }
.aviz-adv input{ width:18px; height:18px; accent-color:var(--arisi-accent); flex:0 0 auto; }
.aviz-adv b{ display:block; font-family:'Sora',sans-serif; font-size:.84rem; color:var(--arisi-ink); }
.aviz-adv small{ display:block; font-size:.7rem; color:var(--arisi-muted); }
.aviz-advbox{ border-color:var(--arisi-accent) !important; }
.aviz-advbox .aviz-op{ margin-top:9px; }
.aviz-advreset{ width:100%; margin-top:12px; padding:8px; font-size:.78rem; }
.aviz-hint{ font-size:.8rem; color:var(--arisi-muted); margin:6px 0 0; line-height:1.4; }
.aviz-up,.aviz-up2{ width:100%; margin-top:8px; padding:11px 14px; border:0; background:var(--arisi-ink); color:#fff;
  font-family:'Sora',sans-serif; font-weight:600; font-size:.86rem; cursor:pointer; transition:background .2s; }
.aviz-up:hover,.aviz-up2:hover{ background:#000; }

/* catalogo prodotti (browser reale) */
.aviz-search{ width:100%; padding:9px 12px; border:1px solid var(--arisi-line); background:var(--arisi-sand);
  font-family:inherit; font-size:.86rem; margin:2px 0 10px; }
.aviz-cat{ max-height:300px; overflow:auto; border:1px solid var(--arisi-line); background:#fff; }
.aviz-fam{ border-bottom:1px solid var(--arisi-line); }
.aviz-fam:last-child{ border-bottom:0; }
.aviz-fam>summary{ cursor:pointer; padding:9px 12px; font-family:'Sora',sans-serif; font-weight:600; font-size:.82rem;
  background:var(--arisi-sand); list-style:none; user-select:none; }
.aviz-fam>summary::-webkit-details-marker{ display:none; }
.aviz-fam>summary::before{ content:'▸ '; color:var(--arisi-accent); }
.aviz-fam[open]>summary::before{ content:'▾ '; }
.aviz-sub{ padding:6px 0; }
.aviz-sub__t{ display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--arisi-muted); padding:4px 12px 2px; }
.aviz-item{ display:flex; align-items:center; gap:8px; width:100%; text-align:left; border:0; background:none; cursor:pointer;
  padding:6px 12px; font-size:.82rem; color:var(--arisi-ink); font-family:inherit; }
.aviz-item:hover{ background:var(--arisi-sand); color:var(--arisi-accent-dark); }
.aviz-item__d{ width:11px; height:11px; flex:0 0 auto; border:1px solid rgba(0,0,0,.25); }
.aviz-item__d--bracci{ background:#E0CE9E; } .aviz-item__d--caduta{ background:#C9B98A; }
.aviz-item__d--cappottina{ background:#B5613A; } .aviz-item__d--zanzariera{ background:#9CA0A2; }
.aviz-item__d--tecnica{ background:#36383A; } .aviz-item__d--tapparella{ background:#B9BDBE; }

/* swatches colore */
.aviz-sw{ display:grid; grid-template-columns:repeat(6,1fr); gap:6px; margin-bottom:10px; }
.aviz-swatch{ aspect-ratio:1; border:1px solid rgba(0,0,0,.18); cursor:pointer; transition:transform .12s; }
.aviz-swatch:hover{ transform:scale(1.12); box-shadow:0 0 0 2px var(--arisi-accent); }
.aviz-chk,.aviz-op{ display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--arisi-ink); margin-top:4px; }
.aviz-op{ margin-top:10px; } .aviz-op input{ flex:1; accent-color:var(--arisi-accent); }
.aviz-chk input{ accent-color:var(--arisi-accent); }

/* strumenti manipolazione */
.aviz-tools{ display:flex; flex-wrap:wrap; gap:6px; }
.aviz-tools button{ flex:1; min-width:40px; padding:9px 0; border:1px solid var(--arisi-line); background:#fff;
  font-size:1rem; cursor:pointer; color:var(--arisi-ink); transition:border-color .15s, background .15s; }
.aviz-tools button:hover{ border-color:var(--arisi-accent); background:var(--arisi-sand); }
.aviz-tools .aviz-del:hover{ border-color:#c0392b; color:#c0392b; }

/* palco / foto — STICKY: resta a vista mentre si scorrono i comandi */
.aviz-main{ display:flex; flex-direction:column; gap:12px; position:sticky; top:84px; align-self:start; }
.aviz-stage{ position:relative; background:#eceae6 repeating-linear-gradient(45deg,#f3f1ed 0 12px,#eceae6 12px 24px);
  min-height:420px; border:1px solid var(--arisi-line); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.aviz-drop{ width:100%; height:100%; min-height:420px; display:flex; align-items:center; justify-content:center; }
.aviz-drop.is-over{ outline:3px dashed var(--arisi-accent); outline-offset:-10px; background:#fff; }
.aviz-drop__in{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--arisi-muted); padding:30px; }
.aviz-drop__ic{ font-size:2.6rem; }
.aviz-drop__in strong{ font-family:'Sora',sans-serif; color:var(--arisi-ink); font-size:1.05rem; }
.aviz-drop__in small{ font-size:.72rem; max-width:320px; margin-top:4px; }
.aviz-cw{ position:relative; width:100%; max-height:72vh; }
.aviz-photo{ display:block; width:100%; height:auto; user-select:none; -webkit-user-drag:none; }

/* oggetto prodotto sulla foto (quad warp prospettico) */
.aviz-obj{ position:absolute; touch-action:none; }
.aviz-obj__svg{ width:100%; height:100%; cursor:move; touch-action:none; filter:drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
.aviz-obj__svg svg{ width:100%; height:100%; display:block; }
/* gizmo: maniglie a 4 angoli + rotazione */
.aviz-giz{ position:absolute; inset:0; z-index:9000; pointer-events:none; }
.aviz-ch{ position:absolute; width:20px; height:20px; margin:-10px 0 0 -10px; background:#fff;
  border:2px solid var(--arisi-accent); box-shadow:0 1px 4px rgba(0,0,0,.4); cursor:crosshair; pointer-events:auto; touch-action:none; }
.aviz-ch--rot{ border-radius:50% !important; background:var(--arisi-accent); cursor:grab; }
.aviz-ch--rot::before{ content:'⟳'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; }

/* barra azioni */
.aviz-bar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.aviz-spacer{ flex:1; }
.aviz-ghost{ padding:11px 16px; border:1px solid var(--arisi-line); background:#fff; color:var(--arisi-ink);
  font-family:'Sora',sans-serif; font-weight:600; font-size:.84rem; cursor:pointer; transition:border-color .15s, background .15s; }
.aviz-ghost:hover:not(:disabled){ border-color:var(--arisi-accent); background:var(--arisi-sand); }
.aviz-ghost:disabled{ opacity:.5; cursor:not-allowed; }
.aviz-cta{ padding:12px 22px; border:0; background:var(--arisi-accent); color:#fff;
  font-family:'Sora',sans-serif; font-weight:700; font-size:.88rem; cursor:pointer; transition:background .2s; }
.aviz-cta:hover:not(:disabled){ background:var(--arisi-accent-dark); }
.aviz-cta:disabled{ opacity:.5; cursor:not-allowed; }

/* modal preventivo */
.aviz-modal{ position:fixed; inset:0; z-index:9999; background:rgba(28,27,25,.72); display:flex; align-items:center; justify-content:center; padding:20px; }
.aviz-modal__box{ background:#fff; max-width:760px; width:100%; max-height:92vh; overflow:auto; padding:28px clamp(20px,4vw,38px); position:relative; }
.aviz-modal__x{ position:absolute; right:14px; top:10px; border:0; background:none; font-size:1.8rem; line-height:1; cursor:pointer; color:var(--arisi-muted); }
.aviz-modal__box h2{ font-family:'Sora',sans-serif; margin:0 0 6px; }
.aviz-modal__grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:16px; }
.aviz-modal__img{ width:100%; border:1px solid var(--arisi-line); object-fit:cover; align-self:start; }
.aviz-qform label{ display:block; font-size:.78rem; font-weight:600; color:var(--arisi-ink); margin:10px 0 4px; }
.aviz-qform input[type=text],.aviz-qform input[type=email],.aviz-qform input[type=tel],.aviz-qform textarea{
  width:100%; padding:10px 12px; border:1px solid var(--arisi-line); font-family:inherit; font-size:.9rem; background:var(--arisi-sand); }
.aviz-qform textarea{ min-height:74px; resize:vertical; }
.aviz-qpriv{ display:flex; gap:8px; align-items:flex-start; font-size:.76rem !important; font-weight:400 !important; color:var(--arisi-muted); margin-top:12px; }
.aviz-qpriv input{ accent-color:var(--arisi-accent); margin-top:2px; }
.aviz-qform .aviz-cta{ width:100%; margin-top:14px; }
.aviz-qmsg{ font-size:.82rem; margin-top:10px; min-height:1em; }
.aviz-qmsg.is-err{ color:#c0392b; }
.aviz-hon{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.aviz-ok{ text-align:center; padding:26px 10px; }
.aviz-ok__ic{ display:inline-flex; width:58px; height:58px; align-items:center; justify-content:center;
  background:var(--arisi-accent); color:#fff; font-size:1.8rem; margin-bottom:12px; }
.aviz-ok__close{ margin-top:16px; }
.aviz-qprods{ font-size:.8rem; color:var(--arisi-muted); margin-top:10px; line-height:1.4; }
.aviz-qprods b{ color:var(--arisi-ink); }
/* box misure nel preventivo */
.aviz-mis{ margin:12px 0 2px; }
.aviz-mis__lab{ display:block; font-size:.78rem; font-weight:600; color:var(--arisi-ink); margin-bottom:8px; }
.aviz-mis__lab small{ font-weight:400; color:var(--arisi-muted); }
.aviz-mis__row{ margin-bottom:8px; padding:9px 10px; background:var(--arisi-sand); border:1px solid var(--arisi-line); }
.aviz-mis__n{ display:block; font-size:.8rem; font-weight:600; color:var(--arisi-ink); margin-bottom:6px; }
.aviz-mis__fields{ display:flex; flex-wrap:wrap; gap:6px; }
.aviz-mis__f{ flex:1 1 84px; display:flex; flex-direction:column; gap:2px; font-size:.66rem; color:var(--arisi-muted); font-weight:600; }
.aviz-mis__f--q{ flex:0 1 56px; }
.aviz-mis__f input{ width:100%; padding:8px; border:1px solid var(--arisi-line); font-family:inherit; font-size:.82rem; background:#fff; font-weight:400; }

/* "come funziona" (3 step nella pagina visualizzatore) */
.acs-feat--3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:26px; text-align:left; }
.acs-feat--3>div{ border-top:3px solid var(--arisi-accent); padding-top:14px; }
.acs-feat--3 h3{ font-family:'Sora',sans-serif; font-size:1.02rem; margin:8px 0 6px; }
.acs-feat--3 p{ font-size:.9rem; color:var(--arisi-muted); margin:0; }
.aviz-hownum{ display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center;
  background:var(--arisi-ink); color:#fff; font-family:'Sora',sans-serif; font-weight:700; font-size:.9rem; }
@media (max-width:760px){ .acs-feat--3{ grid-template-columns:1fr; } }

/* responsive */
@media (max-width:860px){
  .aviz{ grid-template-columns:1fr; gap:14px; padding-bottom:40px; }
  .aviz-side{ order:2; } .aviz-main{ order:1; top:52px; background:#fff; z-index:6; padding-bottom:8px; box-shadow:0 12px 18px -12px rgba(0,0,0,.4); }
  .aviz-cw{ max-height:44vh; } .aviz-stage{ min-height:220px; }
  .aviz-drop{ min-height:220px; }
  /* barra azioni compatta: sempre visibile sotto la foto (CTA a portata di pollice) */
  .aviz-spacer{ display:none; }
  .aviz-ghost[data-ai]{ display:none; }                 /* "AI presto" nascosto su mobile per spazio */
  .aviz-bar{ gap:6px; flex-wrap:nowrap; }
  .aviz-ghost,.aviz-cta{ flex:1; padding:12px 6px; font-size:.76rem; text-align:center; }
  /* catalogo: lista più alta e tap target comodi */
  .aviz-cat{ max-height:46vh; }
  .aviz-item{ padding:11px 12px; font-size:.9rem; }
  .aviz-sub__t{ font-size:.72rem; }
  .aviz-fam>summary{ padding:12px; font-size:.88rem; }
  .aviz-search{ padding:12px; font-size:16px; }          /* 16px = niente zoom auto iOS */
  .aviz-swatch{ min-height:34px; }
  .aviz-tools button{ padding:12px 0; font-size:1.1rem; }
  .aviz-modal__grid{ grid-template-columns:1fr; }
  .aviz-modal__img{ max-height:30vh; }
  .aviz-modal__box{ padding:22px 18px; }
}
/* dita invece del mouse: maniglie più grandi e afferrabili */
@media (pointer:coarse){
  .aviz-ch{ width:28px; height:28px; margin:-14px 0 0 -14px; border-width:3px; }
  .aviz-ch--rot::before{ font-size:16px; }
}
