/*
Theme Name:   Rubsprint Child
Theme URI:    https://www.rubsprintsrls.com
Description:  Tema figlio di Storefront per Rubsprint SRLS — rivestimenti metallici decorativi e impresa edile a Padova.
Author:       Uniteug
Template:     storefront
Version:      2.0.0
Text Domain:  rubsprint-child
*/

/* ============ 1. TOKEN ============ */
:root {
  --verde:#0B4030; --verde-scuro:#083025; --verde-chiaro:#10543F;
  --giallo:#FFB400; --oro:#FFBF00;
  --calce:#EDEBE5; --calce-scuro:#DEDBD2;
  --antracite:#1A1F1D; --grigio:#5C6763; --bordo:#D8D5CB;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",monospace;
  --rag:3px;
}

/* ============ 2. BASE ============ */
body{font-family:var(--body);color:var(--antracite);background:#fff;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.site-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.12;color:var(--antracite)}
h1{font-size:clamp(2rem,4.4vw,3.1rem)}
h2{font-size:clamp(1.5rem,2.8vw,2.15rem)}
h3{font-size:1.18rem}
a{color:var(--verde)} a:hover{color:var(--verde-chiaro)}
.rbs-eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--giallo);display:block;margin-bottom:10px}
.rbs-eyebrow--scuro{color:var(--verde)}

/* ============ 3. BOTTONI ============ */
.button,button,input[type="submit"],.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  font-family:var(--body);background-color:var(--verde);color:#fff;border:2px solid var(--verde);border-radius:var(--rag);
  font-weight:600;font-size:.9rem;padding:.85em 1.7em;transition:background-color .16s,color .16s,border-color .16s}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background-color:var(--verde-chiaro);border-color:var(--verde-chiaro);color:#fff}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background-color:var(--giallo);border-color:var(--giallo);color:var(--verde-scuro)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color:var(--oro);border-color:var(--oro);color:var(--verde-scuro)}
