/* Layout: barra info + header con barra arancione (come il sito storico), hero fotografico con pannello,
   sezioni alternate bianco / arancio chiarissimo, schede foto, footer antracite. */
@font-face{font-family:"Marcellus";src:url(../fonts/marcellus-400.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Hind";src:url(../fonts/hind-400.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Hind";src:url(../fonts/hind-600.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Hind";src:url(../fonts/hind-700.woff) format("woff");font-weight:700;font-display:swap}

:root{
  --bg:#ffffff; --band:#fff4e6; --surface:#ffffff; --fg:#2f3136; --muted:#62656d; --line:#ece4d9;
  --orange:#ff8500; --orange-2:#e7821e; --orange-ink:#b35600; --gold:#dd9933; --navy:#2e3671;
  --on-orange:#1d1e21; --foot:#2f3136; --foot-fg:#e9e6e1; --shadow:0 10px 30px -18px rgba(60,40,10,.45);
  --display:"Marcellus","Cinzel","Times New Roman",serif;
  --body:"Hind","Segoe UI",system-ui,sans-serif;
  --r:10px; --wrap:1160px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#17181b; --band:#221d17; --surface:#1f2125; --fg:#eeebe6; --muted:#aaa59d; --line:#34302a;
  --orange:#ff9124; --orange-2:#f08c2a; --orange-ink:#ffab57; --gold:#e7b05a; --navy:#9aa3ef;
  --on-orange:#1d1e21; --foot:#101113; --foot-fg:#e9e6e1; --shadow:0 10px 30px -18px rgba(0,0,0,.8); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#17181b; --band:#221d17; --surface:#1f2125; --fg:#eeebe6; --muted:#aaa59d; --line:#34302a;
  --orange:#ff9124; --orange-2:#f08c2a; --orange-ink:#ffab57; --gold:#e7b05a; --navy:#9aa3ef;
  --on-orange:#1d1e21; --foot:#101113; --foot-fg:#e9e6e1; --shadow:0 10px 30px -18px rgba(0,0,0,.8); color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:400 18px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:var(--orange-ink);text-underline-offset:3px}
a:hover{color:var(--orange-2)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;text-wrap:balance;margin:0}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.35rem}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font:600 .8rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink);display:flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:13px 0 0 -1px var(--gold),24px 0 0 -2px var(--orange-2);margin-right:24px}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;z-index:50;background:var(--bg);padding:8px 12px}

/* barra info */
.topbar{background:var(--foot);color:var(--foot-fg);font-size:.88rem}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;justify-content:space-between;padding-block:7px}
.topbar a{color:inherit;text-decoration:none;font-weight:600}
.topbar .badges{display:flex;gap:14px;align-items:center;opacity:.9}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:4px solid var(--orange)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
.site-head .wrap{display:flex;align-items:center;gap:20px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);flex:none}
.brand img{height:54px;width:auto}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand img{filter:invert(1) hue-rotate(180deg)}}
:root[data-theme="dark"] .brand img{filter:invert(1) hue-rotate(180deg)}
.brand-text{font-family:var(--display);font-size:1.25rem;line-height:1.05}
.brand-text small{display:block;font:600 .72rem/1.3 var(--body);letter-spacing:.16em;color:var(--orange-ink);text-transform:uppercase}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 4px;justify-content:flex-end}
.nav a{display:block;padding:8px 8px;border-radius:6px;font-weight:600;font-size:.93rem;white-space:nowrap;color:var(--fg);text-decoration:none}
.nav a:hover{background:var(--band);color:var(--orange-ink)}
.nav a[aria-current="page"]{color:var(--orange-ink);box-shadow:inset 0 -3px 0 var(--orange)}
.nav .cta a{background:var(--orange);color:var(--on-orange);padding-inline:14px}
.nav .cta a:hover{background:var(--orange-2);color:var(--on-orange)}
.menu-btn{display:none}
@media (max-width:1180px){
  .menu-btn{display:block;margin-left:auto}
  .menu-btn summary{list-style:none;cursor:pointer;font-weight:700;padding:9px 14px;border:2px solid var(--orange);border-radius:8px}
  .menu-btn summary::-webkit-details-marker{display:none}
  .menu-btn[open] summary{background:var(--orange);color:var(--on-orange)}
  .nav{display:none}
  .menu-btn[open] + .nav{display:block;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:4px solid var(--orange);padding:8px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px))}
  .menu-btn[open] + .nav ul{flex-direction:column}
  .site-head .wrap{position:relative;flex-wrap:wrap}
}

