/*
Theme Name: Ivan Bertusi Photography
Theme URI: https://www.ivanbertusi.it/
Author: OpenAI per Ivan Bertusi
Description: Tema WordPress fotografico editoriale, responsive e autonomo, con portfolio gestibile da amministrazione e contenuti demo importabili al primo avvio.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: ivan-bertusi
License: GNU General Public License v2 or later
*/

:root{--bg:#f4f1eb;--surface:#fff;--text:#161616;--muted:#6e6b65;--line:#d8d3ca;--accent:#1f2922;--max:1320px;--radius:2px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.screen-reader-text{position:absolute;left:-9999px}.site-wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:99;background:rgba(244,241,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-branding{display:flex;align-items:baseline;gap:12px}.site-title{font-family:Georgia,'Times New Roman',serif;font-size:23px;letter-spacing:.03em}.site-tagline{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.menu-toggle{display:none;background:none;border:0;font-size:24px}.primary-menu{display:flex;gap:28px;list-style:none;padding:0;margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.primary-menu a{padding:30px 0 26px;border-bottom:2px solid transparent}.primary-menu a:hover,.primary-menu .current-menu-item>a{border-color:var(--text)}
.hero{min-height:72vh;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:72px 0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.24em;color:var(--muted);margin:0 0 18px}.hero h1,.page-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.02;letter-spacing:-.025em}.hero h1{font-size:clamp(48px,7vw,106px);margin:0 0 26px}.hero-copy{font-size:18px;max-width:620px;color:#3f3d39}.hero-media{position:relative}.hero-media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#e9e5de}.hero-caption{font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin-top:12px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--text);padding:13px 18px;margin-top:18px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;transition:.2s}.button:hover{background:var(--text);color:#fff}.section{padding:90px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px;border-bottom:1px solid var(--line);padding-bottom:18px}.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,58px);font-weight:400;margin:0}.section-link{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.portfolio-card{grid-column:span 4}.portfolio-card:nth-child(5n+1){grid-column:span 7}.portfolio-card:nth-child(5n+2){grid-column:span 5}.portfolio-image{overflow:hidden;background:#ddd}.portfolio-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}.portfolio-card:nth-child(5n+1) .portfolio-image img,.portfolio-card:nth-child(5n+2) .portfolio-image img{aspect-ratio:16/11}.portfolio-card:hover img{transform:scale(1.025)}.portfolio-meta{display:flex;justify-content:space-between;gap:12px;padding-top:10px}.portfolio-title{font-family:Georgia,'Times New Roman',serif;font-size:19px}.portfolio-cat{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.13em}.genres{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.genre-card{background:var(--bg);padding:34px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between}.genre-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px;margin:0}.genre-card span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.about-band{background:var(--accent);color:#f6f3ed}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.about-grid h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,5vw,72px);font-weight:400;line-height:1.05;margin:0}.about-grid p{font-size:19px;color:#d8d8d2;margin-top:0}.page-header{padding:90px 0 45px}.page-title{font-size:clamp(48px,7vw,94px);margin:0}.archive-description{max-width:700px;color:var(--muted)}.filter-nav{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 40px}.filter-nav a{border:1px solid var(--line);padding:8px 11px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.filter-nav a:hover{border-color:var(--text)}.single-photo{padding:70px 0}.single-photo img{max-height:78vh;margin:auto;object-fit:contain}.single-photo-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.entry-content{max-width:820px;font-size:18px}.entry-content h2,.entry-content h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}.entry-content h2{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:2.1em 0 .65em}.entry-content h3{font-size:27px;line-height:1.2;margin:1.7em 0 .45em}.entry-content .ibp-about-intro{font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3vw,36px);line-height:1.35;color:#3f3d39;margin:0 0 1.8em}.entry-content .wp-block-separator{border:0;border-top:1px solid var(--line);margin:64px 0}.entry-content a{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.wp-block-gallery{gap:12px!important}.site-footer{border-top:1px solid var(--line);padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:end}.footer-copy{font-size:12px;color:var(--muted)}
@media(max-width:900px){.menu-toggle{display:block}.primary-navigation{position:absolute;left:0;right:0;top:82px;background:var(--bg);border-bottom:1px solid var(--line);display:none}.primary-navigation.is-open{display:block}.primary-menu{display:block;padding:15px 20px}.primary-menu a{display:block;padding:14px 0}.hero{grid-template-columns:1fr;gap:30px}.hero-media img{height:auto;aspect-ratio:3/2}.portfolio-card,.portfolio-card:nth-child(n){grid-column:span 6}.genres{grid-template-columns:1fr 1fr}.about-grid,.contact-grid{grid-template-columns:1fr}.footer-inner{display:block}}
@media(max-width:600px){.site-wrap{width:min(calc(100% - 24px),var(--max))}.site-tagline{display:none}.header-inner{height:68px}.primary-navigation{top:68px}.hero{padding:42px 0}.hero h1{font-size:50px}.hero-media img{height:auto;aspect-ratio:3/2}.section{padding:64px 0}.portfolio-grid{gap:26px 10px}.portfolio-card,.portfolio-card:nth-child(n){grid-column:span 12}.genres{grid-template-columns:1fr}.single-photo-info{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.page-header{padding:55px 0 30px}}
/* Contact form */
.ibp-contact-form-wrap{margin-top:42px}.ibp-contact-form{border-top:1px solid var(--line);padding-top:34px}.ibp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ibp-field{margin:0 0 22px}.ibp-field label,.ibp-captcha-row label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:8px;color:#3f3d39}.ibp-field input,.ibp-field textarea,.ibp-captcha-row input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.55);color:var(--text);padding:13px 14px;border-radius:0;outline:none;transition:border-color .2s,box-shadow .2s}.ibp-field textarea{resize:vertical;min-height:180px}.ibp-field input:focus,.ibp-field textarea:focus,.ibp-captcha-row input:focus{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.ibp-antispam{margin:8px 0 24px;padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.35)}.ibp-antispam-title{font-family:Georgia,'Times New Roman',serif;font-size:22px;margin:0 0 14px}.ibp-captcha-row{display:grid;grid-template-columns:1fr 110px;align-items:end;gap:18px}.ibp-captcha-row label{margin:0}.ibp-consent{font-size:14px;margin:0 0 8px}.ibp-consent label{display:flex;gap:10px;align-items:flex-start}.ibp-consent input{margin-top:5px}.ibp-form-help{font-size:12px;color:var(--muted);margin:6px 0 0}.ibp-submit{cursor:pointer;background:transparent}.ibp-submit:hover{background:var(--text)}.ibp-form-notice{padding:14px 16px;margin:0 0 24px;border:1px solid}.ibp-form-notice--success{border-color:#50705b;background:#e7eee9}.ibp-form-notice--error{border-color:#8b5b51;background:#f3e8e5}.ibp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ibp-contact-form input[type=checkbox]{accent-color:var(--accent)}
@media(max-width:600px){.ibp-form-grid{grid-template-columns:1fr}.ibp-captcha-row{grid-template-columns:1fr 92px;align-items:center}.ibp-antispam{padding:16px}}

/* Uniform portfolio previews and copyright protection */
.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}
.portfolio-card,.portfolio-card:nth-child(5n+1),.portfolio-card:nth-child(5n+2),.portfolio-card:nth-child(n){grid-column:auto;min-width:0}
.portfolio-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ddd}
.portfolio-image img,.portfolio-card:nth-child(5n+1) .portfolio-image img,.portfolio-card:nth-child(5n+2) .portfolio-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transition:transform .5s ease}
.portfolio-meta{min-height:52px;align-items:flex-start}
.hero-image-wrap{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e9e5de}
.hero-image-wrap img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.single-photo-media{position:relative;display:flex;justify-content:center;align-items:center;min-height:220px;background:#e9e5de;overflow:hidden}
.single-photo-media img{max-height:78vh;max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}
.ibp-protected-media{position:relative}
.ibp-protected-media::after{content:'© Ivan Bertusi';position:absolute;right:10px;bottom:10px;z-index:2;padding:5px 8px;background:rgba(0,0,0,.56);color:#fff;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.12em;pointer-events:none;opacity:.9}
.ibp-protected-image,.wp-block-gallery img,.entry-content figure img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.ibp-copyright-notice{position:fixed;left:50%;bottom:26px;z-index:99999;width:min(92vw,560px);transform:translate(-50%,calc(100% + 60px));opacity:0;pointer-events:none;background:#161616;color:#fff;border:1px solid rgba(255,255,255,.22);padding:17px 20px;box-shadow:0 16px 50px rgba(0,0,0,.24);transition:transform .28s ease,opacity .28s ease}
.ibp-copyright-notice.is-visible{transform:translate(-50%,0);opacity:1}
.ibp-copyright-notice strong,.ibp-copyright-notice span{display:block}
.ibp-copyright-notice strong{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;margin-bottom:3px}
.ibp-copyright-notice span{font-size:12px;color:#ddd;line-height:1.45}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-card,.portfolio-card:nth-child(n){grid-column:auto}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:30px}.portfolio-card,.portfolio-card:nth-child(n){grid-column:auto}.ibp-copyright-notice{bottom:14px;padding:15px 16px}.ibp-protected-media::after{right:7px;bottom:7px}}

/* 1.0.9 — Hero con immagine principale e due secondarie sotto */
.hero-feature{overflow:hidden}
.hero--editorial{min-height:78vh;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:48px;padding:58px 0 72px}
.hero-copy-block{position:relative;z-index:2;padding:28px 0}
.hero--editorial h1{font-size:clamp(46px,5.8vw,88px);max-width:720px}
.hero--editorial .hero-copy{max-width:570px}
.hero-gallery{width:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:16px;min-width:0;align-self:start}
.hero-shot{position:relative;display:block;min-width:0;overflow:hidden;background:#e7e2da}
.hero-shot--main{grid-column:1 / -1;grid-row:1;aspect-ratio:3/2}
.hero-shot--secondary{grid-column:auto;grid-row:2;aspect-ratio:3/2}
.hero-shot--secondary:nth-of-type(2){grid-column:1;grid-row:2}
.hero-shot--secondary:nth-of-type(3){grid-column:2;grid-row:2}
.hero-shot-media{position:absolute;inset:0;overflow:hidden;background:#e7e2da}
.hero-shot-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.hero-shot:hover .hero-shot-media img{transform:scale(1.025)}
.hero-shot-caption{position:absolute;left:14px;right:58px;bottom:13px;z-index:3;color:#fff;font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.14em;text-shadow:0 1px 10px rgba(0,0,0,.75)}
.hero-shot::before{content:'';position:absolute;inset:auto 0 0;z-index:2;height:34%;background:linear-gradient(to top,rgba(0,0,0,.45),transparent);pointer-events:none}
.hero-gallery .ibp-protected-media::after{right:10px;bottom:10px}

.ibp-form-notice{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:center;padding:18px 20px;margin:0 0 28px;border:1px solid;box-shadow:0 12px 34px rgba(22,22,22,.06);outline:none}
.ibp-form-notice-icon{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1}
.ibp-form-notice-copy,.ibp-form-notice-copy strong,.ibp-form-notice-copy span{display:block}
.ibp-form-notice-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400;line-height:1.15;margin-bottom:4px}
.ibp-form-notice-copy span{font-size:14px;line-height:1.5}
.ibp-form-notice--success{color:#254f34;border-color:#86a68e;background:#edf5ef}
.ibp-form-notice--error{color:#703c34;border-color:#bc9188;background:#f8eeeb}

@media(max-width:1080px){
 .hero--editorial{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:32px}
 .hero-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 .hero--editorial{grid-template-columns:1fr;gap:26px;padding:44px 0 64px}
 .hero-copy-block{padding:0;max-width:760px}
 .hero--editorial h1{font-size:clamp(48px,10vw,82px)}
 .hero-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .hero--editorial{padding:38px 0 52px;gap:26px}
 .hero--editorial h1{font-size:48px}
 .hero-gallery{aspect-ratio:auto;display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:12px}
 .hero-shot--main,.hero-shot--secondary,.hero-shot--secondary:nth-of-type(2),.hero-shot--secondary:nth-of-type(3){grid-column:1;grid-row:auto;aspect-ratio:3/2}
 .hero-shot-caption{left:10px;bottom:10px;right:42px;font-size:9px}
 .ibp-form-notice{grid-template-columns:38px 1fr;padding:15px 16px;gap:12px}
 .ibp-form-notice-icon{width:36px;height:36px;font-size:20px}
 .ibp-form-notice-copy strong{font-size:19px}
}
