/*
Theme Name: Rubitecna
Theme URI: https://www.rubitecna.it
Description: Tema di Rubitecna, figlio di Twenty Twenty-Five. Griglia pulita, lavori in primo piano, pensato per il telefono.
Author: Di & Co
Template: twentytwentyfive
Version: 0.1.1
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: rubitecna
*/

:root {
	--r-card: 28px;
	--r-petrolio: #10343f;
	--r-arancio: #f27c00;
	--r-arancio-testo: #b35500;
	--r-grigio: #5d6575;
	--r-linea: #d2d5dc;
	--r-chiaro: #e6eaed;
}

body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--r-arancio); color: #fff; }
:where(a, button, input, select, summary):focus-visible { outline: 3px solid var(--r-arancio); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { text-wrap: balance; }
.wp-site-blocks { padding-top: 0; }
main.wp-block-group { margin-top: 0; }

/* Link con freccia, come "Scopri di più ›" */
.rubi-freccia a::after, a.rubi-freccia::after { content: " ›"; }

/* Pulsanti a pillola */
.rubi-pillola, .wp-block-button.is-style-rubi-chiaro .wp-block-button__link {
	display: inline-block; border-radius: 980px; font-weight: 700; text-decoration: none;
}
a.rubi-pillola { background: var(--r-arancio); color: var(--r-petrolio); padding: 0.8rem 1.5rem; }
a.rubi-pillola:hover { background: var(--r-petrolio); color: #fff; text-decoration: none; }
.wp-block-button.is-style-rubi-chiaro .wp-block-button__link { background: #fff; color: var(--r-petrolio); box-shadow: inset 0 0 0 1px var(--r-linea); }
.wp-block-button.is-style-rubi-chiaro .wp-block-button__link:hover { background: var(--r-petrolio); color: #fff; box-shadow: none; }

/* Testata */
.rubi-header { position: sticky; top: 0; z-index: 40; background: rgb(245 245 247 / 0.94); border-bottom: 1px solid rgb(0 0 0 / 0.06); }
.admin-bar .rubi-header { top: 32px; }
.rubi-header > .wp-block-group { min-height: 56px; }
.rubi-marchio { display: flex; align-items: center; gap: 10px; color: var(--r-petrolio); font-weight: 750; font-size: 1.1875rem; text-decoration: none; }
.rubi-marchio:hover { text-decoration: none; }
.rubi-marchio img { width: 30px; height: 30px; }
.rubi-header .wp-block-navigation { font-size: 0.875rem; gap: 1.6rem; }
.rubi-header .wp-block-navigation a { color: var(--r-petrolio); }
.rubi-header .wp-block-navigation .current-menu-item > a { color: var(--r-arancio-testo); font-weight: 700; }
.rubi-header .rubi-nav-preventivo > a { background: var(--r-arancio); border-radius: 980px; padding: 8px 16px !important; font-weight: 700; }
.rubi-header .rubi-nav-preventivo > a:hover { background: var(--r-petrolio); color: #fff !important; text-decoration: none; }

/* Menu mobile a fisarmonica (standard Di & Co, come Vitale): voci a sinistra, freccia sulla stessa riga */
.rubi-nav-tutto { display: none !important; }
@media (max-width: 781px) {
	.rubi-header .wp-block-navigation__responsive-container.is-menu-open { padding: 20px 24px; background: #fff; }
	.rubi-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 3.5rem; }
	.rubi-header .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
	.rubi-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%; border-bottom: 1px solid #e8ebef; }
	.rubi-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 16px 0 !important; font-size: 1.25rem; font-weight: 700; justify-self: start; }
	.rubi-header .is-menu-open .wp-block-navigation__submenu-icon { display: flex !important; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; }
	.rubi-header .is-menu-open .wp-block-navigation__submenu-icon svg { width: 14px; height: 14px; stroke: currentColor; transition: transform 0.2s; transform: none; }
	.rubi-header .is-menu-open .is-espansa > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
	.rubi-header .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation__submenu-container { grid-column: 1 / -1; display: none !important; padding: 0 0 12px 12px !important; gap: 0 !important; border: 0 !important; }
	.rubi-header .is-menu-open .wp-block-navigation-submenu.is-espansa > .wp-block-navigation__submenu-container { display: flex !important; }
	.rubi-header .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
	.rubi-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; align-items: flex-start !important; }
	.rubi-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 0 !important; font-size: 1.0625rem; font-weight: 600; }
	.rubi-header .is-menu-open .rubi-nav-tutto { display: block !important; }
	.rubi-header .is-menu-open .rubi-nav-tutto .wp-block-navigation-item__content { font-weight: 800 !important; }
	.rubi-header .is-menu-open .rubi-nav-preventivo { border: 0 !important; margin-top: 18px; }
	.rubi-header .is-menu-open .rubi-nav-preventivo > a { display: block; justify-self: stretch !important; text-align: center; padding: 14px !important; }
}

/* Briciole */
.rubi-briciole { font-size: 0.875rem; color: var(--r-grigio); padding-top: 22px; }
.rubi-briciole a { color: var(--r-grigio); }

/* Sezioni e schede bianche */
.rubi-sezione { padding-top: clamp(4.5rem, 8vw, 6.5rem); }
.rubi-titolo-sez { font-size: clamp(2rem, 4.4vw, 3rem); margin: 0 0 28px; }
.rubi-card { background: #fff; border-radius: var(--r-card); overflow: hidden; }

/* Schede con titolo sopra e foto a filo in basso (stile "Mac sa farlo") */
.rubi-schede { gap: 20px !important; }
.rubi-schede > .wp-block-column, .rubi-scheda-foto { background: #fff; border-radius: var(--r-card); overflow: hidden; display: flex; flex-direction: column; text-align: center; }
.rubi-scheda-foto > :not(figure) { padding-left: 28px; padding-right: 28px; }
.rubi-scheda-foto > :first-child { padding-top: 40px; }
.rubi-scheda-foto h3 { margin-bottom: 0; }
.rubi-scheda-foto p { margin-top: 10px; }
.rubi-scheda-foto figure { margin: auto 0 0 !important; padding-top: 26px; }
.rubi-scheda-foto figure img { width: 100%; height: 300px; object-fit: cover; border-radius: 0 !important; display: block; }
.rubi-scheda-foto.is-scura { background: #000; color: #eef2f3; }
.rubi-scheda-foto.is-scura h3 { color: #fff; }
.rubi-scheda-foto.is-scura a { color: #ff9d3c; }

/* Apertura delle pagine */
.rubi-apertura { text-align: center; padding-top: 40px; }
.rubi-apertura h1 { font-size: clamp(3.25rem, 9vw, 6.5rem); margin: 0; }
.rubi-apertura > p { font-size: clamp(1.1875rem, 2.1vw, 1.5rem); line-height: 1.4; max-width: 31em; margin: 16px auto 0; }
.rubi-azioni { display: flex; gap: 28px; justify-content: center; flex-wrap: wrap; margin-top: 20px; font-size: clamp(1.0625rem, 1.8vw, 1.25rem); }
.rubi-foto-grande img { width: 100%; aspect-ratio: 2.2 / 1; object-fit: cover; border-radius: var(--r-card); }
.rubi-foto-grande figcaption { font-size: 0.8125rem; color: var(--r-grigio); text-align: center; margin-top: 10px; }

/* Carosello della home */
.rubi-carosello { margin-top: 36px; }
.rubi-binario { --larga: min(1180px, 88vw); display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 calc((100% - var(--larga)) / 2); }
.rubi-binario::-webkit-scrollbar { display: none; }
.rubi-slide { flex: 0 0 var(--larga); aspect-ratio: 2.5 / 1; max-height: 62vh; border-radius: var(--r-card); overflow: hidden; position: relative; scroll-snap-align: center; background: var(--r-petrolio); }
.rubi-slide img { width: 100%; height: 100%; object-fit: cover; }
.rubi-slide::before { content: ""; position: absolute; inset: 0; background: rgb(10 16 28 / 0.4); opacity: 0; transition: opacity 0.6s; pointer-events: none; z-index: 1; }
.rubi-slide:not(.attiva)::before { opacity: 1; }
.rubi-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(10 16 28 / 0.78) 0, rgb(10 16 28 / 0.35) 34%, transparent 60%); pointer-events: none; }
.rubi-didas { position: absolute; left: clamp(22px, 3.4vw, 48px); bottom: clamp(22px, 3.4vw, 44px); right: 22px; z-index: 2; color: #fff; max-width: 560px; transition: opacity 0.5s; }
.rubi-slide:not(.attiva) .rubi-didas { opacity: 0; }
.rubi-didas h2 { font-size: clamp(1.75rem, 3.6vw, 2.875rem); color: #fff; margin: 0; }
.rubi-didas p { font-size: clamp(1rem, 1.5vw, 1.1875rem); margin: 8px 0 18px; color: #eef0f4; }
.rubi-didas .rubi-pillola { margin-top: 14px; }
.rubi-comandi { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 20px; }
.rubi-pausa { width: 44px; height: 44px; border-radius: 50%; border: 0; background: #e6e8ec; display: grid; place-items: center; cursor: pointer; color: var(--r-petrolio); }
.rubi-punti { display: flex; background: #e6e8ec; border-radius: 980px; padding: 0 8px; height: 44px; align-items: center; }
/* Area da toccare di 24 × 44 px, pallino visibile di 8 px */
.rubi-punti button { width: 24px; height: 44px; border: 0; background: none; cursor: pointer; padding: 0; position: relative; transition: width 0.4s; }
.rubi-punti button::before { content: ""; position: absolute; left: 8px; right: 8px; top: 18px; height: 8px; border-radius: 980px; background: #a9afba; }
.rubi-punti button.attivo { width: 56px; }
.rubi-punti button.attivo::before { background: #c3c8d0; }
.rubi-punti button.attivo i { position: absolute; left: 8px; right: 8px; top: 18px; height: 8px; border-radius: 980px; overflow: hidden; background: var(--r-petrolio); transform-origin: 0 50%; animation: rubi-riempi 6s linear forwards; }
.rubi-carosello.ferma .rubi-punti button.attivo i { animation-play-state: paused; }
@keyframes rubi-riempi { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.rubi-riga-titolo { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.rubi-riga-titolo .rubi-titolo-sez { margin: 0; }

/* Lavori: galleria come quella del telefono */
.rubi-strumenti { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 36px 0 14px; flex-wrap: wrap; }
.rubi-chip { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; }
.rubi-chip::-webkit-scrollbar { display: none; }
.rubi-chip a { flex: none; font-size: 0.9375rem; background: var(--r-chiaro); color: var(--r-petrolio); padding: 8px 16px; border-radius: 980px; }
.rubi-chip a:hover { background: #d8dee2; text-decoration: none; }
.rubi-chip a[aria-current], .rubi-chip a[aria-current]:hover { background: var(--r-petrolio); color: #fff; }
.rubi-citta { display: flex; align-items: center; gap: 8px; font-size: 0.9375rem; }
.rubi-citta select { font: inherit; font-size: 0.9375rem; color: var(--r-petrolio); background: #fff; border: 1px solid var(--r-linea); border-radius: 980px; padding: 8px 14px; cursor: pointer; }
.rubi-conta { font-size: 0.875rem; color: var(--r-grigio); margin: 0 0 12px; }
.rubi-galleria { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; border-radius: var(--r-card); overflow: hidden; }
.rubi-galleria-3 { grid-template-columns: repeat(3, 1fr); }
.rubi-tessera { position: relative; aspect-ratio: 1; overflow: hidden; background: #1f3a42; color: #fff; display: block; }
.rubi-tessera:hover { text-decoration: none; }
.rubi-tessera img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.rubi-tessera:hover img { transform: scale(1.05); }
.rubi-tessera-testo { position: absolute; inset: auto 0 0 0; padding: 40px 16px 14px; background: linear-gradient(to top, rgb(8 26 32 / 0.9) 0, rgb(8 26 32 / 0.72) 55%, rgb(8 26 32 / 0)); line-height: 1.25; text-shadow: 0 1px 2px rgb(0 0 0 / 0.35); }
.rubi-tessera b { display: block; font-size: 1.0625rem; font-weight: 750; }
.rubi-tessera small { display: block; font-size: 0.8125rem; color: #dbe6e8; margin-top: 3px; }

/* Pagina di un lavoro */
.rubi-testa-lavoro { gap: 48px !important; align-items: end !important; }
.rubi-dati { display: grid; background: #fff; border-radius: 20px; padding: 6px 22px; margin: 0; }
.rubi-dati div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid #e8ebef; font-size: 0.9375rem; }
.rubi-dati div:first-child { border-top: 0; }
.rubi-dati dt { color: var(--r-grigio); }
.rubi-dati dd { font-weight: 700; margin: 0; }
.rubi-scheda { background: #fff; border-radius: var(--r-card); padding: 12px 36px; margin: 0; }
.rubi-scheda div { display: grid; grid-template-columns: 220px 1fr; gap: 20px; padding: 18px 0; border-top: 1px solid #e8ebef; }
.rubi-scheda div:first-child { border-top: 0; }
.rubi-scheda dt { color: var(--r-grigio); font-weight: 600; }
.rubi-scheda dd { font-weight: 600; margin: 0; }
.rubi-dove { background: var(--r-petrolio); color: #eef4f5; border-radius: var(--r-card); padding: 56px 48px; display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: center; }
.rubi-dove h2 { color: #fff; font-size: clamp(1.875rem, 3.6vw, 2.75rem); margin: 0; }
.rubi-dove p { margin-top: 12px; color: #cfdde0; }
.rubi-dove-citta { display: flex; flex-wrap: wrap; gap: 10px; }
.rubi-dove-citta a { display: inline-flex; align-items: center; gap: 8px; background: rgb(255 255 255 / 0.09); color: #fff; font-weight: 700; font-size: 1.125rem; padding: 12px 18px; border-radius: 14px; }
.rubi-dove-citta a:hover { background: var(--r-arancio); color: var(--r-petrolio); text-decoration: none; }
.rubi-lavoro-corpo .wp-block-gallery { gap: 6px !important; border-radius: var(--r-card); overflow: hidden; }
.rubi-lavoro-corpo .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { flex-grow: 0; width: calc(33.333% - 4px); }
@media (max-width: 600px) { .rubi-lavoro-corpo .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: calc(50% - 3px); } }
.rubi-lavoro-corpo .wp-block-gallery img { border-radius: 0 !important; aspect-ratio: 4 / 3; object-fit: cover; cursor: zoom-in; }

/* Foto ingrandita */
.rubi-vista { border: 0; padding: 0; background: transparent; max-width: min(1200px, 94vw); margin: auto; }
.rubi-vista::backdrop { background: rgb(8 22 27 / 0.88); }
.rubi-vista img { max-height: 84vh; width: auto; border-radius: 16px; }
.rubi-vista button { position: fixed; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; font-size: 22px; cursor: pointer; color: var(--r-petrolio); }

/* Passi del metodo */
.rubi-passi { counter-reset: passo; gap: 20px !important; }
.rubi-passi > .wp-block-column { background: #fff; border-radius: 22px; padding: 28px 24px 30px; }
.rubi-passi > .wp-block-column::before { counter-increment: passo; content: counter(passo); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--r-arancio); color: var(--r-petrolio); font-weight: 800; margin-bottom: 16px; }
.rubi-passi h3 { font-size: 1.3125rem; margin: 0; }
.rubi-passi p { margin-top: 8px; font-size: 1rem; }

/* Riquadro scuro (configuratore, contractor) */
.rubi-scuro { background: var(--r-petrolio) !important; color: #e8f0f2; border-radius: var(--r-card); overflow: hidden; }
.rubi-scuro h2, .rubi-scuro h3 { color: #fff; }
.rubi-scuro p { color: #cfdde0; }
.rubi-scuro .wp-block-image img { border-radius: 0 !important; height: 100%; object-fit: cover; }

/* Domande frequenti */
.rubi-domande .wp-block-details { padding: 0 26px; margin-top: 10px; }
.rubi-domande summary { list-style: none; cursor: pointer; padding: 22px 34px 22px 0; font-weight: 750; font-size: 1.1875rem; position: relative; }
.rubi-domande summary::-webkit-details-marker { display: none; }
.rubi-domande summary::after { content: ""; position: absolute; right: 2px; top: 50%; width: 12px; height: 12px; border-right: 2.5px solid var(--r-petrolio); border-bottom: 2.5px solid var(--r-petrolio); transform: translateY(-70%) rotate(45deg); transition: transform 0.3s; }
.rubi-domande details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.rubi-domande details > p { padding-bottom: 22px; max-width: 70ch; margin-top: 0; }

/* Invito finale */
.rubi-chiamata { text-align: center; background: #fff; border-radius: var(--r-card); padding: 64px max(28px, 4vw) !important; }
.rubi-chiamata h2 { font-size: clamp(2rem, 4.4vw, 3.25rem); margin: 0; }
.rubi-chiamata p { font-size: 1.1875rem; margin: 14px auto 26px; max-width: 34em; }

/* Recapiti */
.rubi-recapiti { display: grid; gap: 14px; font-size: 1.0625rem; margin: 0; }
.rubi-recapiti dt { font-size: 0.8125rem; color: var(--r-grigio); font-weight: 700; }
.rubi-recapiti dd { margin: 0; }

/* Piede */
.rubi-piede { border-top: 1px solid var(--r-linea); margin-top: 110px; padding: 26px 0 40px; font-size: 0.8125rem; color: var(--r-grigio); }
.rubi-piede a { color: var(--r-grigio); }

/* Barra fissa su telefono */
.rubi-barra-mobile { display: none; }
@media (max-width: 900px) {
	.rubi-barra-mobile { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgb(255 255 255 / 0.96); border-top: 1px solid var(--r-linea); }
	.rubi-barra-mobile a { display: grid; place-items: center; height: 46px; border-radius: 12px; background: #e8ecef; color: var(--r-petrolio); font-weight: 700; font-size: 0.9375rem; }
	.rubi-barra-mobile a.rubi-prev { background: var(--r-arancio); }
	body { padding-bottom: 76px; }
	.rubi-galleria { grid-template-columns: repeat(3, 1fr); gap: 2px; border-radius: 18px; }
	.rubi-galleria-3 { grid-template-columns: 1fr; }
	.rubi-tessera-testo { padding: 22px 8px 7px; }
	.rubi-tessera b { font-size: 0.75rem; }
	.rubi-tessera small { display: none; }
	.rubi-galleria-3 .rubi-tessera b { font-size: 1.0625rem; }
	.rubi-galleria-3 .rubi-tessera small { display: block; }
	.rubi-strumenti { display: block; }
	.rubi-chip { margin: 0 calc(-1 * clamp(16px, 4vw, 40px)); padding: 0 clamp(16px, 4vw, 40px); }
	.rubi-citta { margin-top: 14px; }
	.rubi-slide { aspect-ratio: 4 / 5; max-height: none; border-radius: 22px; }
	.rubi-binario { gap: 10px; }
	.rubi-dove { grid-template-columns: 1fr; padding: 40px 24px; }
	.rubi-scheda { padding: 6px 22px; }
	.rubi-scheda div { grid-template-columns: 1fr; gap: 4px; }
	.rubi-foto-grande img { aspect-ratio: 4 / 3; border-radius: 22px; }
	.rubi-scheda-foto figure img { height: 240px; }
}
@media (max-width: 420px) { .rubi-galleria:not(.rubi-galleria-3) .rubi-tessera-testo { display: none; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Riquadro scuro con testo e foto */
.wp-block-columns.rubi-scuro { gap: 0 !important; align-items: stretch !important; }
.rubi-scuro-testo { padding: clamp(2.25rem, 4vw, 3.5rem) clamp(1.5rem, 3.5vw, 3rem); display: flex; flex-direction: column; justify-content: center; flex-basis: 42% !important; }
.rubi-scuro-testo h2 { font-size: clamp(1.875rem, 3.8vw, 2.875rem); margin: 0; }
.rubi-scuro-testo p { font-size: 1.1875rem; margin: 14px 0 22px; }
.rubi-scuro-foto { flex-basis: 58% !important; min-height: 320px; }
.rubi-scuro-foto figure, .rubi-scuro-foto img { height: 100%; margin: 0; width: 100%; }
.rubi-scuro-foto img { object-fit: cover; border-radius: 0 !important; }

/* Schede di testo bianche */
.rubi-card-testo { background: #fff; border-radius: var(--r-card); padding: clamp(2rem, 3.5vw, 2.75rem) clamp(1.5rem, 3vw, 2.5rem); }
.rubi-card-testo h2 { font-size: clamp(1.75rem, 3.4vw, 2.5rem); margin: 0 0 12px; }
.rubi-card-testo h3 { margin: 0 0 12px; }
.rubi-card-testo ul { padding-left: 1.2em; margin: 0; display: grid; gap: 6px; }

/* Storia: le tappe non sono numerate, l'anno è il titolo */
.rubi-storia { margin-top: 20px !important; }
.rubi-storia > .wp-block-column::before { content: none; }
.rubi-storia h3 { color: var(--r-arancio-testo); }

p.has-text-align-center { text-align: center; color: var(--r-grigio); margin-top: 22px; }

/* Modulo di preventivo */
.rubi-modulo { background: #fff; border-radius: var(--r-card); padding: clamp(1.5rem, 4vw, 3rem); max-width: 860px; margin: 0 auto; scroll-margin-top: 80px; }
.rubi-modulo fieldset { border: 0; padding: 0; margin: 0 0 2rem; }
.rubi-modulo.a-passi fieldset { margin: 0; }
.rubi-modulo legend { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 750; letter-spacing: -0.02em; margin-bottom: 18px; outline: none; }
.rubi-passi-modulo { display: none; list-style: none; padding: 0; margin: 0 0 28px; gap: 8px; font-size: 0.875rem; font-weight: 700; color: var(--r-grigio); }
.rubi-modulo.a-passi .rubi-passi-modulo { display: flex; }
.rubi-passi-modulo li { flex: 1; padding-top: 10px; border-top: 4px solid var(--r-chiaro); }
.rubi-passi-modulo li.attivo { border-color: var(--r-arancio); color: var(--r-petrolio); }
.rubi-passi-modulo li.fatto { border-color: var(--r-petrolio); }
.rubi-scelte { display: grid; gap: 10px; }
.rubi-scelta { display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--r-linea); border-radius: 16px; padding: 16px 18px; cursor: pointer; }
.rubi-scelta:hover { border-color: var(--r-petrolio); }
.rubi-scelta:has(input:checked) { border-color: var(--r-arancio); box-shadow: inset 0 0 0 1px var(--r-arancio); background: #fff8f0; }
.rubi-scelta input { margin-top: 5px; accent-color: var(--r-arancio); }
.rubi-scelta b { display: block; font-size: 1.0625rem; }
.rubi-scelta small { display: block; color: var(--r-grigio); font-size: 0.9375rem; }
.rubi-campo { margin: 0 0 16px; }
.rubi-campo label, .rubi-etichetta { display: block; font-weight: 700; font-size: 0.9375rem; margin-bottom: 6px; }
.rubi-campo input[type=text], .rubi-campo input[type=email], .rubi-campo input[type=tel], .rubi-campo textarea, .rubi-campo select { width: 100%; font: inherit; font-size: 1.0625rem; color: var(--r-petrolio); border: 1px solid var(--r-linea); border-radius: 12px; padding: 11px 14px; background: #fff; box-sizing: border-box; }
.rubi-campo textarea { resize: vertical; }
.rubi-campo input:focus, .rubi-campo textarea:focus, .rubi-campo select:focus { outline: 2px solid var(--r-arancio); outline-offset: 1px; border-color: transparent; }
.rubi-campo small { display: block; color: var(--r-grigio); font-size: 0.875rem; margin-top: 6px; }
.rubi-campi-due { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.rubi-opzione { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 500 !important; margin: 6px 0; }
.rubi-opzione input { margin-top: 5px; accent-color: var(--r-arancio); }
.rubi-avanti { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.rubi-avanti:has(> :only-child) { justify-content: flex-end; }
.rubi-pillola-btn { font: inherit; font-weight: 700; font-size: 1.0625rem; border: 0; border-radius: 980px; padding: 13px 28px; background: var(--r-arancio); color: var(--r-petrolio); cursor: pointer; }
.rubi-pillola-btn:hover { background: var(--r-petrolio); color: #fff; }
.rubi-indietro { font: inherit; font-weight: 700; border: 0; background: none; color: var(--r-petrolio); cursor: pointer; padding: 13px 0; }
.rubi-modulo-errore { background: #fdecea; color: #8a1f11; border-radius: 12px; padding: 12px 16px; font-weight: 600; }
.rubi-modulo-esito { background: #fff; border-radius: var(--r-card); padding: clamp(2rem, 4vw, 3rem); text-align: center; max-width: 760px; margin: 0 auto; }
.rubi-modulo-esito h2 { font-size: clamp(1.75rem, 3.4vw, 2.5rem); margin: 0 0 12px; }
@media (max-width: 700px) { .rubi-campi-due { grid-template-columns: 1fr; } }

/* Configuratore */
.rubi-configuratore iframe { width: 100%; height: min(86vh, 860px); min-height: 560px; border: 0; border-radius: var(--r-card); background: #0e1a20; display: block; }
.rubi-configuratore-nota { font-size: 0.875rem; color: var(--r-grigio); text-align: center; margin-top: 12px; }

/* Apertura dentro il contenuto della pagina */
.rubi-apertura h1 + p { font-size: clamp(1.1875rem, 2.1vw, 1.5rem); line-height: 1.4; max-width: 31em; margin: 16px auto 0; }
.rubi-foto-grande { margin-top: 44px !important; }
@media (max-width: 781px) {
	.rubi-scuro-foto { min-height: 240px; }
	.wp-block-columns.rubi-scuro { flex-direction: column-reverse; }
}
.rubi-chiamata .wp-block-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Blog */
.rubi-articoli .wp-block-post-template { gap: 20px; }
.rubi-articolo { background: #fff; border-radius: 22px; overflow: hidden; height: 100%; }
.rubi-articolo .wp-block-post-featured-image { margin: 0; }
.rubi-articolo .wp-block-post-featured-image img { border-radius: 0; }
.rubi-articolo-testo { padding: 18px 22px 24px; }
.rubi-articolo-testo .wp-block-post-date { color: var(--r-grigio); }
.rubi-articolo-testo .wp-block-post-title { margin: 6px 0 8px; line-height: 1.2; }
.rubi-articolo-testo .wp-block-post-title a { color: var(--r-petrolio); }
.rubi-articolo-corpo { margin-top: 2.5rem; }
.rubi-articolo-corpo img { border-radius: 18px; }
.rubi-articolo-testa .wp-block-post-date { color: var(--r-grigio); }
@media (max-width: 781px) { .rubi-articoli .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; } }
