/*
Theme Name: RICCAPHOTO
Theme URI: https://www.riccaphoto.it
Author: RICCA S.R.L.
Description: Tema custom RICCAPHOTO – fotografia, copisteria, toner, cancelleria e noleggio multifunzioni. Da usare con il plugin "RICCAPHOTO Rental".
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: riccaphoto
License: Proprietary
*/

:root{
  --rc-red:#FE0000; --rc-red-dark:#C40000; --rc-black:#111; --rc-ink:#222;
  --rc-grey:#6b6b6b; --rc-line:#e6e6e6; --rc-soft:#f6f6f4; --rc-white:#fff;
  --rc-yellow:#FFC400; --rc-green:#25D366;
  --rc-radius:14px; --rc-max:1200px;
  --rc-font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--rc-font);color:var(--rc-ink);background:var(--rc-white);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--rc-red-dark)}
h1,h2,h3,h4{line-height:1.2;color:var(--rc-black);margin:0 0 .5em;font-weight:800}
h1{font-size:clamp(2rem,5vw,3.2rem)} h2{font-size:clamp(1.6rem,3.5vw,2.3rem)} h3{font-size:1.25rem}
.rc-wrap{max-width:var(--rc-max);margin:0 auto;padding:0 16px}
.rc-section{padding:64px 0}
.rc-section--soft{background:var(--rc-soft)}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;z-index:999;background:#fff;padding:8px}