/* hero */
.hero{position:relative;background:var(--band);overflow:hidden}
.hero .ph{position:absolute;inset:0}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero .wrap{position:relative;padding-block:clamp(48px,9vw,120px) clamp(28px,5vw,56px)}
.hero-card{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(4px);max-width:640px;padding:clamp(22px,4vw,40px);border-radius:var(--r);border-top:5px solid var(--orange);box-shadow:var(--shadow);display:grid;gap:16px}
.hero-card p{color:var(--muted);font-size:1.1rem}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:12px 20px;border-radius:8px;font-weight:700;text-decoration:none;border:2px solid var(--orange);color:var(--fg);background:transparent;transition:transform .2s,background .2s;cursor:pointer;font-family:var(--body);font-size:1rem}
.btn.primary{background:var(--orange);color:var(--on-orange)}
.btn:hover{transform:translateY(-2px);background:var(--orange-2);color:var(--on-orange);border-color:var(--orange-2)}
.dots{position:absolute;right:max(16px,4vw);bottom:22px;display:flex;gap:8px}
.dots i{width:12px;height:12px;border-radius:50%;background:var(--orange);animation:pulse 2.4s ease-in-out infinite}
.dots i:nth-child(2){background:var(--gold);animation-delay:.3s}.dots i:nth-child(3){background:var(--orange-2);animation-delay:.6s}
@keyframes pulse{50%{transform:scale(1.35)}}

/* page hero (pagine interne) */
.phead{background:var(--band);border-bottom:1px solid var(--line)}
.phead .wrap{padding-block:clamp(36px,6vw,64px);display:grid;gap:14px}
.crumbs{font-size:.88rem;color:var(--muted)}.crumbs a{color:inherit}

/* fatti */
.facts{border-bottom:1px solid var(--line)}
.facts ul{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.facts li{display:grid;gap:2px}
.facts b{font-family:var(--display);font-size:2rem;font-weight:400;color:var(--orange-ink);font-variant-numeric:tabular-nums;line-height:1}
.facts span{font-size:.92rem;color:var(--muted)}

section.sec{padding-block:clamp(48px,7vw,88px)}
section.alt{background:var(--band)}
.sec-head{display:grid;gap:12px;margin-bottom:30px;max-width:760px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start;transition:transform .25s,box-shadow .25s;min-width:0}
a.card{text-decoration:none;color:var(--fg)}
a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--orange)}
.card .go{font-weight:700;color:var(--orange-ink);margin-top:4px}
.card p{color:var(--muted)}
.num{font:600 .8rem/1 var(--body);letter-spacing:.12em;color:var(--orange-ink)}

.split{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:1.05fr .95fr;align-items:center}
.split > *{min-width:0}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.prose{display:grid;gap:14px;max-width:66ch}
.prose ul,.prose ol{margin:0;padding-left:1.2em;display:grid;gap:6px}

/* foto con ripiego se il file non c'è */
.photo{position:relative;border-radius:var(--r);overflow:hidden;background:
  radial-gradient(circle at 70% 35%,color-mix(in srgb,var(--orange) 35%,transparent) 0 18%,transparent 19%),
  linear-gradient(135deg,var(--band),color-mix(in srgb,var(--gold) 30%,var(--band)));aspect-ratio:3/2;max-width:100%}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{position:absolute;left:12px;bottom:12px;background:var(--bg);color:var(--fg);font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:6px}
.photo.tall{aspect-ratio:4/5}

/* cani */
.dog{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;min-width:0}
.dog .photo{border-radius:0;aspect-ratio:4/3}
.dog .initial{display:grid;place-items:center;font-family:var(--display);font-size:5rem;color:var(--orange-ink)}
.dog div.txt{padding:18px 20px;display:grid;gap:4px}
.dog .sex{font:600 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* passi */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--orange);color:var(--on-orange);font:700 1.1rem/1 var(--body)}
.steps li div{display:grid;gap:2px;padding-top:8px}

.incl{list-style:none;padding:0;margin:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.incl li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.incl li::before{content:"";flex:none;width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--orange)}

.note{border-left:4px solid var(--gold);background:var(--band);padding:14px 18px;border-radius:0 8px 8px 0;color:var(--fg)}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tags li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 12px;font-size:.92rem}