a.rbs-btn-ghost.button{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
a.rbs-btn-ghost.button:hover{background:#fff;color:var(--verde-scuro);border-color:#fff}
:focus-visible{outline:3px solid var(--giallo);outline-offset:2px}

/* ============ 4. HEADER ============ */
.site-header{background:#fff !important;border-bottom:1px solid var(--bordo);padding-top:18px;padding-bottom:14px}
.site-header .custom-logo-link img{max-height:74px;width:auto}
.storefront-primary-navigation{background:#fff}
.main-navigation ul.menu>li>a,.main-navigation ul.nav-menu>li>a{font-family:var(--body);font-weight:600;font-size:.93rem;color:var(--antracite);padding:12px 16px;position:relative}
.main-navigation ul.menu>li>a::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;background:var(--giallo);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.main-navigation ul.menu>li>a:hover::after,.main-navigation ul.menu>li.current-menu-item>a::after{transform:scaleX(1)}
.rbs-trust{background:var(--verde-scuro);color:#C8D6CF;font-family:var(--mono);font-size:.73rem;letter-spacing:.05em}
.rbs-trust ul{max-width:1180px;margin:0 auto;padding:9px 20px;list-style:none;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rbs-trust li{margin:0}
.rbs-trust strong{color:var(--giallo);font-weight:600}

/* ============ 5. HERO ============ */
.rbs-hero{position:relative;margin-bottom:56px;padding:clamp(64px,9vw,118px) 24px;background-color:var(--verde-scuro);background-size:cover;background-position:center;overflow:hidden;border-radius:var(--rag)}
.rbs-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(102deg,rgba(8,48,37,.95) 0%,rgba(8,48,37,.86) 42%,rgba(8,48,37,.55) 100%)}
.rbs-hero-inner{position:relative;max-width:620px}
.rbs-hero h1{color:#fff;margin-bottom:16px}
.rbs-hero h1 em{font-style:normal;color:var(--giallo)}
.rbs-hero p{color:#D5E2DC;font-size:1.06rem;margin-bottom:28px}
.rbs-hero .button{margin-right:10px;margin-bottom:10px}

/* ============ 6. SEZIONI ============ */
.rbs-sezione{margin:64px 0}
.rbs-sezione-head{margin-bottom:30px;max-width:640px}
.rbs-sezione-head p{color:var(--grigio);margin:6px 0 0}
.rbs-sezione--calce{background:var(--calce);padding:56px 28px;border-radius:var(--rag)}

/* ============ 7. GRIGLIA PRODOTTI ============ */
.woocommerce ul.products li.product{position:relative;background:#fff;border:1px solid var(--bordo);border-radius:var(--rag);padding:0 0 16px;overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s}
.woocommerce ul.products li.product:hover{border-color:var(--verde);box-shadow:0 10px 26px rgba(11,64,48,.13);transform:translateY(-3px)}
.woocommerce ul.products li.product a img{margin:0 0 14px;aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .35s}
.woocommerce ul.products li.product:hover a img{transform:scale(1.045)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--display);font-size:1rem;font-weight:600;line-height:1.3;padding:0 16px;margin-bottom:6px}
.woocommerce ul.products li.product .price{font-family:var(--display);font-size:1.22rem;font-weight:700;color:var(--antracite);padding:0 16px;display:block}
.woocommerce ul.products li.product .button{margin:12px 16px 0}
.rbs-meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;color:var(--grigio);padding:0 16px;margin:0 0 8px;display:flex;gap:10px;flex-wrap:wrap}
.rbs-meta span{white-space:nowrap}
.rbs-meta .rbs-cod{color:var(--verde);font-weight:500}
.rbs-swatch-tag{position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,255,255,.94);font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:2px;color:var(--verde-scuro)}

/* ============ 8. SCHEDA PRODOTTO ============ */
.woocommerce div.product .product_title{margin-bottom:10px}
.woocommerce div.product p.price{font-family:var(--display);font-size:2rem;font-weight:700;color:var(--antracite)}
.rbs-prezzo-mq{display:block;font-family:var(--mono);font-size:.78rem;font-weight:400;color:var(--grigio);margin-top:4px;letter-spacing:.02em}
.rbs-su-richiesta{display:inline-block;background:var(--calce);border-left:3px solid var(--giallo);padding:8px 14px;font-weight:600}
.woocommerce div.product .stock{color:#1E7A3C;font-weight:600;font-family:var(--mono);font-size:.82rem}
.woocommerce div.product .out-of-stock{color:#B3261E}
.rbs-specifiche{border:1px solid var(--bordo);border-left:3px solid var(--verde);background:var(--calce);padding:18px 20px;margin:24px 0;border-radius:var(--rag)}
.rbs-specifiche>strong{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);display:block;margin-bottom:12px}
.rbs-specifiche dl{margin:0;display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:0}
.rbs-specifiche dt,.rbs-specifiche dd{padding:7px 0;border-top:1px solid var(--calce-scuro);margin:0}
.rbs-specifiche dt{font-size:.82rem;color:var(--grigio);font-weight:500}
.rbs-specifiche dd{font-family:var(--mono);font-size:.84rem;text-align:right}
.woocommerce div.product a.rbs-btn-preventivo.button{background:#fff;color:var(--verde);border:2px solid var(--verde);margin-top:10px}
.woocommerce div.product a.rbs-btn-preventivo.button:hover{background:var(--verde);color:#fff}
.rbs-calc{border-left-color:var(--giallo) !important}
.rbs-calc input[type="number"]{border:1px solid var(--bordo);border-radius:var(--rag);padding:9px;width:110px;font-family:var(--mono)}
#rbs-risultato{font-family:var(--mono);font-size:.86rem}

/* ============ 9. CATEGORIE E SERVIZI ============ */
.woocommerce ul.products li.product-category a img{aspect-ratio:16/10}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{font-family:var(--display);font-size:1.1rem;padding:0 16px 4px}
.woocommerce ul.products li.product-category mark{background:none;color:var(--grigio);font-family:var(--mono);font-size:.78rem}
.rbs-servizi{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.rbs-servizio{background:#fff;border:1px solid var(--bordo);border-top:3px solid var(--giallo);padding:22px;border-radius:var(--rag);transition:box-shadow .18s}
.rbs-servizio:hover{box-shadow:0 8px 20px rgba(11,64,48,.1)}
.rbs-servizio h3{font-size:1.02rem;color:var(--verde);margin-bottom:8px}
.rbs-servizio p{font-size:.9rem;color:var(--grigio);margin:0}

/* ============ 10. FORM ============ */
.wpcf7 label{display:block;font-weight:600;font-size:.9rem;margin-bottom:16px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=number],.wpcf7 textarea{
  width:100%;border:1px solid var(--bordo);border-radius:var(--rag);padding:11px 12px;font-family:var(--body);font-weight:400;font-size:.95rem;background:#fff}
.wpcf7 input:focus,.wpcf7 textarea:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px rgba(11,64,48,.12)}
.wpcf7 input[type=submit]{background:var(--verde);border-color:var(--verde)}

/* ============ 11. FOOTER ============ */
html{scroll-behavior:smooth}
.site-footer{padding:0;background:transparent}
.rbs-top{display:block;background:var(--verde);color:#E8F0EC;text-align:center;padding:14px 0;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.rbs-top:hover{background:var(--verde-chiaro);color:#fff}
.rbs-footer{background:var(--verde-scuro);color:#C0D0C8}
.rbs-footer-grid{max-width:1180px;margin:0 auto;padding:56px 24px 44px;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) 1.35fr;gap:34px}
.rbs-fcol h4{font-family:var(--mono);color:var(--giallo);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.13em;margin:0 0 16px}
.rbs-fcol a{display:block;color:#C0D0C8;font-size:.89rem;line-height:1.5;margin-bottom:10px;text-decoration:none}
.rbs-fcol a:hover{color:#fff;text-decoration:underline}
.rbs-fbrand img{max-width:210px;height:auto;margin-bottom:14px}
.rbs-fbrand p{font-size:.89rem;line-height:1.7;margin:0 0 12px}
.rbs-fbrand a{display:inline;color:var(--oro)}
.rbs-fbrand a:hover{color:#fff}
.rbs-fmotto{color:var(--oro);font-style:italic}
.rbs-fpag{font-family:var(--mono);font-size:.72rem !important;color:#86A093;border-top:1px solid rgba(255,255,255,.13);padding-top:12px;letter-spacing:.02em}
.rbs-footer-legal{background:#05231A;padding:16px 24px}
.rbs-footer-legal p{max-width:1180px;margin:0 auto;font-family:var(--mono);font-size:.72rem;color:#7B9187;text-align:center;line-height:1.9;letter-spacing:.02em}
.rbs-footer-legal a{color:#A2B8AC;text-decoration:none}
.rbs-footer-legal a:hover{color:#fff;text-decoration:underline}

/* ============ 12. RESPONSIVE ============ */
@media (max-width:900px){
  .rbs-footer-grid{grid-template-columns:repeat(2,1fr)}
  .rbs-fbrand{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);padding-top:24px}
  .rbs-trust ul{justify-content:flex-start;gap:14px;font-size:.68rem}
  .rbs-hero{padding:56px 20px}
}
@media (max-width:480px){
  .rbs-footer-grid{gap:22px;padding:36px 18px 28px}
  .rbs-specifiche dl{grid-template-columns:1fr}
  .rbs-specifiche dd{text-align:left;border-top:none;padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* ============ 13. SEZIONE DELLA CASA (signature) ============ */
.rbs-casa{background:var(--verde-scuro);border-radius:var(--rag);padding:32px 24px 28px;overflow:hidden}
.rbs-casa-svg{width:100%;height:auto;display:block;max-height:520px}
.rbs-casa-svg text{font-family:var(--mono);font-size:15px;fill:#fff;letter-spacing:.09em}
.rbs-casa-lab line{stroke:rgba(255,255,255,.34);stroke-width:1.4;stroke-dasharray:4 4}
.rbs-casa-lab g{transition:opacity .18s}
.rbs-casa-corpo{opacity:.92}
.rbs-hit{fill:transparent;stroke:none}
.rbs-zona{cursor:pointer;transition:opacity .18s}
.rbs-zona:hover .rbs-hit{fill:rgba(255,180,0,.14)}
.rbs-zona:focus-visible .rbs-hit{fill:rgba(255,180,0,.2);stroke:var(--giallo);stroke-width:2}
.rbs-casa:has(.rbs-zona:hover) .rbs-zona:not(:hover){opacity:.42}

.rbs-casa-legenda{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(184px,1fr));gap:2px;counter-reset:none}
.rbs-casa-legenda li{margin:0}
.rbs-casa-legenda a{display:block;padding:14px 16px;text-decoration:none;color:#BCCDC5;font-size:.83rem;line-height:1.5;border-top:2px solid rgba(255,255,255,.14);transition:border-color .18s,color .18s,background .18s}
.rbs-casa-legenda a:hover{border-top-color:var(--giallo);background:rgba(255,255,255,.04);color:#fff}
.rbs-casa-legenda span{display:block;font-family:var(--mono);font-size:.72rem;color:var(--giallo);letter-spacing:.12em;margin-bottom:5px}
.rbs-casa-legenda strong{display:block;font-family:var(--display);font-size:.98rem;color:#fff;font-weight:600;margin-bottom:3px}

@media (max-width:700px){
  .rbs-casa{padding:20px 14px}
  .rbs-casa-svg text{font-size:19px}
  .rbs-casa-legenda{grid-template-columns:1fr 1fr}
}

/* ============ 14. TRE PILASTRI ============ */
.rbs-pilastri{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border:1px solid var(--bordo);border-radius:var(--rag);overflow:hidden}
.rbs-pilastro{padding:26px 24px;border-right:1px solid var(--bordo)}
.rbs-pilastro:last-child{border-right:none}
.rbs-pilastro .rbs-num{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--giallo);display:block;margin-bottom:10px}
.rbs-pilastro h3{color:var(--verde);margin-bottom:8px}
.rbs-pilastro p{font-size:.9rem;color:var(--grigio);margin:0}
@media (max-width:700px){.rbs-pilastro{border-right:none;border-bottom:1px solid var(--bordo)}}

/* ============ 15. CORREZIONI AUDIT (setup 8) ============ */

/* Titolo "Home" e link Edit nascosti sulla pagina iniziale */
.home .site-main > .type-page > .entry-header,
.home .page .entry-title { display: none; }
.edit-link, a.post-edit-link { display: none !important; }

/* Barra di fiducia: a tutta larghezza, incollata all'header */
.site-content { padding-top: 0; }
.rbs-trust {
  margin: 0 calc(50% - 50vw) 34px;
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

/* Galleria prodotto: sempre visibile e contenuta */
.woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce div.product div.images { overflow: hidden; position: relative; }
.woocommerce div.product div.images img { width: 100%; height: auto; display: block; }
.woocommerce div.product div.images .flex-viewport { overflow: hidden !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
img.zoomImg { max-width: none; }

/* Footer: vince sulla specificita di Storefront (.site-footer a) */
.site-footer a.rbs-top { color: #E8F0EC; }
.site-footer a.rbs-top:hover { color: #fff; }
.site-footer .rbs-footer .rbs-fcol a { color: #C0D0C8; }
.site-footer .rbs-footer .rbs-fcol a:hover { color: #fff; }
.site-footer .rbs-footer .rbs-fcol h4 { color: var(--giallo); }
.site-footer .rbs-footer .rbs-fbrand a { color: var(--oro); }
.site-footer .rbs-footer .rbs-fbrand a:hover { color: #fff; }
.site-footer .rbs-footer-legal a { color: #A2B8AC; }
.site-footer .rbs-footer-legal a:hover { color: #fff; }

/* Occhielli su fondo chiaro: oro scuro leggibile (non giallo puro) */
.rbs-num, .rbs-eyebrow--scuro { color: #A57C00; }

/* Suffisso "IVA inclusa" discreto */
.price .woocommerce-price-suffix,
.woocommerce div.product p.price .woocommerce-price-suffix {
  font-size: .55em;
  font-weight: 400;
  color: var(--grigio);
  letter-spacing: .02em;
  white-space: nowrap;
}

/* ============ 16. PAGINE LEGALI E ISTITUZIONALI ============ */
.rbs-legal { max-width: 840px; }
.rbs-legal .rbs-data-agg {
  font-family: var(--mono); font-size: .74rem; color: var(--grigio);
  letter-spacing: .04em; margin-bottom: 26px; display: block;
}
.rbs-legal h2 {
  font-size: 1.3rem; margin: 42px 0 14px; padding-left: 14px;
  border-left: 3px solid var(--giallo);
}
.rbs-legal h3 { font-size: 1.05rem; margin: 26px 0 8px; }
.rbs-legal ul { margin: 0 0 18px 20px; }
.rbs-legal li { margin-bottom: 6px; }
.rbs-legal table { width: 100%; border-collapse: collapse; font-size: .88rem; margin: 18px 0 26px; }
.rbs-legal th {
  background: var(--calce); font-family: var(--mono); font-size: .7rem;
  text-transform: uppercase; letter-spacing: .08em; text-align: left; font-weight: 500;
}
.rbs-legal th, .rbs-legal td { border: 1px solid var(--bordo); padding: 10px 12px; vertical-align: top; }
.rbs-riquadro {
  background: var(--calce); border-left: 3px solid var(--verde);
  padding: 18px 22px; border-radius: var(--rag); margin: 24px 0;
}
.rbs-riquadro--giallo { border-left-color: var(--giallo); }
.rbs-riquadro strong:first-child {
  font-family: var(--mono); font-size: .72rem; text-transform: uppercase;
  letter-spacing: .12em; color: var(--verde); display: block; margin-bottom: 8px;
}
.rbs-contatto-box {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2px; margin: 24px 0; border: 1px solid var(--bordo); border-radius: var(--rag); overflow: hidden;
}
.rbs-contatto-box > div { padding: 16px 18px; background: #fff; border-right: 1px solid var(--bordo); }
.rbs-contatto-box span {
  font-family: var(--mono); font-size: .68rem; text-transform: uppercase;
  letter-spacing: .1em; color: var(--grigio); display: block; margin-bottom: 5px;
}

/* ============ 17. FOOTER A TUTTA LARGHEZZA (setup 10) ============ */
/* Le bande del footer escono dal contenitore di Storefront e coprono
   l'intera larghezza dello schermo; il CONTENUTO resta centrato dentro. */
body { overflow-x: hidden; }

.rbs-top,
.rbs-footer,
.rbs-footer-legal {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.rbs-footer { margin-bottom: 0; }
.rbs-footer-legal { margin-top: 0; }

/* niente spazio bianco tra fine contenuto e footer */
.site-footer { margin-top: 48px; }
.site-footer .col-full { margin-bottom: 0; padding-bottom: 0; }

/* contenitore contenuti un filo piu ampio, stile 2026 */
.col-full { max-width: 1240px; }

/* per coerenza, anche l'hero della home va da bordo a bordo */
.home .rbs-hero {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-radius: 0;
  padding-left: max(24px, calc(50vw - 590px));
  padding-right: max(24px, calc(50vw - 590px));
  margin-top: -34px;   /* si incolla alla barra di fiducia */
}

/* ============ 18. GUIDA ALLA POSA — layout editoriale ============ */
.rbs-passi { counter-reset: passo; margin: 40px 0; }
.rbs-passo {
  display: grid; grid-template-columns: 300px 1fr; gap: 34px;
  align-items: center; padding: 36px 0; border-top: 1px solid var(--bordo);
}
.rbs-passo:nth-child(even) { grid-template-columns: 1fr 300px; }
.rbs-passo:nth-child(even) .rbs-passo-fig { order: 2; }
.rbs-passo-fig {
  background: var(--verde-scuro); border-radius: var(--rag); padding: 20px;
}
.rbs-passo-fig svg { width: 100%; height: auto; display: block; }
.rbs-passo-txt h3 {
  font-size: 1.3rem; margin-bottom: 10px; display: flex; align-items: baseline; gap: 14px;
}
.rbs-passo-txt h3::before {
  counter-increment: passo; content: counter(passo, decimal-leading-zero);
  font-family: var(--mono); font-size: .85rem; color: var(--giallo);
  background: var(--verde); padding: 5px 10px; border-radius: 2px;
}
.rbs-passo-txt p { color: var(--grigio); margin: 0 0 10px; }
.rbs-passo-tip {
  font-family: var(--mono); font-size: .78rem; color: var(--verde);
  border-left: 3px solid var(--giallo); padding: 6px 12px; background: var(--calce);
  display: inline-block;
}
@media (max-width: 760px) {
  .rbs-passo, .rbs-passo:nth-child(even) { grid-template-columns: 1fr; gap: 18px; }
  .rbs-passo:nth-child(even) .rbs-passo-fig { order: 0; }
}

/* Checklist attrezzi */
.rbs-kit { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 24px 0; }
.rbs-kit li {
  list-style: none; margin: 0; background: #fff; border: 1px solid var(--bordo);
  border-radius: var(--rag); padding: 13px 15px; font-size: .88rem;
}
.rbs-kit li::before { content: "✓ "; color: var(--verde); font-weight: 700; }

/* FAQ ad accordion nativo */
.rbs-faq details {
  border: 1px solid var(--bordo); border-radius: var(--rag);
  margin-bottom: 10px; background: #fff; overflow: hidden;
}
.rbs-faq summary {
  cursor: pointer; padding: 16px 20px; font-weight: 600; list-style: none;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.rbs-faq summary::-webkit-details-marker { display: none; }
.rbs-faq summary::after {
  content: "+"; font-family: var(--mono); color: var(--giallo);
  font-size: 1.25rem; transition: transform .18s;
}
.rbs-faq details[open] summary::after { transform: rotate(45deg); }
.rbs-faq details[open] summary { border-bottom: 1px solid var(--bordo); color: var(--verde); }
.rbs-faq details > div { padding: 16px 20px; color: var(--grigio); font-size: .93rem; }

/* ============ 19. REALIZZAZIONI — griglia portfolio ============ */
.rbs-portfolio { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; margin: 32px 0; }
.rbs-progetto {
  position: relative; border-radius: var(--rag); overflow: hidden;
  aspect-ratio: 4 / 3; background: var(--verde-scuro);
}
.rbs-progetto img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .9; }
.rbs-progetto figcaption {
  position: absolute; inset: auto 0 0 0;
  background: linear-gradient(transparent, rgba(5, 30, 22, .92));
  color: #fff; padding: 40px 18px 14px;
}
.rbs-progetto figcaption strong { font-family: var(--display); display: block; }
.rbs-progetto figcaption span { font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; color: var(--oro); text-transform: uppercase; }
.rbs-progetto .rbs-badge-foto {
  position: absolute; top: 12px; right: 12px; background: rgba(255,255,255,.92);
  font-family: var(--mono); font-size: .62rem; letter-spacing: .08em;
  padding: 5px 9px; border-radius: 2px; color: var(--verde-scuro); text-transform: uppercase;
}

/* ============ 20. FORM — redesign card ============ */
.rbs-pagina-form { display: grid; grid-template-columns: 340px 1fr; gap: 34px; align-items: start; margin: 8px 0 40px; }
@media (max-width: 860px) { .rbs-pagina-form { grid-template-columns: 1fr; } }
.rbs-form-lato .rbs-riquadro { margin-top: 0; }
.rbs-form-lato ul { list-style: none; margin: 18px 0 0; padding: 0; }
.rbs-form-lato li { padding: 11px 0; border-top: 1px solid var(--bordo); font-size: .92rem; }
.rbs-form-lato li span { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: var(--grigio); display: block; margin-bottom: 3px; }

.rbs-form-card {
  background: #fff; border: 1px solid var(--bordo); border-top: 4px solid var(--giallo);
  border-radius: var(--rag); padding: 30px 30px 26px;
  box-shadow: 0 14px 40px rgba(11, 64, 48, .08);
}
.rbs-form-card .wpcf7 label {
  font-family: var(--mono); font-size: .7rem; font-weight: 500;
  text-transform: uppercase; letter-spacing: .1em; color: var(--grigio); margin-bottom: 6px;
}
.rbs-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.rbs-form-grid .rbs-campo-full { grid-column: 1 / -1; }
@media (max-width: 640px) { .rbs-form-grid { grid-template-columns: 1fr; } }
.rbs-campo { margin: 0; }
.rbs-form-card input[type=text], .rbs-form-card input[type=email],
.rbs-form-card input[type=tel], .rbs-form-card input[type=number],
.rbs-form-card textarea {
  width: 100%; border: 1.5px solid var(--bordo); border-radius: var(--rag);
  padding: 13px 14px; font-size: .96rem; background: var(--calce);
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.rbs-form-card input:hover, .rbs-form-card textarea:hover { border-color: #B9B4A6; }
.rbs-form-card input:focus, .rbs-form-card textarea:focus {
  border-color: var(--verde); background: #fff; outline: none;
  box-shadow: 0 0 0 4px rgba(11, 64, 48, .1);
}
.rbs-form-card textarea { min-height: 130px; resize: vertical; }
.rbs-form-card .wpcf7-acceptance { font-family: var(--body); font-size: .85rem; text-transform: none; letter-spacing: 0; }
.rbs-form-card .wpcf7-acceptance input { width: auto; margin-right: 8px; accent-color: var(--verde); }
.rbs-form-card input[type=submit] {
  width: 100%; background: var(--giallo); border-color: var(--giallo);
  color: var(--verde-scuro); font-size: 1rem; padding: 15px; margin-top: 6px;
  font-weight: 700;
}
.rbs-form-card input[type=submit]:hover { background: var(--oro); border-color: var(--oro); }
.rbs-form-card .wpcf7-spinner { display: block; margin: 8px auto 0; }
.rbs-form-card .wpcf7-not-valid { border-color: #C0392B !important; background: #FDF3F2 !important; }
.rbs-form-card .wpcf7-not-valid-tip { font-family: var(--body); font-size: .78rem; color: #C0392B; margin-top: 4px; text-transform: none; letter-spacing: 0; }
.rbs-form-card .wpcf7-response-output {
  margin: 18px 0 0 !important; padding: 14px 16px !important;
  border: 1px solid var(--bordo) !important; border-left: 4px solid var(--giallo) !important;
  border-radius: var(--rag); font-size: .92rem;
}
.rbs-form-card .wpcf7 form.sent .wpcf7-response-output {
  border-left-color: #1E7A3C !important; background: #F0F7F1;
}
.rbs-form-card .wpcf7 form.invalid .wpcf7-response-output,
.rbs-form-card .wpcf7 form.failed .wpcf7-response-output {
  border-left-color: #C0392B !important; background: #FDF3F2;
}

/* ============ 21. CATEGORIA VUOTA — "in arrivo" ============ */
.rbs-in-arrivo {
  text-align: center; padding: 56px 24px; background: var(--calce);
  border-radius: var(--rag); margin: 24px 0;
}
.rbs-in-arrivo h2 { margin-bottom: 10px; }
.rbs-in-arrivo p { color: var(--grigio); max-width: 520px; margin: 0 auto 22px; }

/* ============ 22. CORREZIONI AUDIT ESTERNO (setup 12) ============ */

/* C-04 : contrasto "Torna su" garantito */
.site-footer a.rbs-top, .rbs-top { color: #EDF4F0 !important; }
.site-footer a.rbs-top:hover, .rbs-top:hover { color: #fff !important; }

/* D-03 : Chiama ora + WhatsApp nell'header */
.rbs-header-cta { display: flex; gap: 10px; justify-content: flex-end; margin-top: 6px; }
.rbs-header-cta a {
  font-family: var(--mono); font-size: .74rem; letter-spacing: .06em;
  text-decoration: none; padding: 8px 13px; border-radius: 3px; font-weight: 600;
}
.rbs-call { background: var(--verde); color: #fff !important; }
.rbs-call:hover { background: var(--verde-chiaro); }
.rbs-wa { border: 1.5px solid var(--verde); color: var(--verde) !important; }
.rbs-wa:hover { background: var(--verde); color: #fff !important; }
@media (max-width: 700px) {
  .rbs-header-cta { position: fixed; bottom: 66px; right: 12px; z-index: 999; flex-direction: column; }
  .rbs-header-cta a { box-shadow: 0 6px 18px rgba(0,0,0,.25); }
}

/* D-02 : mobile — una colonna sotto i 700 px, trust bar compatta, SVG leggibile */
@media (max-width: 700px) {
  .rbs-pilastri, .rbs-servizi, .rbs-casa-legenda { grid-template-columns: 1fr !important; }
  .rbs-trust li:nth-child(n+3) { display: none; }   /* 2 messaggi bastano */
  .rbs-casa-lab { display: none; }                   /* i label vivono nella legenda */
}

/* D-04 : intestazioni WooCommerce allineate all'editoriale */
.woocommerce-products-header, .woocommerce-page .page-header { text-align: left; }
.woocommerce-products-header__title.page-title,
.woocommerce-page .entry-title {
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  text-align: left;
}
.term-description { max-width: 640px; color: var(--grigio); }

/* S-07 : tunnel alleggerito — via le distrazioni su carrello e pagamento */
.woocommerce-checkout .storefront-primary-navigation,
.woocommerce-checkout .storefront-handheld-footer-bar,
.woocommerce-checkout .rbs-trust li:nth-child(n+4),
.woocommerce-cart .storefront-handheld-footer-bar { display: none; }
.woocommerce-checkout .rbs-footer-grid { display: none; }
.woocommerce-checkout .site-header { padding-bottom: 18px; }

/* B-07 : bottone d'ordine ben visibile */
#place_order { background: var(--giallo) !important; border-color: var(--giallo) !important; color: var(--verde-scuro) !important; font-weight: 700; }
#place_order:hover { background: var(--oro) !important; }

/* ============ 23. LINGUA + WHATSAPP + CONTATTI (setup 13) ============ */
/* header CTA rimosso : selettore lingua discreto al suo posto */
.rbs-header-cta { display: none; }
.rbs-lang { display: flex; justify-content: flex-end; margin-top: 6px; }
.rbs-lang .gtranslate_wrapper, .rbs-lang select { font-size: .82rem; }

.rbs-wa-line { display: inline-flex; align-items: center; gap: 6px; }
.rbs-wa-line svg { flex: none; }

/* indirizzo cliccabile : leggero affordance */
.rbs-fbrand p > a[href*="google.com/maps"] { border-bottom: 1px dotted rgba(255,191,0,.5); }
.rbs-form-lato a[href*="google.com/maps"] { font-weight: 600; }

/* ============ 24. FIX LINGUA + FOOTER (setup 14) ============ */
/* Un solo selettore di lingua, compatto */
.rbs-lang { display: flex; justify-content: flex-end; margin: 4px 0 0; }
.rbs-lang > div + div, .rbs-lang > select + select { display: none !important; }
.rbs-lang select {
  font-size: .78rem; padding: 4px 8px; border: 1px solid var(--bordo);
  border-radius: 3px; background: #fff; max-width: 150px;
}

/* Contatti del footer come lista : niente <br>, la traduzione non li fonde */
.rbs-fcontact { list-style: none; margin: 0 0 14px; padding: 0; }
.rbs-fcontact li { margin: 0 0 9px; font-size: .89rem; line-height: 1.5; }
.rbs-fcontact .rbs-wa-line { display: inline-flex; align-items: center; gap: 7px; }

/* Colori del footer BLINDATI : hex espliciti, !important, e anche i <font>
   che Google Translate inserisce dentro i link */
.site-footer .rbs-footer .rbs-fcol a,
.site-footer .rbs-footer .rbs-fcol a font,
.site-footer .rbs-footer .rbs-fcontact a,
.site-footer .rbs-footer .rbs-fcontact a font { color: #C8D6CE !important; }
.site-footer .rbs-footer .rbs-fcol a:hover,
.site-footer .rbs-footer .rbs-fcontact a:hover { color: #ffffff !important; }
.site-footer .rbs-footer .rbs-fbrand > a,
.site-footer .rbs-footer p a,
.site-footer .rbs-footer p a font { color: #FFBF00 !important; }
.site-footer .rbs-footer-legal a,
.site-footer .rbs-footer-legal a font { color: #A2B8AC !important; }
.site-footer .rbs-footer-legal a:hover { color: #ffffff !important; }
.site-footer .rbs-fcol h4, .site-footer .rbs-fcol h4 font { color: #FFB400 !important; }