/* Buttons */
.rc-btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.4em;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;transition:transform .15s,background .15s}
.rc-btn:hover{transform:translateY(-2px)}
.rc-btn--red{background:var(--rc-red);color:#fff}
.rc-btn--red:hover{background:var(--rc-red-dark)}
.rc-btn--black{background:var(--rc-black);color:#fff}
.rc-btn--ghost{background:transparent;color:#fff;border-color:#fff}
.rc-btn--outline{background:#fff;color:var(--rc-black);border-color:var(--rc-black)}

/* Header */
.rc-topbar{background:var(--rc-black);color:#fff;font-size:.85rem}
.rc-topbar .rc-wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.rc-topbar a{color:#fff;text-decoration:none}
.rc-header{background:#fff;border-bottom:4px solid var(--rc-red);position:sticky;top:0;z-index:50}
.rc-header .rc-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.rc-logo img{height:44px;width:auto}
.rc-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.rc-nav a{display:block;padding:.55em .6em;text-decoration:none;color:var(--rc-black);font-weight:700;font-size:.9rem;border-radius:8px;white-space:nowrap}
.rc-nav a:hover,.rc-nav .current-menu-item>a{background:var(--rc-red);color:#fff}
.rc-nav li{position:relative}
.rc-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);border-radius:10px;padding:6px;min-width:220px;flex-direction:column}
.rc-nav li:hover>.sub-menu,.rc-nav li:focus-within>.sub-menu{display:flex}
.rc-burger{display:none;background:none;border:0;font-size:1.8rem;cursor:pointer}
@media (max-width:1180px){
  .rc-burger{display:block}
  .rc-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:4px solid var(--rc-red);padding:8px 16px}
  .rc-nav.is-open{display:block}
  .rc-nav ul{flex-direction:column}
  .rc-nav .sub-menu{display:flex;position:static;box-shadow:none;padding-left:12px}
}

/* Hero */
.rc-hero{background:radial-gradient(circle at 85% 20%,#ff3b3b 0,var(--rc-red) 35%,var(--rc-red-dark) 100%);color:#fff;padding:80px 0 72px;overflow:hidden}
.rc-hero h1{color:#fff}
.rc-hero p{font-size:1.2rem;max-width:620px}
.rc-hero .rc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

/* Rental banner */
.rc-rental-banner{background:var(--rc-black);color:#fff;border-radius:var(--rc-radius);padding:40px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;margin-top:-40px;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.rc-rental-banner h2{color:#fff}
.rc-rental-banner .rc-badge{background:var(--rc-yellow);color:#000}
.rc-rental-banner ul{margin:0;padding-left:1.1em}
@media (max-width:760px){.rc-rental-banner{grid-template-columns:1fr;padding:28px}}

/* Cards */
.rc-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rc-card{background:#fff;border:1px solid var(--rc-line);border-radius:var(--rc-radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.rc-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.1);transform:translateY(-3px)}
.rc-card__body{padding:20px;flex:1;display:flex;flex-direction:column;gap:8px}
.rc-card__icon{width:56px;height:56px;border-radius:14px;background:var(--rc-red);color:#fff;display:grid;place-items:center;font-size:1.6rem}
.rc-card__more{margin-top:auto;font-weight:700;text-decoration:none}
.rc-badge{display:inline-block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.3em .7em;border-radius:999px;background:var(--rc-red);color:#fff}

/* Content */
.rc-page-head{background:var(--rc-soft);padding:48px 0;border-bottom:1px solid var(--rc-line)}
.rc-content{padding:48px 0}
.rc-content .entry>*{max-width:860px}
.rc-content .entry .alignwide,.rc-content .entry .rc-wide{max-width:none}

/* Footer */
.rc-footer{background:var(--rc-black);color:#ddd;padding:56px 0 24px;margin-top:0}
.rc-footer a{color:#fff}
.rc-footer__cols{display:grid;gap:32px;grid-template-columns:2fr 1fr 1fr}
.rc-footer__bottom{border-top:1px solid #333;margin-top:32px;padding-top:16px;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.rc-footer ul{list-style:none;padding:0;margin:0}
@media (max-width:760px){.rc-footer__cols{grid-template-columns:1fr}}

/* WhatsApp */
.rc-wa{position:fixed;right:18px;bottom:18px;z-index:99;width:60px;height:60px;border-radius:50%;background:var(--rc-green);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.rc-wa svg{width:32px;height:32px;fill:#fff}

/* ---- 1.1.0: hero con illustrazione, card con immagini, sezioni nuove ---- */
.rc-badge--white{background:#fff;color:var(--rc-red)}
.rc-hero{padding:56px 0 88px}
.rc-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}
.rc-hero__img{width:100%;max-width:520px;justify-self:end}
@media (max-width:860px){.rc-hero__grid{grid-template-columns:1fr}.rc-hero__img{max-width:260px;justify-self:center;margin-top:0}}
.rc-grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.rc-grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.rc-grid--3{grid-template-columns:1fr}}
.rc-card__media{display:block;aspect-ratio:400/260;overflow:hidden;background:#FFF1EF}
.rc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rc-card:hover .rc-card__media img{transform:scale(1.04)}
.rc-card__body h3{margin:0}
.rc-card__body p{margin:0}
.rc-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.rc-split__img{width:100%;border-radius:var(--rc-radius)}
@media (max-width:800px){.rc-split{grid-template-columns:1fr}}
.rc-steps{padding-left:1.2em;margin:12px 0 20px}
.rc-steps li{margin-bottom:4px}
.rc-steps li::marker{color:var(--rc-red);font-weight:800}
.rc-small{font-size:.85rem;color:var(--rc-grey);margin-top:12px}
.rc-actions{display:flex;flex-wrap:wrap;gap:12px}
.rc-about{border-top:1px solid var(--rc-line)}
.rc-about__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
@media (max-width:800px){.rc-about__grid{grid-template-columns:1fr}}
.rc-contact-list{list-style:none;margin:0;padding:24px;background:var(--rc-soft);border-radius:var(--rc-radius);display:flex;flex-direction:column;gap:14px}
.rc-contact-list span{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rc-grey)}
.rc-contact-list a{color:var(--rc-black);font-weight:700;text-decoration:none}
.rc-contact-list a:hover{color:var(--rc-red)}
.rc-topbar a{white-space:nowrap}

/* ---- 1.2.0: foto reali, testate pagine, testi di settore, barra mobile ---- */
.rc-hero--photo{background:linear-gradient(90deg,rgba(180,0,0,.96) 0%,rgba(254,0,0,.9) 42%,rgba(254,0,0,.55) 70%,rgba(0,0,0,.25) 100%),var(--rc-hero-img) center/cover no-repeat;padding:88px 0 110px}
.rc-hero--photo .rc-hero__grid{grid-template-columns:1fr}
.rc-hero--photo h1,.rc-hero--photo p{max-width:640px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
@media (max-width:860px){.rc-hero--photo{background:linear-gradient(180deg,rgba(200,0,0,.92),rgba(254,0,0,.85)),var(--rc-hero-img) center/cover;padding:56px 0 88px}}
.rc-card__media--photo{background:#eee}
.rc-page-head--photo{background:linear-gradient(90deg,rgba(17,17,17,.85) 0%,rgba(17,17,17,.55) 55%,rgba(17,17,17,.15) 100%),var(--rc-head-img) center/cover no-repeat;padding:96px 0 56px;border-bottom:4px solid var(--rc-red)}
.rc-page-head--photo h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.entry .rc-lead{font-size:1.2rem;font-weight:600;color:var(--rc-black)}
.entry h2{margin-top:1.6em}
.rc-checklist{list-style:none;padding:0}
.rc-checklist li{position:relative;padding:6px 0 6px 32px;border-bottom:1px solid var(--rc-line)}
.rc-checklist li::before{content:"";position:absolute;left:4px;top:12px;width:14px;height:8px;border-left:3px solid var(--rc-red);border-bottom:3px solid var(--rc-red);transform:rotate(-45deg)}
.rc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:16px 0}
.rc-cols>div{background:var(--rc-soft);border-radius:var(--rc-radius);padding:18px 20px}
.rc-cols h3{margin-top:0}
.rc-cols ul{padding-left:1.1em;margin:0}
.rc-faq details{border:1px solid var(--rc-line);border-radius:12px;padding:12px 16px;margin-bottom:10px;background:#fff}
.rc-faq summary{font-weight:700;cursor:pointer}
.rc-faq p{margin:10px 0 0}
.rc-cta-box{margin-top:32px;background:var(--rc-black);color:#fff;border-radius:var(--rc-radius);padding:24px}
.rc-cta-box p{margin:0 0 12px}
.rc-cta-box .rc-btn--outline{background:transparent;color:#fff;border-color:#fff}
.entry .rc-btn{text-decoration:none;margin:4px 6px 4px 0}
.rc-mobilebar{display:none}
@media (max-width:700px){
  .rc-mobilebar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:98;background:#111;box-shadow:0 -4px 16px rgba(0,0,0,.2)}
  .rc-mobilebar a{color:#fff;text-align:center;padding:14px 4px;font-weight:700;text-decoration:none;font-size:.95rem}
  .rc-mobilebar a.is-wa{background:#25D366}
  .rc-wa{display:none}
  body{padding-bottom:52px}
}

/* 1.3.0 */
.rc-btn--wa{background:#25D366;color:#fff}
.rc-btn--wa:hover{background:#1ebe5a}

/* 1.3.1: hero noleggio */
.rc-btn--white{background:#fff;color:var(--rc-red);border-color:#fff}
.rc-btn--white:hover{background:#ffe9e9}
.rc-hero__points{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-weight:700}
.rc-hero__points li::before{content:"✓";margin-right:8px}
.rc-nav a{font-size:1rem}
@media (min-width:640px) and (max-width:1180px){.rc-burger{display:none}.rc-nav{display:block;position:static;border:0;padding:0}.rc-nav ul{flex-direction:row}}
.rc-hero--photo h1{max-width:780px}

/* 1.4.0: pagina noleggio */
html{scroll-padding-top:110px}
.rc-formulas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 12px}
.rc-formula{position:relative;background:#fff;border:1px solid var(--rc-line);border-top:4px solid var(--rc-black);border-radius:var(--rc-radius);padding:22px 24px 8px}
.rc-formula--flex{border-top-color:var(--rc-red)}
.rc-formula h3{margin:4px 0 6px;font-size:1.5rem}
.rc-formula p{margin:0 0 6px;color:#444}
.rc-formula__tag{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--rc-grey)}
.rc-formulas__note{background:var(--rc-soft);border-radius:12px;padding:12px 16px}
@media (max-width:760px){.rc-formulas{grid-template-columns:1fr}}
.rc-band{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;background:var(--rc-red);color:#fff;border-radius:var(--rc-radius);padding:28px 32px;margin:40px 0 24px}
.rc-band h2{color:#fff;margin:0 0 6px}
.rc-band p{margin:0;max-width:640px}
.rc-band .rc-btn{margin:0}