/* faq */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--orange-ink);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:16px;color:var(--muted)}

/* news */
.news{display:grid;gap:16px}
.news article{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.news time{font-weight:700;color:var(--orange-ink);font-variant-numeric:tabular-nums}
@media (max-width:560px){.news article{grid-template-columns:1fr;gap:4px}}

/* form */
.form{display:grid;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,28px)}
.form .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.form label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea{font:inherit;font-size:1rem;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);width:100%}
.form textarea{min-height:120px;resize:vertical}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .check input{width:auto;margin-top:6px}
.hp{position:absolute;left:-5000px}
.sent{border:2px solid var(--orange);border-radius:var(--r);padding:18px;display:grid;gap:8px}
.copy{font-family:ui-monospace,monospace;background:var(--band);padding:2px 6px;border-radius:4px;user-select:all}

/* contatti */
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.contact-list li{display:grid;gap:2px}
.contact-list b{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.contact-list a,.contact-list span{font-size:1.15rem;font-weight:600}

/* cta band */
.ctaband{background:var(--orange);color:var(--on-orange)}
.ctaband .wrap{padding-block:36px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.ctaband h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.ctaband .btn{border-color:var(--on-orange);color:var(--on-orange)}
.ctaband .btn.primary{background:var(--on-orange);color:#fff}
.ctaband .btn:hover{background:#fff;color:#1d1e21;border-color:#fff}

/* footer */
.foot{background:var(--foot);color:var(--foot-fg);font-size:.95rem}
.foot a{color:var(--foot-fg)}
.foot .wrap{padding-block:48px 28px;display:grid;gap:30px}
.foot .cols{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.foot h3{font-size:1.1rem;color:#fff;margin-bottom:8px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.foot .legal{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:.85rem;opacity:.8;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}

/* webcam */
.cam .photo{aspect-ratio:16/9}
.cam .live{position:absolute;top:12px;left:12px;background:#d62d20;color:#fff;font:700 .75rem/1 var(--body);letter-spacing:.1em;padding:6px 9px;border-radius:5px}

/* comparsa leggera durante lo scorrimento (solo browser che la supportano; a riposo tutto è visibile) */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .rise{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
    @keyframes rise{from{opacity:.55;transform:translateY(22px)}to{opacity:1;transform:none}}
  }
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* marchio vettoriale nel header */
.brand{gap:12px}
.brand .mark{width:46px;height:auto;color:var(--fg);overflow:visible}
.brand .mark .d{fill:var(--orange)}
.brand:hover .mark .d{animation:dot 1.2s ease-in-out}
.brand .mark .d1{animation-delay:.08s}.brand .mark .d2{animation-delay:.16s}.brand .mark .d3{animation-delay:.24s}.brand .mark .d4{animation-delay:.32s}
.brand .mark .d{transform-box:fill-box;transform-origin:center}
@keyframes dot{50%{transform:scale(1.4)}}
.brand .word{display:grid;justify-items:center;line-height:1.02;color:var(--fg)}
.brand .word b{font:400 1.02rem/1.05 var(--display);letter-spacing:.04em}
.brand .word i{font:700 .72rem/1.5 var(--body);font-style:normal;letter-spacing:.3em;margin-right:-.3em}

/* schede dei cani */
.grid.dogs{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.grid.dogs .dog .photo{aspect-ratio:16/10}
.dog h3{font-size:1.45rem}
.dnote{color:var(--orange-ink);font-weight:600;font-size:.95rem}
.scheda{margin:8px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.scheda div{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.scheda dt{font:600 .78rem/1.6 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.scheda dd{margin:0;font-weight:600;min-width:0}
.todo{font-weight:400;color:var(--muted);font-style:italic}
@media (max-width:420px){.scheda div{grid-template-columns:1fr;gap:0}}

/* loghi ENCI e FCI: sempre su fondo bianco, così restano leggibili anche in versione scura */
.enti{display:inline-flex;gap:6px;align-items:center;background:#fff;border-radius:6px;padding:3px 6px;margin-right:10px;vertical-align:middle}
.enti img{height:26px;width:auto}
.topbar .badges{display:flex;align-items:center}
.enti-foot{display:flex;gap:10px;margin-top:14px;background:#fff;border-radius:8px;padding:8px 12px;width:max-content;max-width:100%}
.enti-foot img{height:48px;width:auto}
.enti-row{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);border-top:1px solid var(--line);padding-top:16px;font-weight:600;font-size:.95rem;line-height:1.3}
.enti-row img{height:52px;width:auto;background:#fff;border-radius:6px;padding:3px}
.enti-big{display:flex;gap:18px;align-items:center;background:#fff;border-radius:10px;padding:12px 16px;width:max-content;max-width:100%;margin-bottom:6px}
.enti-big img{height:96px;width:auto}
@media (max-width:560px){.topbar .badges{font-size:.8rem}.enti img{height:22px}}

/* tartarughe: riquadro CITES */
.cites{position:relative;border-top:5px solid #2e7d4f}
.cites-badge{justify-self:start;font:700 1.1rem/1 var(--body);letter-spacing:.18em;color:#fff;background:#2e7d4f;padding:8px 14px;border-radius:6px}
.cites .incl li::before{background:#2e7d4f}

/* hero: il cane corre a sinistra, il riquadro sta a destra */
.hero .wrap{display:flex;justify-content:flex-end}
.hero .ph img{object-position:30% 45%}
.hero .dots{left:max(16px,4vw);right:auto}
@media (max-width:820px){.hero .wrap{justify-content:stretch}.hero .ph{position:relative;height:56vw}.hero .ph img{object-position:20% 50%}}

/* webcam: schermo con stato offline / live */
.screen{position:relative;aspect-ratio:16/9;overflow:hidden;background:#17181b;color:#efece7}
.screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.offscreen{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;
  background:radial-gradient(120% 90% at 50% 40%,#2a2c31 0%,#17181b 70%)}
.screen[data-state="live"] .offscreen{display:none}
.cam-ico{width:84px;height:84px;fill:none;stroke:#efece7;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.cam-ico .lens{fill:#ff8500;stroke:none}
.cam-ico .rec{fill:#8a8f98;stroke:none;animation:blink 1.6s steps(1) infinite}
.off-brand{display:flex;align-items:center;gap:8px;font:600 .78rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#aca69d}
.cam-mark{width:22px;height:auto;color:#efece7}
.cam-mark .d{fill:#ff8500;animation:dotp 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cam-mark .d1{animation-delay:.2s}.cam-mark .d2{animation-delay:.4s}.cam-mark .d3{animation-delay:.6s}
.scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 2px,transparent 2px 4px);pointer-events:none}
.scan::after{content:"";position:absolute;left:0;right:0;height:30%;top:-30%;background:linear-gradient(transparent,rgba(255,133,0,.07),transparent);animation:sweep 4s linear infinite}
.state{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;font:700 .75rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;background:#3a3c42;color:#efece7}
.state i{width:9px;height:9px;border-radius:50%;background:#9aa0a8}
.state .t-on{display:none}
.screen[data-state="live"] .state{background:#d62d20}
.screen[data-state="live"] .state i{background:#fff;animation:blink 1.2s steps(1) infinite}
.screen[data-state="live"] .t-on{display:inline}.screen[data-state="live"] .t-off{display:none}
.cam-name{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;font-weight:600;font-size:.82rem;padding:4px 10px;border-radius:6px}
@keyframes blink{50%{opacity:.25}}
@keyframes sweep{to{top:100%}}
@keyframes dotp{0%,100%{opacity:.35}40%{opacity:1}}
.photo.wide{aspect-ratio:21/9}
.hero .ph img{object-position:25% 40%}

/* video YouTube: si caricano solo al clic (più veloce e rispettoso della privacy) */
.videos{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}
.videos > *{min-width:0}
.vside{display:grid;gap:20px}
@media (max-width:820px){.videos{grid-template-columns:1fr}}
.video{margin:0;display:grid;gap:10px}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r);overflow:hidden;cursor:pointer;
  background:radial-gradient(120% 90% at 50% 40%,#2a2c31,#17181b)}
.yt img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.yt:hover img{transform:scale(1.04)}
.yt .play{position:absolute;left:50%;top:50%;width:72px;height:52px;margin:-26px 0 0 -36px;border-radius:14px;background:var(--orange);box-shadow:0 8px 24px -8px rgba(0,0,0,.6);transition:transform .2s}
.yt .play::after{content:"";position:absolute;left:29px;top:15px;border-left:20px solid #1d1e21;border-top:11px solid transparent;border-bottom:11px solid transparent}
.yt:hover .play{transform:scale(1.1)}
.video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);display:block}
.video figcaption{display:grid;gap:2px}
.video figcaption b{font-size:1.02rem}
.vnote{color:var(--orange-ink);font-weight:600;font-size:.92rem}
.video figcaption a{font-weight:600;font-size:.92rem}
.vwide{max-width:900px}

/* canale YouTube e crediti video Artuà */
.vcredit{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:22px}
.ytbtn,.artua{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);font-size:.95rem;line-height:1.25}
.ytbtn{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 16px;transition:border-color .2s}
.ytbtn svg{width:40px;height:28px;flex:none}
.ytbtn:hover{border-color:#ff0000;color:var(--fg)}
.artua img{height:30px;width:auto}
.artua span{color:var(--muted)}
.artua:hover b{color:var(--orange-ink)}
.margot .photo,.photo.nat{aspect-ratio:768/400}

/* foto dei cani non ancora disponibile */
.photo.nofoto{display:grid;place-items:center;align-content:center;gap:14px;text-align:center;
  background:radial-gradient(120% 90% at 50% 35%,color-mix(in srgb,var(--orange) 14%,var(--band)),var(--band));color:var(--fg)}
.photo.nofoto .mark{width:64px;height:auto;opacity:.85}
.photo.nofoto .mark .d{fill:var(--orange)}
.photo.nofoto span{font:600 .9rem/1.35 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
/* link al canale video sotto ogni scheda */
.dvideo{display:inline-flex;align-items:center;gap:10px;margin-top:12px;font-weight:600;font-size:.95rem;text-decoration:none;color:var(--fg)}
.dvideo svg{width:28px;height:20px;flex:none}
.dvideo:hover{color:var(--orange-ink)}

/* tasto "Proponi il tuo maschio" nella barra in alto */
.tb-btn{background:var(--orange);color:#1d1e21!important;font-weight:700;padding:5px 12px;border-radius:999px;font-size:.84rem;white-space:nowrap}
.tb-btn:hover{background:var(--orange-2)}
/* social nel box In evidenza */
.soc-row{display:flex;flex-wrap:wrap;gap:10px}
.soc{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-weight:700;text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.soc:hover{border-color:var(--orange);transform:translateY(-2px);color:var(--fg)}
.soc svg{width:24px;height:24px;flex:none}

/* loghi ENCI e FCI trasparenti con alone bianco (leggibili su ogni sfondo) */
.enti,.enti-foot,.enti-big{background:transparent!important;box-shadow:none!important;padding-left:0;padding-right:0}
.enti-row img{background:transparent!important;padding:0}
.enti img,.enti-foot img,.enti-row img,.enti-big img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgba(255,255,255,.85))}

/* icona zampa con effetto sul tasto "Proponi il tuo maschio" */
.tb-btn{display:inline-flex;align-items:center;gap:8px;padding-left:6px}
.tb-ico{position:relative;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1d1e21}
.tb-ico svg{width:15px;height:15px;fill:#ff9124;transform-origin:50% 80%;animation:pawstep 2.8s ease-in-out infinite}
.tb-ico::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(255,145,36,.75);animation:pawring 2.8s ease-out infinite}
@keyframes pawstep{0%,60%,100%{transform:rotate(0) scale(1)}70%{transform:rotate(-14deg) scale(1.12)}80%{transform:rotate(10deg) scale(1.12)}90%{transform:rotate(0) scale(1)}}
@keyframes pawring{0%,55%{box-shadow:0 0 0 0 rgba(255,145,36,.75)}100%{box-shadow:0 0 0 10px rgba(255,145,36,0)}}
.tb-btn:hover .tb-ico svg{animation-duration:.9s}
@media (prefers-reduced-motion:reduce){.tb-ico svg,.tb-ico::after{animation:none}}

/* galleria e crediti */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.gallery{grid-template-columns:1fr}}
.gallery .photo{aspect-ratio:4/3}
.credits{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.cred{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:8px;align-content:start}
.cred p{color:var(--muted)}
#tartufo .photo{margin-bottom:6px}
/* foto non disponibile: animazione */
.photo.nofoto{position:relative;overflow:hidden}
.photo.nofoto::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,color-mix(in srgb,#fff 45%,transparent) 50%,transparent 65%);transform:translateX(-100%);pointer-events:none}
.photo.nofoto .mark{position:relative;z-index:1}
.photo.nofoto span{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){
  .photo.nofoto::before{animation:nf-shine 3.2s ease-in-out infinite}
  .photo.nofoto .mark{animation:nf-float 3.2s ease-in-out infinite}
  .photo.nofoto .mark .d{transform-box:fill-box;transform-origin:center;animation:nf-dot 1.6s ease-in-out infinite}
  .photo.nofoto .mark .d1{animation-delay:.2s}.photo.nofoto .mark .d2{animation-delay:.4s}.photo.nofoto .mark .d3{animation-delay:.6s}
  .photo.nofoto span{animation:nf-breath 3.2s ease-in-out infinite}
}
@keyframes nf-shine{0%,20%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes nf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes nf-dot{0%,100%{transform:scale(1);opacity:.55}40%{transform:scale(1.35);opacity:1}}
@keyframes nf-breath{0%,100%{opacity:.7}50%{opacity:1}}
/* cartina trasporto */
.mapsplit{align-items:center}
.itmap{margin:0;display:grid;gap:10px}
.itmap svg{width:100%;height:auto;max-width:520px;justify-self:center;overflow:visible}
.itmap .rg{fill:color-mix(in srgb,var(--fg) 9%,var(--bg));stroke:var(--bg);stroke-width:1.4;stroke-linejoin:round;transition:fill .5s}
.itmap .rg.on{fill:color-mix(in srgb,var(--orange) 55%,var(--bg))}
.itmap .rg.on:hover{fill:var(--orange)}
.itmap .arc{fill:none;stroke:var(--orange-ink,#b45309);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0;opacity:.75}
.itmap .dest{fill:#fff;stroke:var(--orange-ink,#b45309);stroke-width:2}
.itmap .van{fill:var(--orange-ink,#b45309);opacity:0}
.itmap .hq{fill:#2b2d33;stroke:#fff;stroke-width:3}
.itmap .pulse{fill:none;stroke:var(--orange);stroke-width:3;opacity:0}
.itmap text{font:700 20px var(--body);fill:var(--fg);paint-order:stroke;stroke:var(--bg);stroke-width:5px}
.itmap figcaption{display:flex;gap:18px;justify-content:center;font-size:.9rem;color:var(--muted)}
.itmap figcaption span{display:inline-flex;align-items:center;gap:8px}
.itmap .sw{width:14px;height:14px;border-radius:4px;background:color-mix(in srgb,var(--fg) 9%,var(--bg));border:1px solid var(--line)}
.itmap .sw.on{background:color-mix(in srgb,var(--orange) 55%,var(--bg))}
@media (prefers-reduced-motion:no-preference){
  .itmap.wait .rg.on{fill:color-mix(in srgb,var(--fg) 9%,var(--bg))}
  .itmap.wait .arc{stroke-dashoffset:1}
  .itmap.wait .dest{opacity:0}
  .itmap.go .rg.on{animation:mp-fill .6s ease-out both;animation-delay:var(--d)}
  .itmap.go .arc{animation:mp-draw .9s ease-out both;animation-delay:var(--d)}
  .itmap.go .dest{animation:mp-pop .4s ease-out both;animation-delay:var(--d)}
  .itmap.go .van{animation:mp-van 2.6s ease-in-out infinite;animation-delay:var(--d)}
  .itmap.go .pulse{animation:mp-pulse 2s ease-out infinite}
}
@keyframes mp-fill{from{fill:color-mix(in srgb,var(--fg) 9%,var(--bg))}to{fill:color-mix(in srgb,var(--orange) 55%,var(--bg))}}
@keyframes mp-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes mp-pop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.4)}100%{opacity:1;transform:scale(1)}}
.itmap .dest{transform-box:fill-box;transform-origin:center}
@keyframes mp-van{0%{offset-distance:0%;opacity:0}10%{opacity:1}85%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes mp-pulse{0%{opacity:.8;r:9}100%{opacity:0;r:34}}
/* schede cuccioli: tre per riga */
.pups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:980px){.pups{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.pups{grid-template-columns:1fr}}
.pup .txt{display:grid;gap:10px}
.pup .btn{justify-self:start;margin-top:6px}
.pup .sex{justify-self:start;font:700 .75rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--orange) 18%,var(--surface));color:var(--orange-ink,#b45309)}
.card.req{border-left:4px solid var(--orange)}
.prose ul.tags{display:flex;padding-left:0;gap:8px}
.prose ul.tags li{list-style:none}
/* foto con logo in filigrana: il logo in basso a destra resta sempre visibile */
.gallery .photo{aspect-ratio:3/2}
.photo img[src^="img/"]{object-position:100% 100%}
/* blocchi Prenota / Acquista / Regala con foto */
.card.pcard .photo{margin:-1px -1px 6px;aspect-ratio:3/2}
/* foto non disponibile: sfondo con un cucciolo sfocato */
.photo.nofoto.pupbg{background:
  radial-gradient(120% 90% at 50% 40%,color-mix(in srgb,var(--band) 72%,transparent),color-mix(in srgb,var(--band) 88%,transparent)),
  url(../img/sfondo-cucciolo.jpg) center 35%/cover no-repeat,var(--band)}
.sec.banner{padding-bottom:0}
.sec.banner .photo.nat{aspect-ratio:21/9}
@media (max-width:620px){.sec.banner .photo.nat{aspect-ratio:4/3}}
.tshirt .photo{aspect-ratio:16/9}
.tshirt .photo img{object-position:100% 70%}
/* piccole foto che riempiono gli spazi accanto ai moduli */
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.mosaic figure{margin:0;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--band)}
.mosaic img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transition:transform .5s}
.mosaic figure:hover img{transform:scale(1.06)}
.faqsplit{align-items:start}
.faqsplit .photo{position:sticky;top:110px}
@media (max-width:860px){.faqsplit .photo{position:static}}
#richiesta .split,#modulo{align-items:start}
#richiesta .split{align-items:start}
.mosaic{grid-template-columns:1fr 1fr}
.mosaic figure:first-child{grid-column:span 2;aspect-ratio:16/9}
.mosaic figure{aspect-ratio:4/3}
.mosaic img{object-position:100% 100%}
.mosaic.row{grid-template-columns:repeat(3,1fr)}
.mosaic.row figure,.mosaic.row figure:first-child{grid-column:auto;aspect-ratio:1}
.helpbox{margin-top:22px}
.helpbox a{font-weight:700}
.newborn{display:flex;gap:18px;align-items:center;margin-top:20px}
.newborn img{width:160px;height:auto;border-radius:12px;flex:none}
@media (max-width:520px){.newborn{flex-direction:column;align-items:flex-start}}
/* cucciolate: foto divisa in due, mamma e papà */
.litter .pair{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r) var(--r) 0 0}
.litter .half{position:relative;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;overflow:hidden;background:var(--band)}
.litter .half + .half{border-left:3px solid var(--surface)}
.litter .half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.litter .half.nofoto .mark{width:46px;height:auto;opacity:.85}
.litter .half.nofoto .mark .d{fill:var(--orange)}
.litter .half.nofoto span{font:600 .72rem/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.litter .who{position:absolute;left:10px;bottom:10px;background:var(--surface);color:var(--fg);font:700 .78rem/1.25 var(--body);padding:6px 10px;border-radius:8px;text-align:left;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.litter .who i{font-style:normal;font-weight:500;color:var(--muted)}
.card.natural{border-left:4px solid var(--orange)}
@media (prefers-reduced-motion:no-preference){.litter .half.nofoto .mark .d{transform-box:fill-box;transform-origin:center;animation:nf-dot 1.6s ease-in-out infinite}.litter .half.nofoto .mark .d1{animation-delay:.2s}.litter .half.nofoto .mark .d2{animation-delay:.4s}.litter .half.nofoto .mark .d3{animation-delay:.6s}}
/* video cuccioli (non scaricabile dal menu) */
.pvideo{position:relative;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:0 20px 50px -30px rgba(0,0,0,.6)}
.pvideo video{display:block;width:100%;height:auto;aspect-ratio:16/9;-webkit-user-select:none;user-select:none}
.pvideo{min-width:0;max-width:100%}
.pvideo video{max-width:100%;object-fit:contain}
.vplay{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border:0;border-radius:50%;background:#ff8500;color:#1d1e21;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px -10px rgba(0,0,0,.6);transition:transform .2s,opacity .2s}
.vplay svg{width:40px;height:40px;fill:currentColor;margin-left:4px}
.vplay:hover{transform:scale(1.06)}
.pvideo.playing .vplay{opacity:0;pointer-events:none}
@media (max-width:620px){.vplay{width:68px;height:68px;margin:-34px 0 0 -34px}.vplay svg{width:32px;height:32px}}
