/* ===== Risviel — stile custom (max fedeltà live) ===== */
/* TIPOGRAFIA: Syne titoli, DM Sans testo (come il live) */
body, .brxe-text, .brxe-text *, p, .brxe-container, input, textarea, button { font-family:"DM Sans", sans-serif; }
h1,h2,h3,h4,h5,h6,.brxe-heading { font-family:"Syne", sans-serif !important; font-weight:600; color:#333; letter-spacing:-.01em; }
p, .brxe-text { color:#333; }

/* TOP-BAR scura come il live (#132325) */
.risviel-topbar { background:#132325; color:#c7ccce; font-size:.82rem; }
.risviel-topbar .rtb-inner { max-width:1200px; margin:0 auto; padding:.55rem 1.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.risviel-topbar .rtb-left { display:flex; gap:1.5rem; }
.risviel-topbar a { color:#c7ccce; text-decoration:none; margin-left:1rem; }
.risviel-topbar a:hover { color:var(--primary,#75CDD9); }
@media (max-width:700px){ .risviel-topbar .rtb-sep,.risviel-topbar .rtb-right{display:none;} }

/* HEADER */
.site-header { background:#fff; border-bottom:1px solid #ededed; padding-block:.6rem; }
.site-header > .brxe-container { flex-wrap:nowrap; gap:2rem; }
.site-logo img { max-height:52px; width:auto; }
.header-nav { gap:2rem; align-items:center; }
.header-nav .brxe-nav-menu ul, .header-nav ul { display:flex; flex-wrap:nowrap; gap:1.4rem; align-items:center; list-style:none; margin:0; padding:0; }
.header-nav a { text-decoration:none; color:#333; white-space:nowrap; font-weight:500; }
.header-nav a:hover { color:var(--primary,#75CDD9); }
.header-nav .lang-item a { text-transform:uppercase; font-size:.85rem; }

/* HERO — Syne 100px bianco centrato, sfondo mappa + velo teal */
.hero { background:linear-gradient(rgba(19,60,66,.55),rgba(19,60,66,.55)),
        url('/wp-content/uploads/2024/03/naples_map3.jpg') center/cover no-repeat;
        min-height:66vh; display:flex; align-items:center; padding:180px 0 120px; }
.hero > .brxe-container { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:.5rem; width:100%; }
.hero .brxe-heading { color:#fff !important; text-align:center !important; width:100%; font-size:clamp(3rem,9vw,100px); line-height:.85; font-weight:600; margin:0; }
.hero .brxe-text { color:#fff !important; text-align:center !important; width:100%; max-width:56ch; font-size:1.1rem; }

/* SEZIONI — titoli centrati, colore #333, padding ampio */
.brxe-section:not(footer):not(.hero) { padding-block:110px; }
.brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-heading { width:100%; text-align:center !important; font-size:clamp(2rem,3.5vw,45px); color:#333; }
.brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-text { width:100%; text-align:center !important; color:#6C6A72; }

/* CARD — bianco pulito (come live), sobrio */
.card { background:#fff; border:1px solid #ececec; border-radius:8px; padding:1.75rem; box-shadow:0 4px 18px rgba(0,0,0,.04); }
.card .brxe-heading { margin-top:0; text-align:center !important; width:100%; font-size:1.25rem; }
.card .brxe-text { color:#6C6A72; text-align:center !important; width:100%; }
.project-thumb img, .card img { width:100%; height:190px; object-fit:cover; border-radius:6px; margin-bottom:1rem; }
.flex-grid--4, .flex-grid--3 { gap:1.75rem; }

/* FOOTER scuro */
footer.brxe-section { background:#0f0f0f; color:#c7ccce; padding-block:3.5rem; }
footer .brxe-heading { color:#fff !important; text-align:left !important; font-size:1.05rem; }
footer a, footer .brxe-text { color:#c7ccce; text-decoration:none; text-align:left !important; }
footer a:hover { color:var(--primary,#75CDD9); }
footer .brxe-nav-menu ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }

/* FORM */
.brxe-form { max-width:640px; margin-inline:auto; }
.brxe-form input, .brxe-form textarea, .brxe-form select { width:100%; padding:.8rem 1rem; border:1px solid #dcdcdc; border-radius:8px; margin-bottom:1rem; font-size:1rem; }
.brxe-form textarea { min-height:150px; }
.brxe-form button, .brxe-form [type=submit] { background:var(--action,#438FF2); color:#fff; border:none; padding:.8rem 2.4rem; border-radius:8px; cursor:pointer; font-weight:600; font-size:1rem; font-family:"DM Sans"; }
.brxe-form button:hover { filter:brightness(1.08); }
/* hero size override */
.brxe-section.hero > .brxe-container > .brxe-heading{ font-size:clamp(3rem,9vw,100px) !important; line-height:.85 !important; }

/* BANNER pagine interne */
.risviel-banner{ background:linear-gradient(rgba(15,25,27,.62),rgba(15,25,27,.62)), url('/wp-content/uploads/2024/03/lavori.jpg') center/cover no-repeat; }
.risviel-banner .rb-inner{ max-width:1200px; margin:0 auto; padding:70px 1.5rem; }
.risviel-banner .rb-title{ font-family:'Syne',sans-serif; font-weight:600; color:#fff; font-size:clamp(2.4rem,5vw,64px); margin:0 0 .4rem; text-align:left; }
.risviel-banner .rb-crumb{ color:#dfe3e5; font-family:'DM Sans',sans-serif; font-size:.95rem; }
.risviel-banner .rb-crumb a{ color:#fff; text-decoration:none; }
.risviel-banner .rb-crumb a:hover{ color:var(--primary,#75CDD9); }
.risviel-banner .rb-crumb span{ margin:0 .35rem; color:var(--primary,#75CDD9); }

/* eyebrow / detail / button */
.eyebrow{ text-align:center !important; color:#6C6A72; font-family:'DM Sans',sans-serif; font-size:.9rem; letter-spacing:.18em; text-transform:uppercase; margin-bottom:.4rem; width:100%; }
.detail{ max-width:820px; margin-inline:auto; text-align:center; }
.detail .brxe-heading{ text-align:center !important; }
.detail .brxe-text{ text-align:center !important; color:#6C6A72; }
.btn-more, .brxe-button.btn-more{ display:inline-block; background:var(--action,#438FF2); color:#fff !important; padding:.7rem 2rem; border-radius:8px; text-decoration:none; font-weight:600; margin-top:1rem; border:none; }
.btn-more:hover{ filter:brightness(1.08); }
.detail-sec:nth-of-type(even){ background:#f6f9fa; }
.brxe-code iframe{ display:block; width:100%; }

/* banner left align */
.risviel-banner .rb-title,.risviel-banner .rb-crumb{ text-align:left !important; }

/* card testo a sinistra (servizi informatici) */
.card--left, .card--left .brxe-heading, .card--left .brxe-text, .card--left p{ text-align:left !important; }
.card--left .brxe-heading{ color:var(--primary,#75CDD9); }

/* ==== rifiniture: tendina + icone card ==== */
.header-nav .brxe-nav-menu .sub-menu, .header-nav .sub-menu{ background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.14); border:1px solid #eee; border-radius:10px; padding:.4rem 0; min-width:215px; }
.header-nav .sub-menu li{ list-style:none; margin:0; }
.header-nav .sub-menu a{ color:#333 !important; padding:.6rem 1.2rem !important; display:block; white-space:nowrap; font-weight:500; }
.header-nav .sub-menu a:hover{ background:#f2f8f9; color:var(--primary,#75CDD9) !important; }
.svc-ico{ width:74px !important; height:74px; border-radius:50%; background:var(--primary-ultra-light,#e9f7f9); display:flex !important; align-items:center; justify-content:center; font-size:2rem; line-height:1; margin:0 auto 1.1rem !important; }
.svc-card{ text-align:center; }
.svc-card .brxe-heading{ font-size:1.2rem; }

/* ==== card servizi 2x2 grandi + hover (come live) ==== */
.svc-grid{ max-width:1140px; margin-inline:auto; gap:2rem !important; }
.svc-card{ padding:2.5rem 2rem !important; min-height:300px; display:flex !important; flex-direction:column; align-items:center; justify-content:center; border-radius:12px; box-shadow:0 10px 60px rgba(0,0,0,.10); border:none; transition:transform .38s ease, box-shadow .38s ease, background .3s ease; }
.svc-card:hover{ transform:translateY(-12px); box-shadow:0 26px 70px rgba(0,0,0,.16); }
.svc-ico{ width:88px !important; height:88px; font-size:2.4rem; transition:background .3s ease, transform .38s ease; }
.svc-card:hover .svc-ico{ background:var(--primary,#75CDD9); transform:scale(1.08); }
.svc-card .brxe-heading{ font-size:1.4rem; margin-bottom:.4rem; transition:color .3s ease; }
.svc-card:hover .brxe-heading{ color:var(--primary,#75CDD9); }
.svc-card .brxe-text{ font-size:1.02rem; }
@media (max-width:820px){ .flex-grid--2.svc-grid{ grid-template-columns:1fr; } }

/* ==== CARD SERVIZI 1:1 col live ==== */
.rv-services{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; max-width:1140px; margin:0 auto; }
.rv-scard{ position:relative; min-height:350px; background:#fff; box-shadow:0 10px 60px rgba(0,0,0,.10); overflow:hidden; display:flex; align-items:center; transition:transform .4s ease, box-shadow .4s ease; }
.rv-scard:hover{ transform:translateY(-10px); box-shadow:0 24px 70px rgba(0,0,0,.17); }
.rv-decor{ position:absolute; left:0; top:0; bottom:0; width:250px; overflow:hidden; }
.rv-decor img{ width:100%; height:100%; object-fit:cover; display:block; }
.rv-body{ margin-left:250px; padding:36px 40px; text-align:left; }
.rv-ico{ width:66px; height:66px; border-radius:50%; background:var(--primary-ultra-light,#e9f7f9); display:flex; align-items:center; justify-content:center; margin-bottom:18px; transition:background .3s ease; }
.rv-ico img{ width:34px; height:34px; object-fit:contain; }
.rv-scard:hover .rv-ico{ background:var(--primary,#75CDD9); }
.rv-body h3{ font-family:'Syne',sans-serif; font-weight:600; font-size:1.5rem; color:#333; margin:0 0 10px; }
.rv-logo{ max-width:175px; height:auto; margin-bottom:12px; display:block; }
.rv-body p{ color:#6C6A72; margin:0; font-size:1.02rem; line-height:1.5; }
@media(max-width:820px){ .rv-services{grid-template-columns:1fr;} .rv-decor{width:110px;} .rv-body{margin-left:110px;padding:24px;} }

/* ==== CARD SERVIZI v2 — geometria live (cerchio decor + icona bianca + layout alternato) ==== */
.rv2-wrap{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; max-width:1140px; margin:0 auto; }
.rv2-scard{ position:relative; background:#fff; box-shadow:0 10px 60px rgba(0,0,0,.10); min-height:350px; overflow:hidden; transition:transform .4s ease, box-shadow .4s ease; }
.rv2-scard:hover{ transform:translateY(-10px); box-shadow:0 24px 70px rgba(0,0,0,.16); }
.rv2-body{ position:relative; z-index:2; max-width:54%; padding:44px 40px; }
.rv2-scard.right .rv2-body{ margin-left:auto; }
.rv2-body h3{ font-family:'Syne',sans-serif; font-weight:600; font-size:30px; color:#222; margin:0 0 14px; text-align:left !important; }
.rv2-body p{ color:#6C6A72; font-size:16px; line-height:1.75; margin:0; text-align:left; }
.rv2-logo{ max-width:210px; height:auto; margin:0 0 14px; display:block; }
.rv2-decor{ position:absolute; width:430px; height:430px; border-radius:50%; overflow:hidden; z-index:1; }
.rv2-decor img{ width:100%; height:100%; object-fit:cover; display:block; }
.rv2-i1 .rv2-decor{ right:-80px; bottom:-190px; }
.rv2-i2 .rv2-decor{ left:-80px; bottom:-190px; }
.rv2-i3 .rv2-decor{ right:-80px; bottom:-120px; }
.rv2-i4 .rv2-decor{ left:-80px; bottom:-120px; }
.rv2-ico{ position:absolute; z-index:3; width:88px; height:88px; border-radius:50%; background:#fff; box-shadow:0 8px 30px rgba(0,0,0,.13); display:flex; align-items:center; justify-content:center; transition:transform .35s ease; }
.rv2-scard:hover .rv2-ico{ transform:scale(1.07); }
.rv2-ico img{ width:44px; height:44px; object-fit:contain; }
.rv2-i1 .rv2-ico{ left:56%; top:16%; }
.rv2-i2 .rv2-ico{ left:14%; top:16%; }
.rv2-i3 .rv2-ico{ left:56%; bottom:8%; }
.rv2-i4 .rv2-ico{ left:14%; bottom:8%; }
/* eyebrow con lineetta blu come live */
.eyebrow::after{ content:''; display:inline-block; width:36px; height:2px; background:#438FF2; margin-left:10px; vertical-align:middle; border-radius:2px; }
@media(max-width:900px){ .rv2-wrap{ grid-template-columns:1fr; } .rv2-body{ max-width:70%; } }
/* eyebrow inline con lineetta (fix wrap) */
.eyebrow{ display:flex !important; align-items:center; justify-content:center; gap:10px; }
.eyebrow::after{ margin-left:0; }

/* eyebrow come live: no uppercase, 16px, grigio */
.eyebrow{ text-transform:none !important; letter-spacing:normal !important; font-size:1rem !important; color:#6C6A72 !important; }
/* titolo sezione su due righe come live */
.brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-heading{ max-width:640px; margin-inline:auto; }

/* ==== CARD v3: geometria misurata dal live + hover overlay esatto ==== */
/* decor: le 4 posizioni misurate (formano il cerchio verso il centro griglia) */
.rv2-i1 .rv2-decor{ top:125px; right:-159px; left:auto; bottom:auto; }
.rv2-i2 .rv2-decor{ top:124px; left:0; right:auto; bottom:auto; }
.rv2-i3 .rv2-decor{ top:0; right:-159px; left:auto; bottom:auto; }
.rv2-i4 .rv2-decor{ top:0; left:20px; right:auto; bottom:auto; }
/* z-order: decor(1) < overlay(2) < testo(3) < icona(4) */
.rv2-decor{ z-index:1; }
.rv2-body{ z-index:3; }
.rv2-ico{ z-index:4; }
/* overlay hover: cerchio teal che cresce dall'angolo del decor (regole live) */
.rv2-scard::after{ content:''; position:absolute; inset:0; background:#75CDD9; transform:scale(0); transition:transform .4s ease; z-index:2; pointer-events:none; }
.rv2-i1::after{ transform-origin:right bottom; border-radius:500px; }
.rv2-i2::after{ transform-origin:left bottom; border-radius:0 500px 0 0; }
.rv2-i3::after{ transform-origin:right top; border-radius:0 0 0 500px; }
.rv2-i4::after{ transform-origin:left top; border-radius:0 0 500px 0; }
.rv2-scard:hover::after{ transform:scale(1.5); }
/* comportamento hover live: testo bianco, icona flip, immagine zoom, NIENTE lift */
.rv2-body h3, .rv2-body p{ transition:color .3s ease; }
.rv2-scard:hover .rv2-body h3, .rv2-scard:hover .rv2-body p{ color:#fff !important; }
.rv2-scard:hover .rv2-ico{ transform:rotate(180deg) scale(-1); }
.rv2-decor img{ transition:transform .3s ease; }
.rv2-scard:hover .rv2-decor img{ transform:scale(1.1); }
.rv2-scard:hover{ transform:none; box-shadow:0 10px 60px rgba(0,0,0,.10); }
/* icone: sul cerchio, verso il centro griglia (misurate) */
.rv2-i1 .rv2-ico{ left:70%; top:14%; }
.rv2-i2 .rv2-ico{ left:16%; top:14%; }
.rv2-i3 .rv2-ico{ left:70%; top:auto; bottom:8%; }
.rv2-i4 .rv2-ico{ left:16%; top:auto; bottom:8%; }
/* ==== CARD v4 — codice live ESATTO (quarti di cerchio su spigoli interni, overlay sotto le immagini) ==== */
/* card: 550x350, overflow hidden, padding come live (testo 240px su un lato, decor 270 sull'altro) */
.rv2-scard{ position:relative; overflow:hidden; min-height:350px; background:#fff; box-shadow:0 10px 60px rgba(0,0,0,.10); }
.rv2-scard:hover{ transform:none; box-shadow:0 10px 60px rgba(0,0,0,.10); }
.rv2-i1,.rv2-i3{ padding:0 270px 0 40px; }
.rv2-i2,.rv2-i4{ padding:0 40px 0 270px; }
.rv2-body{ position:relative; z-index:3; max-width:240px; margin:0; padding:55px 0 0 0; }
.rv2-scard.right .rv2-body{ margin-left:0; }
/* decor: QUARTO di cerchio 271x224 ancorato allo spigolo interno, SOPRA l'overlay */
.rv2-decor{ position:absolute; width:271px; height:224px; border-radius:0; overflow:hidden; z-index:2; }
.rv2-i1 .rv2-decor{ top:125px; right:0;  bottom:auto; left:auto; border-radius:400px 0 0 0; }
.rv2-i2 .rv2-decor{ top:125px; left:0;   bottom:auto; right:auto; border-radius:0 400px 0 0; }
.rv2-i3 .rv2-decor{ top:0;     right:0;  bottom:auto; left:auto; border-radius:0 0 0 400px; }
.rv2-i4 .rv2-decor{ top:0;     left:0;   bottom:auto; right:auto; border-radius:0 0 400px 0; }
.rv2-decor img{ width:100%; height:100%; object-fit:cover; transition:transform .3s; }
/* overlay: cresce dallo spigolo interno, SOTTO il decor (z1 < z2) */
.rv2-scard::after{ content:''; position:absolute; inset:0; background:#75CDD9; transform:scale(0); transition:transform .4s; z-index:1; pointer-events:none; }
.rv2-i1::after{ border-radius:500px 0 0 0; transform-origin:right bottom; }
.rv2-i2::after{ border-radius:0 500px 0 0; transform-origin:left bottom; }
.rv2-i3::after{ border-radius:0 0 0 500px; transform-origin:right top; }
.rv2-i4::after{ border-radius:0 0 500px 0; transform-origin:left top; }
.rv2-scard:hover::after{ transform:scale(1.5); }
/* icona: 94px, posizioni live esatte */
.rv2-ico{ position:absolute; z-index:4; width:94px; height:94px; }
.rv2-ico img{ width:46px; height:46px; }
.rv2-i1 .rv2-ico{ top:65px;  left:381px; right:auto; bottom:auto; }
.rv2-i2 .rv2-ico{ top:65px;  left:75px;  right:auto; bottom:auto; }
.rv2-i3 .rv2-ico{ top:191px; left:381px; right:auto; bottom:auto; }
.rv2-i4 .rv2-ico{ top:189px; left:76px;  right:auto; bottom:auto; }
/* hover live: testo bianco, icona flip, img zoom */
.rv2-scard:hover .rv2-body h3, .rv2-scard:hover .rv2-body p{ color:#fff !important; }
.rv2-scard:hover .rv2-ico{ transform:rotate(180deg) scale(-1); }
.rv2-scard:hover .rv2-decor img{ transform:scale(1.1); }
@media(max-width:900px){ .rv2-i1,.rv2-i2,.rv2-i3,.rv2-i4{ padding:0 40px; } .rv2-body{ max-width:60%; } }
/* ==== MINICARD servizi (pagina Servizi) — codice live esatto ==== */
.rv-minis{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; max-width:1170px; margin:0 auto; }
.rv-mini{ position:relative; display:block; background:#75CDD9; box-shadow:0 10px 60px rgba(0,0,0,.07); height:262px; padding:35px 20px 30px; text-align:center; text-decoration:none; overflow:hidden; }
.rv-mini::after{ content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:#fff; z-index:0; transition:300ms linear; }
.rv-mini:hover::after{ height:0; }
.rv-mini-title{ position:relative; z-index:2; font-family:'Syne',sans-serif; font-weight:600; font-size:20px; color:#333; margin:0; transition:300ms linear; text-align:center !important; }
.rv-mini:hover .rv-mini-title{ color:#fff; }
.rv-mini-round{ position:absolute; z-index:1; width:102px; height:102px; border-radius:50%; background:#F4F2F9; left:50%; top:50px; transform:translateX(-50%); transition:300ms linear; }
.rv-mini:hover .rv-mini-round{ opacity:.1; }
.rv-mini-ico{ position:absolute; z-index:2; top:83px; left:50%; transform:translateX(-50%); width:64px; height:64px; object-fit:contain; transition:300ms linear; }
.rv-mini:hover .rv-mini-ico{ filter:brightness(0) invert(1); }
.rv-mini-logo{ position:absolute; z-index:2; top:66px; left:50%; transform:translateX(-50%); width:150px; height:auto; transition:300ms linear; }
.rv-mini:hover .rv-mini-logo{ filter:brightness(0) invert(1); }
.rv-mini-more{ position:absolute; z-index:2; left:0; right:0; bottom:30px; font-family:'DM Sans',sans-serif; font-size:16px; color:#6C6A72; transition:300ms linear; }
.rv-mini:hover .rv-mini-more{ color:#fff; }
@media(max-width:980px){ .rv-minis{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .rv-minis{ grid-template-columns:1fr; } }
/* ==== CARD PROGETTI (project-block live: 360x468, label su immagine, pannello bianco) ==== */
.rv-projects{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; max-width:1140px; margin:0 auto; }
.rv-prj{ position:relative; height:468px; display:block; overflow:hidden; text-decoration:none; }
.rv-prj > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.rv-prj:hover > img{ transform:scale(1.05); }
.rv-prj-label{ position:absolute; left:50px; top:200px; z-index:2; color:#fff; font-family:'DM Sans',sans-serif; font-size:16px; }
.rv-prj-panel{ position:absolute; left:20px; top:226px; z-index:2; width:270px; box-sizing:border-box; background:#fff; padding:24px 35px; display:block; }
.rv-prj-title{ display:block; font-family:'Syne',sans-serif; font-weight:600; font-size:24px; line-height:29px; color:#333; transition:color .3s ease; }
.rv-prj:hover .rv-prj-title{ color:#75CDD9; }
@media(max-width:980px){ .rv-projects{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .rv-projects{ grid-template-columns:1fr; } }
/* ==== HEADER/FOOTER — codice live esatto ==== */
/* topbar */
.risviel-topbar{ background:#132325; color:#c7ccce; font-size:.82rem; font-family:'DM Sans',sans-serif; }
.risviel-topbar .rtb-inner{ max-width:1265px; margin:0 auto; padding:.6rem 1.9rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.risviel-topbar .rtb-left{ display:flex; gap:1.6rem; }
.risviel-topbar .rtb-right{ display:flex; align-items:center; gap:.9rem; }
.risviel-topbar a{ color:#c7ccce; margin:0; display:inline-flex; align-items:center; }
.risviel-topbar a:hover{ color:#75CDD9; }
.rtb-sup{ margin-right:.4rem; }
/* header: logo 140x80, menu DM Sans 17/500, attivo teal */
.site-logo img{ max-height:80px; width:auto; }
.header-nav a{ font-family:'DM Sans',sans-serif; font-size:17px; font-weight:500; color:#333; }
.header-nav a:hover{ color:#75CDD9; }
.header-nav .current-menu-item > a, .header-nav .current_page_item > a{ color:#75CDD9; }
/* switcher con bandierine (verticale come live) */
.rv-langs{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.rv-langs .lang-item a{ display:flex; align-items:center; gap:6px; font-size:13px; text-transform:uppercase; color:#333; }
.rv-langs .lang-item.current-lang a{ color:#75CDD9; }
.rv-langs img{ width:18px; height:12px; object-fit:cover; }
/* footer live: #132325, 4 colonne, titoli Syne 20, testo #878197, link teal */
footer.brxe-section{ background:#132325 !important; padding-block:0 !important; }
.rv-foot{ max-width:1205px; margin:0 auto; padding:70px 30px 0; font-family:'DM Sans',sans-serif; }
.rv-foot-cols{ display:grid; grid-template-columns:1.2fr 0.8fr 1fr 1.2fr; gap:40px; }
.rv-fcol h4{ font-family:'Syne',sans-serif; font-size:20px; font-weight:600; color:#fff !important; margin:0 0 18px; text-align:left !important; }
.rv-fcol, .rv-fcol p{ color:#878197; font-size:14px; line-height:1.8; text-align:left; }
.rv-fcol p{ margin:0 0 14px; }
.rv-fcol strong{ color:#c9c4d6; }
.rv-fcol ul{ list-style:none; margin:0; padding:0; }
.rv-fcol ul li{ margin-bottom:8px; }
.rv-fcol a{ color:#75CDD9; font-size:14px; text-decoration:none; }
.rv-fcol a:hover{ color:#fff; }
.rv-fsocial{ display:flex; gap:10px; margin-top:6px; }
.rv-fsocial a{ width:36px; height:36px; border-radius:50%; border:1px solid #2c4246; display:flex; align-items:center; justify-content:center; color:#c7ccce; }
.rv-fsocial a:hover{ background:#75CDD9; color:#132325; border-color:#75CDD9; }
.rv-fthumbs{ display:grid; grid-template-columns:repeat(3,86px); gap:8px; }
.rv-fthumbs img{ width:86px; height:85px; object-fit:cover; display:block; border-radius:2px; }
.rv-fthumbs a:hover img{ opacity:.75; }
.rv-fcopy{ border-top:1px solid #22383b; margin-top:50px; padding:22px 0; text-align:center; color:#8f8f8f; font-size:16px; }
/* neutralizza vecchi stili footer generici */
footer .brxe-nav-menu ul{ display:none; }
@media(max-width:980px){ .rv-foot-cols{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .rv-foot-cols{ grid-template-columns:1fr; } }
/* ==== SERVIZI INFORMATICI — layout live (sidebar àncore + sezioni) ==== */
.rv-it-wrap{ display:grid; grid-template-columns:306px 1fr; gap:60px; max-width:1205px; margin:0 auto; align-items:start; }
.rv-it-side{ position:sticky; top:20px; display:flex; flex-direction:column; gap:16px; }
.rv-it-btn{ display:flex; justify-content:space-between; align-items:center; background:#F5FAFF; border-radius:15px; padding:19px 26px; font-family:'DM Sans',sans-serif; font-weight:600; font-size:16px; color:#333; text-decoration:none; box-shadow:0 6px 24px rgba(0,0,0,.05); transition:.3s; }
.rv-it-btn:hover{ color:#75CDD9; }
.rv-it-btn span{ color:#75CDD9; }
.rv-it-brochure{ background:linear-gradient(90deg,#4bb9d6,#5a8ff2); color:#fff; justify-content:center; gap:10px; }
.rv-it-brochure:hover{ color:#fff; filter:brightness(1.06); }
.rv-it-sec{ margin-bottom:70px; }
.rv-it-img{ display:block; margin:0 auto 26px; max-width:340px; height:auto; }
.rv-it-img-s{ max-width:240px; }
.rv-it-sec h2{ font-family:'Syne',sans-serif; font-weight:600; font-size:34px; color:#333; margin:0 0 18px; text-align:left; }
.rv-it-sec p{ color:#444; font-size:15.5px; line-height:1.8; }
.rv-it-cols{ display:grid; grid-template-columns:1.8fr 1fr; gap:36px; }
.rv-it-aside h5{ color:#0a6fd1; font-family:'DM Sans',sans-serif; font-weight:700; font-size:14px; margin:0 0 6px; border-bottom:1px solid #e3e8ee; padding-bottom:2px; }
.rv-it-aside p{ font-size:13.5px; color:#555; margin:0 0 16px; line-height:1.7; }
@media(max-width:980px){ .rv-it-wrap{ grid-template-columns:1fr; } .rv-it-side{ position:static; flex-direction:row; flex-wrap:wrap; } .rv-it-cols{ grid-template-columns:1fr; } }
/* ==== SINGLE POST — layout live (2 colonne + sidebar) ==== */
.rv-single-grid{ display:grid; grid-template-columns:2fr 1fr; gap:50px; max-width:1140px; margin:0 auto; align-items:start; }
.rv-pmeta{ display:flex; gap:1.6rem; color:#6C6A72; font-size:14px; margin:16px 0 22px; border-bottom:1px solid #eee; padding-bottom:14px; }
.rv-single-main img{ max-width:100%; height:auto; }
.rv-single-main .brxe-post-content{ color:#444; line-height:1.8; }
.rv-psb{ position:sticky; top:20px; display:flex; flex-direction:column; gap:30px; }
.rv-psearch{ display:flex; }
.rv-psearch input{ flex:1; padding:.85rem 1rem; border:1px solid #e3e3e3; border-right:none; border-radius:4px 0 0 4px; font-size:15px; }
.rv-psearch button{ background:#75CDD9; color:#fff; border:none; padding:0 1.1rem; border-radius:0 4px 4px 0; cursor:pointer; }
.rv-precent{ background:#f8f9fb; padding:26px 24px; border-radius:4px; }
.rv-precent h4{ font-family:'Syne',sans-serif; font-size:20px; font-weight:600; color:#333; margin:0 0 18px; text-align:left !important; }
.rv-pr-item{ display:flex; gap:12px; margin-bottom:16px; text-decoration:none; }
.rv-pr-item img{ width:64px; height:60px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.rv-pr-date{ display:block; color:#9aa0a6; font-size:12px; }
.rv-pr-title{ display:block; font-family:'Syne',sans-serif; font-weight:600; font-size:14.5px; line-height:1.3; color:#333; }
.rv-pr-item:hover .rv-pr-title{ color:#75CDD9; }
@media(max-width:900px){ .rv-single-grid{ grid-template-columns:1fr; } }
/* guardrail contenuto post (markup Elementor grezzo) */
.rv-single-main .brxe-post-content > h1:first-child{ display:none; } /* titolo duplicato (già nel banner) */
.rv-single-main .brxe-post-content svg{ width:16px !important; height:16px !important; }
.rv-single-main .brxe-post-content img{ max-width:100%; height:auto; margin:14px 0; }
.rv-single-main .brxe-post-content h1,.rv-single-main .brxe-post-content h2{ font-size:26px; text-align:left !important; }
.rv-single-main .brxe-post-content h3{ font-size:21px; text-align:left !important; }
.rv-single-main .brxe-post-content *{ max-width:100%; }
.rv-single-main{ min-width:0; overflow-wrap:break-word; }
/* contenimento float/larghezze del contenuto post grezzo */
.rv-single-main{ overflow:hidden; }
.rv-single-main .brxe-post-content{ display:flow-root; }
.rv-single-main .brxe-post-content [style*="width"]{ max-width:100% !important; width:auto !important; }
.rv-single-main .brxe-post-content table{ display:block; max-width:100%; overflow-x:auto; }
.rv-single-main .brxe-post-content [class*="elementor"]{ float:none !important; position:static !important; width:auto !important; max-width:100%; }
/* ==== LAVORI blog-list (live) ==== */
.rv-works{ display:grid; grid-template-columns:1fr 350px; gap:44px; max-width:1140px; margin:0 auto; align-items:start; }
.rv-wcard{ background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.05); padding:25px; margin-bottom:34px; }
.rv-wimg{ position:relative; display:block; }
.rv-wimg img{ width:100%; height:auto; display:block; }
.rv-wchip{ position:absolute; top:12px; left:12px; z-index:2; background:#2c5cfc; color:#fff; font-family:'DM Sans',sans-serif; font-size:13px; padding:4px 12px; }
.rv-wbody h3{ margin:18px 0 8px; }
.rv-wbody h3 a{ font-family:'Syne',sans-serif; font-weight:600; font-size:24px; line-height:34px; color:#333; text-decoration:none; }
.rv-wbody h3 a:hover{ color:#75CDD9; }
.rv-wbody p{ color:#6C6A72; font-size:16px; margin:0; }
.rv-wsb{ position:sticky; top:20px; display:flex; flex-direction:column; gap:26px; }
.rv-wsb-box{ background:#F8F6F1; padding:26px 30px; }
.rv-wsb-box h4{ font-family:'Syne',sans-serif; font-weight:600; font-size:20px; color:#333; margin:0 0 16px; text-align:left !important; }
.rv-wsb-search{ padding:18px; }
.rv-wsb-search form{ display:flex; }
.rv-wsb-search input{ flex:1; padding:.8rem 1rem; border:1px solid #e6e2d9; border-right:none; font-size:15px; background:#fff; }
.rv-wsb-search button{ background:#75CDD9; color:#fff; border:none; padding:0 1.05rem; cursor:pointer; }
.rv-wsb-item{ display:flex; gap:12px; margin-bottom:14px; text-decoration:none; align-items:flex-start; }
.rv-wsb-item img{ width:60px; height:56px; object-fit:cover; flex-shrink:0; }
.rv-wsb-item span{ font-family:'Syne',sans-serif; font-weight:600; font-size:14.5px; line-height:1.35; color:#333; }
.rv-wsb-item:hover span{ color:#75CDD9; }
.rv-wsb-cat{ color:#6C6A72; margin:0; }
@media(max-width:900px){ .rv-works{ grid-template-columns:1fr; } }

/* ==== CONTATTI 2 colonne (live) ==== */
.rv-cts{ display:grid; grid-template-columns:1fr 1.15fr; gap:60px; max-width:1140px; margin:0 auto; align-items:start; }
.rv-cts-eyebrow{ color:#6C6A72; font-family:'DM Sans',sans-serif; font-size:1rem; margin:0 0 4px; display:flex; align-items:center; gap:10px; }
.rv-cts-eyebrow::after{ content:''; display:inline-block; width:36px; height:2px; background:#438FF2; border-radius:2px; }
.rv-cts-title{ font-family:'Syne',sans-serif; font-weight:600; font-size:45px; color:#333; margin:0 0 34px; text-align:left !important; }
.rv-cts-row{ display:flex; gap:22px; align-items:center; margin-bottom:30px; }
.rv-cts-ico{ width:60px; height:60px; border-radius:50%; background:#75CDD9; color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.rv-cts-row h4{ font-family:'Syne',sans-serif; font-weight:600; font-size:18px; color:#333; margin:0 0 4px; text-align:left !important; }
.rv-cts-row p{ color:#444; margin:0; font-size:16.5px; }
.rv-cts-row a{ color:#75CDD9; text-decoration:none; }
@media(max-width:900px){ .rv-cts{ grid-template-columns:1fr; } }

/* ==== FOOTER ritocchi (live) ==== */
.rv-fcol h4{ display:flex; align-items:center; gap:10px; }
.rv-fcol h4::after{ content:''; display:inline-block; width:30px; height:2px; background:#438FF2; border-radius:2px; }
.rv-fcol ul li a{ color:#878197; }
.rv-fcol ul li a:hover{ color:#75CDD9; }
.rv-fsocial a{ background:#75CDD9; border-color:#75CDD9; color:#fff; }
.rv-fsocial a:hover{ background:#fff; color:#132325; }
.rv-fthumbs{ grid-template-columns:repeat(4,62px); gap:4px; }
.rv-fthumbs img{ width:62px; height:60px; }
/* ==== QA MOBILE ==== */
/* menu mobile: pannello scuro, link bianchi leggibili */
.bricks-mobile-menu-wrapper{ background:#132325 !important; }
.bricks-mobile-menu-wrapper a{ color:#fff !important; font-size:19px; padding:.55rem 0; }
.bricks-mobile-menu-wrapper a:hover, .bricks-mobile-menu-wrapper .current-menu-item > a{ color:#75CDD9 !important; }
.bricks-mobile-menu-wrapper .sub-menu{ background:transparent !important; box-shadow:none !important; border:none !important; padding-left:1rem; }
.bricks-mobile-menu-wrapper .sub-menu a{ color:#c7ccce !important; font-size:16px; }
.bricks-mobile-menu-toggle{ color:#333; }
@media (max-width:900px){
  /* header compatto */
  .site-logo img{ max-height:54px; }
  .site-header > .brxe-container{ gap:.8rem; }
  .rv-langs{ flex-direction:row; gap:12px; }
  /* hero e banner */
  .hero{ min-height:52vh; padding:110px 0 70px; }
  .risviel-banner .rb-inner{ padding:44px 1.2rem; }
  /* sezioni */
  .brxe-section:not(footer):not(.hero){ padding-block:60px; }
  /* card servizi: decor sotto, testo sopra */
  .rv2-scard{ min-height:0; padding:28px 24px 190px !important; }
  .rv2-body{ max-width:100% !important; padding:0; margin:0 !important; }
  .rv2-decor{ width:220px; height:220px; }
  .rv2-i1 .rv2-decor,.rv2-i3 .rv2-decor{ right:-40px; bottom:-60px; top:auto; left:auto; border-radius:400px 0 0 0; }
  .rv2-i2 .rv2-decor,.rv2-i4 .rv2-decor{ left:-40px; bottom:-60px; top:auto; right:auto; border-radius:0 400px 0 0; }
  .rv2-ico{ width:70px; height:70px; }
  .rv2-i1 .rv2-ico,.rv2-i3 .rv2-ico{ right:24px; left:auto; top:24px; bottom:auto; }
  .rv2-i2 .rv2-ico,.rv2-i4 .rv2-ico{ left:auto; right:24px; top:24px; bottom:auto; }
  .rv2-i1::after,.rv2-i3::after{ transform-origin:right bottom; border-radius:500px 0 0 0; }
  .rv2-i2::after,.rv2-i4::after{ transform-origin:left bottom; border-radius:0 500px 0 0; }
  /* progetti e works */
  .rv-prj{ height:420px; }
  .rv-works{ gap:30px; }
  .rv-wsb{ position:static; }
  /* contatti */
  .rv-cts{ gap:30px; }
  /* footer */
  .rv-foot{ padding:50px 20px 0; }
  .rv-fthumbs{ grid-template-columns:repeat(4,62px); }
  /* topbar: solo email + social */
  .risviel-topbar .rtb-sep{ display:none; }
  .rtb-sup{ display:none; }
  /* it-services sidebar sotto forma di riga scrollabile */
  .rv-it-side{ position:static; }
  /* single */
  .rv-psb{ position:static; }
}
/* fix: il flex-row del menu vale SOLO desktop; il pannello mobile è colonna */
@media (max-width:900px){
  .bricks-mobile-menu-wrapper ul, .bricks-mobile-menu-wrapper .brxe-nav-menu ul{ display:flex !important; flex-direction:column !important; flex-wrap:wrap !important; gap:.2rem !important; align-items:flex-start !important; padding:1.2rem !important; }
  .bricks-mobile-menu-wrapper li{ width:100%; }
  .bricks-mobile-menu-wrapper .sub-menu{ position:static !important; min-width:0 !important; }
}
/* scheda progetto EN */
.rv-prj-info table{ border-collapse:collapse; margin:0 0 18px; }
.rv-prj-info td{ padding:4px 14px 4px 0; color:#444; font-size:16px; vertical-align:top; }
.rv-prj-gallery img{ max-width:100%; height:auto; margin:12px 0; display:block; }

/* ==== TIPOGRAFIA — allineamento misurato al live (viewport 960: hero 70, section 36, eyebrow 16, topbar 14) ==== */
/* NB: ACSS imposta html{font-size:62.5%} → 1rem=10px: qui tutto in px */
.hero .brxe-heading{ font-size:clamp(48px, 7.3vw, 100px) !important; line-height:.8 !important; }
.hero .brxe-text{ font-size:17px !important; }
.brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-heading{ font-size:clamp(30px, 3.75vw, 45px) !important; }
.eyebrow{ font-size:16px !important; }
.risviel-topbar{ font-size:14px !important; }
.rv2-body p{ line-height:30px !important; }
.header-nav a{ line-height:30px; }
.risviel-banner .rb-crumb{ font-size:15px !important; }
.rv-fcol a{ font-size:15px !important; }
.rv-fcol, .rv-fcol p{ font-size:14px; line-height:25px; }
.rv-fcopy{ font-size:16px; line-height:30px; }
/* form: input/bottoni erano in rem → px */
.brxe-form input, .brxe-form textarea, .brxe-form select{ font-size:16px !important; padding:13px 16px !important; }
.brxe-form button, .brxe-form [type=submit]{ font-size:16px !important; padding:13px 38px !important; }
.rv-psearch input{ font-size:15px; }
/* testi generici card/detail */
.card .brxe-text, .card p{ font-size:16px; }
/* override finale hero (vince sulla vecchia regola 9vw/.85) */
.brxe-section.hero > .brxe-container > .brxe-heading{ font-size:clamp(48px, 7.3vw, 100px) !important; line-height:.8 !important; }

/* ==== tipografia a breakpoint come Elementor live (niente vw fluido) ==== */
.brxe-section.hero > .brxe-container > .brxe-heading{ font-size:100px !important; line-height:.8 !important; }
.brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-heading{ font-size:45px !important; }
.risviel-banner .rb-title{ font-size:64px; }
@media (max-width:1024px){
  .brxe-section.hero > .brxe-container > .brxe-heading{ font-size:70px !important; }
  .brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-heading{ font-size:36px !important; }
  .risviel-banner .rb-title{ font-size:48px; }
}
@media (max-width:767px){
  .brxe-section.hero > .brxe-container > .brxe-heading{ font-size:58px !important; line-height:1 !important; }
  .brxe-section:not(footer):not(.hero) > .brxe-container > .brxe-heading{ font-size:30px !important; }
  .risviel-banner .rb-title{ font-size:38px; }
}
/* ==== altezze header/hero come live (misure: topbar 44, header 120, hero pad 180/120 senza min-height) ==== */
.risviel-topbar .rtb-inner{ padding:12px 30px !important; }
.site-header{ padding:0 !important; }
.site-header > .brxe-container{ min-height:120px; align-items:center; }
.site-header img, .site-logo img{ max-height:80px !important; width:auto !important; }
.brxe-section.hero{ min-height:0 !important; height:auto !important; padding:180px 0 120px !important; display:block !important; }
.hero > .brxe-container{ min-height:0; }
@media (max-width:1024px){ .brxe-section.hero{ padding:120px 0 80px !important; } }
@media (max-width:767px){ .brxe-section.hero{ padding:90px 0 60px !important; } .site-header > .brxe-container{ min-height:84px; } .site-header img,.site-logo img{ max-height:54px !important; } }
/* rifinitura: topbar 44, hero 740 con titolo su 2 righe come live */
.risviel-topbar .rtb-inner{ padding:10px 30px !important; }
.brxe-section.hero{ min-height:740px !important; }
.hero > .brxe-container > .brxe-heading{ max-width:700px; margin-inline:auto; }
@media (max-width:1024px){ .brxe-section.hero{ min-height:560px !important; } .hero > .brxe-container > .brxe-heading{ max-width:500px; } }
@media (max-width:767px){ .brxe-section.hero{ min-height:430px !important; } .hero > .brxe-container > .brxe-heading{ max-width:360px; } }
.hero > .brxe-container > .brxe-heading{ max-width:620px; }
@media (max-width:1024px){ .hero > .brxe-container > .brxe-heading{ max-width:440px; } }

/* banner: altezza live esatta (331px, titolo a 110) — ACSS metteva 120px di padding alle section nude */
.risviel-banner{ padding:0 !important; }
.risviel-banner .rb-inner{ padding:110px 15px 105px !important; }
.risviel-banner .rb-title{ margin:0 0 4px !important; }
.risviel-banner .rb-crumb{ margin-top:12px; }
@media (max-width:1024px){ .risviel-banner .rb-inner{ padding:70px 15px 60px !important; } }
@media (max-width:767px){ .risviel-banner .rb-inner{ padding:48px 15px 40px !important; } }
.risviel-banner .rb-inner{ padding-bottom:75px !important; }

/* ==== tabellina progetto come live (.schede): bordi grigi, righe dispari ombrate ==== */
.rv-single-main .brxe-post-content table,
.rv-prj-info table{
  display:table !important; width:100%; max-width:744px; border-collapse:collapse !important; margin:0 0 26px; overflow:visible;
}
.rv-single-main .brxe-post-content table td, .rv-single-main .brxe-post-content table th,
.rv-prj-info table td{
  border:1px solid rgba(128,128,128,.5) !important; padding:15px !important;
  font-size:14.4px !important; line-height:1.6; color:#444; vertical-align:top; background:transparent;
}
.rv-single-main .brxe-post-content table tr:nth-child(odd) td,
.rv-prj-info table tr:nth-child(odd) td{ background:rgba(128,128,128,.07) !important; }
.rv-single-main .brxe-post-content table em{ font-style:italic; color:#333; }
/* ==== riga autore/data nei single come live ==== */
.rv-single-main .brxe-post-content svg[aria-hidden]{ display:inline-block; vertical-align:middle; }
.rv-single-main .brxe-post-content svg[aria-hidden]:first-of-type{ width:20px !important; height:20px !important; background:#0f0f0f; border-radius:50%; padding:4px; box-sizing:border-box; fill:#fff; }
.rv-single-main .brxe-post-content svg[aria-hidden]:nth-of-type(2){ width:14px !important; height:14px !important; fill:#555; }
.rv-single-main .brxe-post-content svg[aria-hidden] + p{ display:inline-block; vertical-align:middle; margin:0 18px 0 8px !important; font-size:14px !important; color:#777 !important; font-family:'DM Sans',sans-serif; }
/* riga meta v2: i p che avvolgono svg/testo diventano inline (wpautop li separa) */
.rv-single-main .brxe-post-content > p:has(> svg[aria-hidden]){ display:inline-block; vertical-align:middle; margin:0 !important; }
.rv-single-main .brxe-post-content > p:has(> svg[aria-hidden]) + p{ display:inline-block; vertical-align:middle; margin:0 18px 0 8px !important; font-size:14px !important; color:#777 !important; font-family:'DM Sans',sans-serif; }
.rv-single-main .brxe-post-content > p:has(> svg[aria-hidden]) svg[aria-hidden]{ width:14px !important; height:14px !important; background:none !important; border-radius:0; padding:0; fill:#555; display:inline-block; vertical-align:middle; }
.rv-single-main .brxe-post-content > p:has(> svg[aria-hidden]):first-of-type svg[aria-hidden]{ width:20px !important; height:20px !important; background:#0f0f0f !important; border-radius:50%; padding:4px; box-sizing:border-box; fill:#fff; }
/* riga meta v3: badge utente come ::before del p "admin" (il svg originale sta nel p dell'immagine) */
.rv-single-main .brxe-post-content > p:has(> img) svg[aria-hidden]{ display:none !important; }
.rv-single-main .brxe-post-content > p:has(> img) + p{ display:inline-block; vertical-align:middle; margin:16px 18px 0 0 !important; font-size:14px !important; color:#777 !important; font-family:'DM Sans',sans-serif; }
.rv-single-main .brxe-post-content > p:has(> img) + p::before{
  content:''; display:inline-block; width:20px; height:20px; border-radius:50%;
  background:#0f0f0f url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M313.6%20304c-28.7%200-42.5%2016-89.6%2016-47.1%200-60.8-16-89.6-16C60.2%20304%200%20364.2%200%20438.4V464c0%2026.5%2021.5%2048%2048%2048h352c26.5%200%2048-21.5%2048-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM224%20288c79.5%200%20144-64.5%20144-144S303.5%200%20224%200%2080%2064.5%2080%20144s64.5%20144%20144%20144z%22%2F%3E%3C%2Fsvg%3E") center / 10px 10px no-repeat;
  margin-right:8px; vertical-align:middle;
}
.rv-single-main .brxe-post-content > p:has(> svg[aria-hidden]) + p{ margin-top:16px !important; }
.rv-single-main .brxe-post-content > p:has(> svg[aria-hidden]){ margin-top:16px !important; }
/* spazio dopo riga meta (44px come live) + player video */
.rv-single-main .brxe-post-content > table{ margin-top:34px !important; }
.rv-video{ display:block; width:100%; max-width:744px; height:auto; margin:10px 0 20px; background:#000; }
.rv-single-main .brxe-post-content > table{ margin-top:43px !important; }

/* embed video 16:9 come live */
.rv-embed{ position:relative; width:100%; max-width:744px; aspect-ratio:16/9; margin:10px 0 20px; }
.rv-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* riga meta v4 — classe server-side .rv-ma (robusta per tutti i post) */
.rv-single-main .brxe-post-content .rv-ma{ display:inline-block; vertical-align:middle; margin:16px 18px 0 0 !important; font-size:14px !important; color:#777 !important; font-family:'DM Sans',sans-serif; }
.rv-single-main .brxe-post-content .rv-ma::before{
  content:''; display:inline-block; width:20px; height:20px; border-radius:50%;
  background:#0f0f0f url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M313.6%20304c-28.7%200-42.5%2016-89.6%2016-47.1%200-60.8-16-89.6-16C60.2%20304%200%20364.2%200%20438.4V464c0%2026.5%2021.5%2048%2048%2048h352c26.5%200%2048-21.5%2048-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM224%20288c79.5%200%20144-64.5%20144-144S303.5%200%20224%200%2080%2064.5%2080%20144s64.5%20144%20144%20144z%22%2F%3E%3C%2Fsvg%3E") center / 10px 10px no-repeat;
  margin-right:8px; vertical-align:middle;
}
/* disattiva il vecchio badge posizionale (evita doppioni) */
.rv-single-main .brxe-post-content > p:has(> img) + p::before{ content:none; }
.rv-single-main .brxe-post-content .rv-ma::before{ content:'' !important; }
/* data iniettata (post senza meta nel contenuto) */
.rv-single-main .brxe-post-content .rv-md{ display:inline-block; vertical-align:middle; margin:16px 18px 0 0 !important; font-size:14px !important; color:#777 !important; font-family:'DM Sans',sans-serif; }
.rv-single-main .brxe-post-content .rv-md::before{
  content:''; display:inline-block; width:14px; height:14px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20fill%3D%22%23555555%22%20d%3D%22M12%20192h424c6.6%200%2012%205.4%2012%2012v260c0%2026.5-21.5%2048-48%2048H48c-26.5%200-48-21.5-48-48V204c0-6.6%205.4-12%2012-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6%200-12%205.4-12%2012v52H48C21.5%2064%200%2085.5%200%20112v36c0%206.6%205.4%2012%2012%2012h424c6.6%200%2012-5.4%2012-12z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  margin-right:7px; vertical-align:middle;
}
/* ==== corpo articolo come live: p DM Sans 16/29 #6C6A72 mb14.4; inline-styles rispettati ==== */
.rv-single-main .brxe-post-content p{ font-family:'DM Sans',sans-serif; font-size:16px; line-height:29px; color:#6C6A72; margin:0 0 14.4px; }
.rv-single-main .brxe-post-content li{ font-family:'DM Sans',sans-serif; font-size:16px; line-height:29px; color:#6C6A72; }
.rv-single-main .brxe-post-content ul{ margin:0 0 14.4px 20px; padding:0 0 0 14px; }
.rv-single-main .brxe-post-content em{ color:#333; }
/* i rem negli stili inline valgono 10px con ACSS → riporta ai valori live */
.rv-single-main .brxe-post-content p[style*="1.875rem"]{ margin-bottom:30px !important; }
.rv-single-main .brxe-post-content p[style*="margin-top: 0px"]{ margin-top:0 !important; }
/* var --text-align usata dagli stili inline del contenuto */
.rv-single-main .brxe-post-content{ --text-align:left; }

/* ==== gallerie nei post come live (3 colonne, celle 33.33%, thumb centrate) ==== */
.rv-single-main .brxe-post-content figure.gallery-item{ display:inline-block; width:33.33%; max-width:33.33%; margin:0 0 10px !important; padding:0; text-align:center; vertical-align:top; }
.rv-single-main .brxe-post-content figure.gallery-item img{ display:inline-block; margin:0 auto !important; width:150px; height:150px; object-fit:cover; }
.rv-single-main .brxe-post-content figure.gallery-item a{ display:inline-block; }
.rv-single-main .brxe-post-content figure.gallery-item{ width:32% !important; max-width:32% !important; }
