/*
Theme Name: Pharmarei Corporate
Theme URI: https://pharmarei.com/
Author: Pharmarei
Description: Tema corporate premium per Pharmarei con Human Division e Vet Division.
Version: 3.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pharmarei
*/

:root{
    --ink:#07152d;
    --ink-2:#0d2348;
    --blue:#1749d1;
    --blue-soft:#eaf0ff;
    --green:#22a45a;
    --green-2:#0d7b45;
    --green-soft:#eaf8ef;
    --orange:#ff7046;
    --cream:#f6f7f2;
    --white:#fff;
    --text:#102137;
    --muted:#657184;
    --line:rgba(7,21,45,.10);
    --shadow:0 28px 80px rgba(7,21,45,.14);
    --max:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
button,input,textarea,select{font:inherit}
.ph-container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.ph-kicker{font-size:12px;letter-spacing:.18em;font-weight:900;text-transform:uppercase;color:var(--blue);display:inline-block;margin-bottom:18px}
.ph-kicker.light{color:#9be2b8}
.ph-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.ph-reveal.is-visible{opacity:1;transform:none}

/* topbar + header */
.ph-topbar{height:32px;background:var(--ink);color:#b9c6dc;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center}
.ph-topbar .ph-container{display:flex;justify-content:space-between;align-items:center}
.ph-topbar .ph-container>span{color:#fff}
.ph-topbar div div{display:flex;align-items:center;gap:13px}
.ph-topbar i{width:3px;height:3px;border-radius:50%;background:#fff;opacity:.5}
.ph-site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.admin-bar .ph-site-header{top:32px}
.ph-header-inner{height:78px;display:flex;align-items:center;gap:30px}
.ph-brand{display:flex;align-items:center;flex:0 0 auto}
.ph-brand img,.custom-logo{width:190px;max-height:56px;object-fit:contain}
.ph-nav{margin-left:auto}
.ph-nav ul{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0}
.ph-nav a{display:block;padding:11px 14px;border-radius:999px;font-size:14px;font-weight:800;color:#24354d;transition:.2s}
.ph-nav a:hover{background:#f1f4f8;color:var(--blue)}
.ph-store-btn,.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;border:0;padding:14px 22px;font-weight:900;font-size:13px;letter-spacing:.04em;background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(255,112,70,.25);transition:.25s}
.ph-store-btn:hover,.ph-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,112,70,.32)}
.ph-menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:50%;background:#f3f5f8;cursor:pointer}
.ph-menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto}

/* HERO */
.ph-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#07152d 0%,#0a1e41 58%,#102c51 100%);color:#fff;min-height:790px;display:flex;flex-direction:column}
.ph-hero-noise{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(rgba(255,255,255,.9) .7px,transparent .7px);background-size:18px 18px;pointer-events:none}
.ph-hero-glow{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none}
.ph-glow-one{width:760px;height:760px;background:radial-gradient(circle,rgba(23,73,209,.38),rgba(23,73,209,0) 70%);right:-190px;top:-250px}
.ph-glow-two{width:620px;height:620px;background:radial-gradient(circle,rgba(34,164,90,.22),rgba(34,164,90,0) 70%);left:-280px;bottom:-360px}
.ph-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;flex:1;padding:88px 0 70px}
.ph-hero-copy{padding-right:10px}
.ph-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;font-weight:900;color:#aab8d1;margin-bottom:23px}
.ph-eyebrow span{width:36px;height:2px;background:#45c97b}
.ph-hero h1{font-size:clamp(52px,6vw,88px);line-height:.95;letter-spacing:-.055em;margin:0;max-width:760px;font-weight:850}
.ph-hero h1 em{font-style:normal;background:linear-gradient(90deg,#65db96,#d4f9df);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph-hero-lead{font-size:19px;line-height:1.7;color:#bdc8da;max-width:680px;margin:28px 0 34px}
.ph-hero-lead strong{color:#fff}
.ph-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ph-btn-light{background:#fff;color:var(--ink);box-shadow:0 16px 38px rgba(0,0,0,.18)}
.ph-btn-light:hover{background:#eff5ff}
.ph-link-arrow{font-size:14px;font-weight:850;color:#fff;display:inline-flex;gap:9px;align-items:center}
.ph-link-arrow span,.ph-panel-link span{transition:transform .2s}
.ph-link-arrow:hover span,.ph-panel-link:hover span{transform:translate(3px,-3px)}
.ph-hero-metrics{display:flex;gap:42px;margin-top:54px;padding-top:28px;border-top:1px solid rgba(255,255,255,.13);max-width:650px}
.ph-hero-metrics div{display:flex;flex-direction:column;gap:2px}
.ph-hero-metrics strong{font-size:27px;line-height:1;letter-spacing:-.04em}
.ph-hero-metrics span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8fa0ba;font-weight:800}

.ph-hero-stage{position:relative;min-height:590px;isolation:isolate}
.ph-hero-stage:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff 0%,#f6f8ff 50%,#e2eaf8 100%);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 70px rgba(23,73,209,.08),0 40px 100px rgba(0,0,0,.25);z-index:-1}
.ph-stage-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14);left:50%;top:50%;transform:translate(-50%,-50%);z-index:-2}
.ring-a{width:575px;height:575px}.ring-b{width:665px;height:665px;opacity:.45}
.ph-hero-product{position:absolute;object-fit:contain;filter:drop-shadow(0 28px 25px rgba(7,21,45,.20));z-index:2;transition:transform .45s ease}
.ph-hero-stage:hover .hp1{transform:translate(-5px,-8px) rotate(-3deg)}
.ph-hero-stage:hover .hp2{transform:translate(4px,-10px) rotate(2deg)}
.ph-hero-stage:hover .hp3{transform:translate(6px,-5px) rotate(3deg)}
.hp1{width:380px;left:5%;bottom:10%;transform:rotate(-2deg)}
.hp2{width:270px;right:2%;top:13%;transform:rotate(1deg)}
.hp3{width:290px;right:5%;bottom:6%;transform:rotate(2deg)}
.ph-stage-card{position:absolute;left:9%;top:11%;background:rgba(7,21,45,.84);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(15px);border-radius:22px;padding:18px 20px;z-index:5;box-shadow:0 16px 44px rgba(0,0,0,.18)}
.ph-stage-card span{display:block;color:#72db9c;font-size:9px;letter-spacing:.15em;font-weight:900;margin-bottom:5px}
.ph-stage-card strong{display:block;font-size:25px;letter-spacing:-.04em}
.ph-stage-card small{display:block;color:#afbdd2;font-size:10px;margin-top:4px}
.ph-float-tag{position:absolute;z-index:6;background:rgba(255,255,255,.92);color:var(--ink);border-radius:999px;padding:10px 14px;font-size:10px;font-weight:900;letter-spacing:.1em;box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;align-items:center;gap:8px}
.ph-float-tag i{width:7px;height:7px;border-radius:50%}
.tag-human{right:2%;top:44%}.tag-human i{background:var(--blue)}
.tag-vet{left:4%;bottom:16%}.tag-vet i{background:var(--green)}
.ph-float-seal{position:absolute;right:5%;bottom:17%;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;text-align:center;z-index:7;background:var(--orange);color:#fff;font-size:8px;letter-spacing:.12em;font-weight:900;line-height:1.25;box-shadow:0 18px 42px rgba(255,112,70,.25)}
.ph-float-seal span{font-size:27px;letter-spacing:-.05em;display:block}
.ph-hero-bottomline{position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.12)}
.ph-marquee{height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#98aac5;font-size:10px;letter-spacing:.16em;font-weight:900;white-space:nowrap;overflow:hidden}
.ph-marquee i{font-style:normal;color:#4fd585}

/* INTRO */
.ph-intro{padding:125px 0;background:#fff}
.ph-intro-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:center}
.ph-intro-number{display:flex;align-items:flex-end;gap:24px;position:relative}
.ph-number{font-size:clamp(160px,18vw,270px);font-weight:900;letter-spacing:-.095em;line-height:.7;color:#edf2ff}
.ph-years{font-size:14px;line-height:1.25;font-weight:900;letter-spacing:.13em;color:var(--blue);padding-bottom:16px}
.ph-intro-copy h2,.ph-section-head h2,.ph-showcase-head h2,.ph-excellence-copy h2,.ph-vet-copy h2{font-size:clamp(42px,4.8vw,68px);line-height:1.02;letter-spacing:-.05em;margin:0;font-weight:850}
.ph-intro-copy p{font-size:18px;color:var(--muted);max-width:760px;margin:24px 0 0}
.ph-signature-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ph-signature-row span{padding:18px 12px 18px 0;font-size:12px;font-weight:850;border-right:1px solid var(--line)}
.ph-signature-row span:last-child{border-right:0;padding-left:18px}
.ph-signature-row span:nth-child(2){padding-left:18px}
.ph-signature-row b{color:var(--blue);margin-right:8px;font-size:10px}

/* DIVISIONS */
.ph-divisions{padding:120px 0 130px;background:var(--cream);overflow:hidden}
.ph-section-head{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:56px}
.ph-section-head p{font-size:17px;color:var(--muted);max-width:520px;margin:0 0 7px auto}
.ph-division-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ph-division-panel{position:relative;min-height:650px;border-radius:34px;padding:34px 36px;overflow:hidden;isolation:isolate;box-shadow:var(--shadow)}
.ph-human-panel{background:linear-gradient(145deg,#1749d1 0%,#123db4 58%,#0e2d82 100%);color:#fff}
.ph-vet-panel{background:#0f633a;color:#fff}
.ph-panel-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.ph-panel-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,42,24,.18),rgba(2,31,18,.88));z-index:-2}
.ph-panel-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3}
.ph-panel-top>span{font-size:11px;opacity:.65;font-weight:900;letter-spacing:.16em}
.ph-division-pill{border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:9px 12px;font-size:9px;letter-spacing:.15em;font-weight:900;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.ph-panel-copy{position:absolute;left:36px;right:36px;bottom:40px;z-index:4;max-width:440px}
.ph-panel-copy h3{font-size:clamp(50px,5.2vw,78px);line-height:.9;letter-spacing:-.055em;margin:0 0 20px}
.ph-panel-copy p{font-size:16px;color:rgba(255,255,255,.78);margin:0 0 26px;max-width:420px}
.ph-panel-link{display:inline-flex;gap:9px;align-items:center;font-size:11px;font-weight:900;letter-spacing:.13em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:6px}
.ph-panel-products{position:absolute;right:-30px;top:45px;width:64%;height:60%;z-index:2}
.ph-panel-products img{position:absolute;width:82%;filter:drop-shadow(0 30px 25px rgba(4,19,66,.25))}
.ph-panel-products img:first-child{left:-5%;top:6%;transform:rotate(-7deg)}
.ph-panel-products img:last-child{right:-14%;bottom:-5%;transform:rotate(8deg)}
.ph-panel-word{position:absolute;right:-10px;bottom:-36px;font-size:150px;line-height:1;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.07);z-index:0;pointer-events:none}

/* HUMAN SHOWCASE */
.ph-human-showcase{padding:125px 0;background:var(--ink);color:#fff;overflow:hidden}
.ph-showcase-head{display:grid;grid-template-columns:.45fr 1fr;gap:70px;align-items:start;margin-bottom:55px}
.ph-showcase-head h2{max-width:880px}
.ph-bento{display:grid;grid-template-columns:1.22fr .78fr;grid-template-rows:245px 245px;gap:16px}
.ph-bento-card{position:relative;overflow:hidden;border-radius:28px;isolation:isolate}
.ph-bento-main{grid-row:1/3;background:linear-gradient(145deg,#f5f8ff,#dce6ff);color:var(--ink)}
.ph-bento-lixenil{background:linear-gradient(145deg,#e9faef,#bdebcf);color:#0a4428}
.ph-bento-oraldry{background:linear-gradient(145deg,#f4f1ff,#ded5ff);color:#26165c}
.ph-bento-quote{background:linear-gradient(145deg,#102c51,#0b1d3c);border:1px solid rgba(255,255,255,.10);padding:34px;color:#fff}
.ph-bento-copy{position:absolute;left:30px;top:30px;z-index:3;max-width:56%}
.ph-bento-copy span{font-size:10px;letter-spacing:.16em;font-weight:900;opacity:.65}
.ph-bento-copy h3{font-size:clamp(28px,2.5vw,40px);line-height:1;letter-spacing:-.045em;margin:10px 0 12px}
.ph-bento-copy p{color:#536379;font-size:14px;max-width:360px;line-height:1.5}
.ph-bento-card img{position:absolute;object-fit:contain;filter:drop-shadow(0 25px 25px rgba(0,0,0,.15))}
.ph-bento-main img{width:60%;right:-8%;bottom:-13%;transform:rotate(1deg)}
.ph-bento-lixenil img{width:50%;right:-2%;bottom:-13%;transform:rotate(4deg)}
.ph-bento-oraldry img{width:52%;right:-2%;bottom:-15%;transform:rotate(5deg)}
.ph-quote-mark{font-size:85px;line-height:.7;color:#4f78db;font-family:Georgia,serif}
.ph-bento-quote p{font-size:21px;line-height:1.45;letter-spacing:-.02em;margin:18px 0 24px}
.ph-bento-quote span{font-size:9px;letter-spacing:.16em;color:#93a6c3;font-weight:900}

/* EXCELLENCE */
.ph-excellence{padding:120px 0 135px;background:#fff}
.ph-excellence-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ph-excellence-visual{position:relative;min-height:640px;border-radius:36px;background:radial-gradient(circle at 50% 45%,#fff 0%,#f2f7f4 55%,#e6f3e9 100%);overflow:hidden}
.ph-excellence-visual:after{content:"";position:absolute;inset:55px;border:1px solid rgba(34,164,90,.14);border-radius:50%}
.ph-italy-orb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:250px;height:250px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#fff;text-align:center;font-size:15px;letter-spacing:.11em;font-weight:900;line-height:1.25;box-shadow:0 25px 70px rgba(34,164,90,.28)}
.ex-prod{position:absolute;width:330px;object-fit:contain;filter:drop-shadow(0 28px 24px rgba(0,0,0,.18));z-index:2}
.ex1{left:-15px;bottom:15px;transform:rotate(-10deg)}
.ex2{right:-22px;bottom:0;transform:rotate(9deg)}
.ex3{right:50px;top:18px;width:280px;transform:rotate(3deg)}
.ph-excellence-copy p{font-size:18px;color:var(--muted);margin:25px 0 34px;max-width:620px}
.ph-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ph-check-grid div{border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}
.ph-check-grid span{grid-row:1/3;width:30px;height:30px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900}
.ph-check-grid b{font-size:14px}.ph-check-grid small{font-size:11px;color:var(--muted)}

/* VET */
.ph-vet-focus{position:relative;min-height:720px;color:#fff;display:flex;align-items:center;overflow:hidden;background:#0b3d28}
.ph-vet-bg{position:absolute;inset:0;background-size:cover;background-position:center 48%;transform:scale(1.02)}
.ph-vet-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,37,23,.96) 0%,rgba(5,37,23,.84) 45%,rgba(5,37,23,.25) 100%)}
.ph-vet-content{position:relative;z-index:2;display:grid;grid-template-columns:.33fr .9fr 1fr;align-items:center}
.ph-vet-number{font-size:150px;font-weight:900;line-height:1;color:rgba(255,255,255,.10);letter-spacing:-.08em}
.ph-vet-copy{grid-column:2/3;max-width:680px}
.ph-vet-copy p{font-size:18px;color:rgba(255,255,255,.75);margin:25px 0 34px}

/* FINAL CTA */
.ph-final-cta{padding:90px 0;background:#f5f6f8}
.ph-final-box{border-radius:30px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 70px rgba(7,21,45,.08);padding:34px 36px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.ph-final-logo-mark{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,var(--blue),#6a79eb);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 16px 34px rgba(23,73,209,.23)}
.ph-final-box>div:nth-child(2)>span{font-size:10px;letter-spacing:.16em;color:var(--blue);font-weight:900}
.ph-final-box h2{font-size:clamp(28px,3vw,44px);letter-spacing:-.045em;line-height:1.04;margin:6px 0 0}

/* FOOTER */
.ph-site-footer{background:#07152d;color:#fff;padding:0 0 28px}
.ph-footer-brandrow{min-height:110px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.11)}
.ph-footer-brandrow img{width:180px;filter:brightness(0) invert(1);opacity:.9}
.ph-footer-brandrow p{margin:0;color:#9eacc2;font-size:11px;letter-spacing:.1em;font-weight:800;text-transform:uppercase}
.ph-footer-brandrow p span{margin:0 8px;color:#4bd584}
.ph-footer-brandrow a{justify-self:end;font-size:10px;letter-spacing:.12em;font-weight:900;color:#a7b5ca}
.ph-footer-main{display:grid;grid-template-columns:1.35fr .8fr 1fr .75fr;gap:48px;padding:62px 0 54px}
.ph-footer-intro>span{font-size:10px;letter-spacing:.16em;color:#55db8c;font-weight:900}
.ph-footer-intro h3{font-size:31px;line-height:1.05;letter-spacing:-.04em;margin:11px 0 15px;max-width:350px}
.ph-footer-intro p{max-width:390px;color:#8798b2;font-size:14px;margin:0}
.ph-footer-main h4{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#55db8c;margin:0 0 14px}
.ph-footer-main p{font-size:13px;color:#b1bdd0;margin:0;line-height:1.7}
.ph-footer-main a:hover{color:#fff}
.ph-footer-bottom{border-top:1px solid rgba(255,255,255,.10);padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#71839f;font-size:10px}
.ph-footer-bottom strong{color:#9aabc3;font-weight:700}

/* normal pages */
.ph-page{padding:80px 0 110px}.ph-page h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.05em}.ph-page-content{max-width:900px}.ph-page-content p{font-size:17px;color:var(--muted)}

@media(max-width:1100px){
    .ph-hero-grid{grid-template-columns:1fr;padding-top:72px}.ph-hero-stage{min-height:540px}.ph-hero{min-height:auto}
    .ph-intro-grid{grid-template-columns:1fr;gap:35px}.ph-intro-number{justify-content:flex-start}.ph-number{font-size:180px}
    .ph-section-head{grid-template-columns:1fr;gap:20px}.ph-section-head p{margin:0}
    .ph-division-panel{min-height:590px}.ph-panel-products{width:73%}
    .ph-showcase-head{grid-template-columns:1fr;gap:12px}
    .ph-excellence-grid{grid-template-columns:1fr;gap:50px}.ph-excellence-visual{min-height:580px}
    .ph-vet-content{grid-template-columns:.25fr 1fr}.ph-vet-copy{grid-column:2/3}
    .ph-footer-main{grid-template-columns:1.4fr 1fr 1fr}.ph-footer-main>div:last-child{grid-column:2/3}
}

@media(max-width:820px){
    .ph-container{width:min(calc(100% - 32px),var(--max))}.ph-topbar{display:none}.admin-bar .ph-site-header{top:46px}.ph-header-inner{height:72px}.ph-brand img,.custom-logo{width:160px}
    .ph-nav{display:none;position:fixed;left:0;right:0;top:72px;background:#fff;padding:18px 16px 24px;border-bottom:1px solid var(--line);box-shadow:0 22px 50px rgba(0,0,0,.12)}
    .ph-site-header.nav-open .ph-nav{display:block}.ph-nav ul{display:block}.ph-nav a{font-size:18px;padding:13px 12px}.ph-store-btn{display:none}.ph-menu-toggle{display:block}
    .ph-hero-grid{padding:60px 0 45px}.ph-hero h1{font-size:clamp(48px,14vw,70px)}.ph-hero-lead{font-size:17px}.ph-hero-metrics{gap:22px;justify-content:space-between}.ph-hero-metrics strong{font-size:24px}
    .ph-hero-stage{min-height:460px}.ph-hero-stage:before{width:370px;height:370px}.ring-a{width:430px;height:430px}.ring-b{width:490px;height:490px}.hp1{width:300px;left:-4%}.hp2{width:220px;right:-6%}.hp3{width:230px;right:-8%}.ph-stage-card{left:2%;top:7%}.ph-float-seal{right:0;bottom:10%;width:80px;height:80px}
    .ph-marquee{justify-content:flex-start;gap:18px}
    .ph-intro{padding:85px 0}.ph-intro-number{gap:12px}.ph-number{font-size:140px}.ph-years{font-size:11px}.ph-intro-copy h2,.ph-section-head h2,.ph-showcase-head h2,.ph-excellence-copy h2,.ph-vet-copy h2{font-size:clamp(38px,11vw,56px)}.ph-signature-row{grid-template-columns:1fr}.ph-signature-row span{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}.ph-signature-row span:last-child{border-bottom:0}
    .ph-divisions{padding:85px 0}.ph-division-split{grid-template-columns:1fr}.ph-division-panel{min-height:560px}.ph-panel-products{width:65%}
    .ph-human-showcase{padding:75px 0}.ph-bento{grid-template-columns:1fr;grid-template-rows:390px 250px 250px auto}.ph-bento-main{grid-row:auto}.ph-bento-copy{max-width:62%}.ph-bento-main img{width:68%;right:-12%}.ph-bento-lixenil img,.ph-bento-oraldry img{width:48%}
    .ph-excellence{padding:85px 0}.ph-excellence-visual{min-height:500px}.ph-italy-orb{width:190px;height:190px}.ex-prod{width:260px}.ex3{width:220px}.ph-check-grid{grid-template-columns:1fr}
    .ph-vet-focus{min-height:680px}.ph-vet-shade{background:linear-gradient(90deg,rgba(5,37,23,.94),rgba(5,37,23,.74))}.ph-vet-content{display:block}.ph-vet-number{font-size:100px;margin-bottom:18px}
    .ph-final-box{grid-template-columns:1fr}.ph-final-logo-mark{width:58px;height:58px;border-radius:18px}.ph-final-box .ph-btn{justify-self:start}
    .ph-footer-brandrow{grid-template-columns:1fr auto}.ph-footer-brandrow p{display:none}.ph-footer-main{grid-template-columns:1fr 1fr}.ph-footer-intro{grid-column:1/3}.ph-footer-main>div:last-child{grid-column:auto}.ph-footer-bottom{flex-direction:column}
}

@media(max-width:520px){
    .ph-hero-actions{align-items:flex-start;flex-direction:column}.ph-hero-metrics{gap:14px}.ph-hero-metrics span{font-size:8px}.ph-hero-stage{min-height:390px}.ph-hero-stage:before{width:310px;height:310px}.ring-a{width:350px;height:350px}.ring-b{display:none}.hp1{width:255px;left:-13%}.hp2{width:190px;right:-15%;top:16%}.hp3{width:200px;right:-15%;bottom:4%}.ph-stage-card{padding:12px 14px}.ph-stage-card strong{font-size:20px}.tag-human,.tag-vet{display:none}.ph-float-seal{width:70px;height:70px;font-size:7px}.ph-float-seal span{font-size:21px}
    .ph-division-panel{padding:24px;min-height:510px}.ph-panel-copy{left:24px;right:24px;bottom:28px}.ph-panel-copy h3{font-size:55px}.ph-panel-products{width:82%;right:-70px;top:42px}.ph-panel-word{font-size:110px}
    .ph-bento{grid-template-rows:360px 230px 230px auto}.ph-bento-copy{left:22px;top:22px;max-width:74%}.ph-bento-copy h3{font-size:31px}.ph-bento-main img{width:74%;right:-14%;bottom:-7%}.ph-bento-lixenil img,.ph-bento-oraldry img{width:56%;right:-6%}
    .ph-excellence-visual{min-height:420px}.ph-italy-orb{width:150px;height:150px;font-size:11px}.ex-prod{width:210px}.ex3{width:185px;right:10px}.ph-footer-main{grid-template-columns:1fr}.ph-footer-intro{grid-column:auto}.ph-footer-brandrow img{width:150px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.ph-reveal{opacity:1;transform:none}}

/* === VET DIVISION / MANTLE VET — product-first redesign === */
.ph-vet-panel{background:linear-gradient(145deg,#0e6841 0%,#095234 58%,#063a28 100%);}
.ph-vet-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.11) .7px,transparent .7px);background-size:18px 18px;opacity:.16;z-index:-1}
.ph-vet-panel-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#e9fff3 0%,#c9f5dc 55%,rgba(201,245,220,0) 72%);right:-70px;top:-70px;opacity:.95;z-index:0}
.ph-vet-panel-products{position:absolute;right:-4%;top:40px;width:68%;height:58%;z-index:2}
.ph-vet-panel-products img{position:absolute;object-fit:contain;filter:drop-shadow(0 22px 22px rgba(0,32,18,.23));transition:transform .35s ease}
.ph-vet-panel-products .vpp1{width:52%;right:3%;top:4%;transform:rotate(3deg)}
.ph-vet-panel-products .vpp2{width:47%;left:5%;top:14%;transform:rotate(-7deg)}
.ph-vet-panel-products .vpp3{width:42%;right:28%;top:2%;transform:rotate(-1deg)}
.ph-vet-panel:hover .vpp1{transform:translateY(-8px) rotate(5deg)}
.ph-vet-panel:hover .vpp2{transform:translateY(-6px) rotate(-9deg)}
.ph-vet-panel:hover .vpp3{transform:translateY(-10px) rotate(-1deg)}

.ph-vet-catalog{position:relative;min-height:auto;padding:118px 0 130px;background:linear-gradient(145deg,#073d29 0%,#0a5636 55%,#0d7044 100%);color:#fff;overflow:hidden}
.ph-vet-catalog:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) .8px,transparent .8px);background-size:19px 19px;opacity:.3}
.ph-vet-catalog-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
.ph-vet-catalog-orb.orb-one{width:520px;height:520px;right:-130px;top:-140px;background:radial-gradient(circle,#bff2d2 0%,rgba(191,242,210,.24) 46%,rgba(191,242,210,0) 72%)}
.ph-vet-catalog-orb.orb-two{width:430px;height:430px;left:-160px;bottom:-170px;background:radial-gradient(circle,#77d8a1 0%,rgba(119,216,161,.16) 48%,rgba(119,216,161,0) 73%)}
.ph-vet-catalog .ph-container{position:relative;z-index:2}
.ph-vet-catalog-head{display:grid;grid-template-columns:1.08fr .62fr;gap:70px;align-items:end;margin-bottom:58px}
.ph-vet-catalog-head h2{font-size:clamp(46px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:8px 0 0;font-weight:850}
.ph-vet-catalog-head p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.74);margin:0 0 7px}
.ph-vet-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ph-vet-product{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.15);border-radius:28px;background:linear-gradient(165deg,rgba(255,255,255,.14),rgba(255,255,255,.065));backdrop-filter:blur(8px);overflow:hidden;padding:18px 18px 22px;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.ph-vet-product:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.32);background:linear-gradient(165deg,rgba(255,255,255,.19),rgba(255,255,255,.085))}
.ph-vet-product img{display:block;width:100%;height:335px;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,28,16,.28));transition:transform .3s ease}
.ph-vet-product:hover img{transform:scale(1.035) translateY(-3px)}
.ph-vet-product div{padding:4px 5px 0}
.ph-vet-product span{display:block;font-size:9px;font-weight:900;letter-spacing:.14em;color:#9ff0bd;margin-bottom:5px}
.ph-vet-product h3{font-size:19px;line-height:1.12;margin:0;color:#fff;letter-spacing:-.025em}

@media(max-width:1050px){
  .ph-vet-panel-products{width:74%;right:-9%}
  .ph-vet-product-grid{grid-template-columns:repeat(2,1fr)}
  .ph-vet-catalog-head{grid-template-columns:1fr;gap:22px}
}
@media(max-width:720px){
  .ph-vet-panel-products{width:92%;right:-24%;top:50px;height:50%}
  .ph-vet-catalog{padding:85px 0 90px}
  .ph-vet-product-grid{grid-template-columns:1fr 1fr;gap:12px}
  .ph-vet-product{min-height:320px;border-radius:21px;padding:12px 10px 17px}
  .ph-vet-product img{height:245px}
  .ph-vet-product h3{font-size:16px}
}
@media(max-width:460px){
  .ph-vet-product-grid{grid-template-columns:1fr}
  .ph-vet-product{min-height:390px}
  .ph-vet-product img{height:315px}
}



/* =========================================================
   HERO V8 — layout più pulito e professionale
   Ispirato al concept "Innovazione per il benessere"
========================================================= */
.ph-hero-clean{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 78% 18%, rgba(95,136,255,.18), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
    min-height:auto;
}
.ph-hero-clean:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 20% 35%, rgba(255,255,255,.85), transparent 32%),
        linear-gradient(90deg, rgba(255,255,255,.35), rgba(255,255,255,0));
    pointer-events:none;
}
.ph-clean-bg{
    position:absolute;
    border-radius:50%;
    filter:blur(6px);
    pointer-events:none;
}
.ph-clean-bg-one{
    width:520px;height:520px;
    right:-140px;top:-120px;
    background:radial-gradient(circle, rgba(124,151,255,.14) 0%, rgba(124,151,255,0) 72%);
}
.ph-clean-bg-two{
    width:420px;height:420px;
    left:-170px;bottom:-150px;
    background:radial-gradient(circle, rgba(120,215,170,.12) 0%, rgba(120,215,170,0) 72%);
}
.ph-hero-clean-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0, 1.02fr) minmax(420px, .98fr);
    gap:42px;
    align-items:center;
    padding:78px 0 72px;
}
.ph-hero-clean-copy{max-width:670px}
.ph-eyebrow-dark{color:#102b62}
.ph-eyebrow-dark span{background:linear-gradient(90deg,#5ae38b,#1d5dc5)}
.ph-hero-clean h1{
    margin:0;
    font-size:clamp(48px, 6vw, 78px);
    line-height:.98;
    letter-spacing:-.055em;
    color:#102b62;
}
.ph-hero-clean h1 br{display:block}
.ph-hero-clean .ph-hero-lead{
    max-width:610px;
    margin:24px 0 0;
    color:#4c5f7d;
    font-size:clamp(18px, 2.15vw, 24px);
    line-height:1.52;
}
.ph-hero-clean .ph-hero-actions{
    margin-top:34px;
}
.ph-clean-metrics{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:18px;
    margin-top:42px;
}
.ph-clean-metric{
    padding:0 6px 0 0;
}
.ph-clean-metric strong{
    display:block;
    font-size:clamp(32px, 4vw, 52px);
    line-height:1;
    color:#102b62;
    font-weight:900;
}
.ph-clean-metric span{
    display:block;
    margin-top:8px;
    font-size:15px;
    line-height:1.45;
    color:#4c5f7d;
    max-width:180px;
}
.ph-hero-clean-visual{
    position:relative;
    min-height:510px;
}
.ph-clean-plate,
.ph-clean-plate-small{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(21,51,103,.10);
    background:
        linear-gradient(180deg, rgba(255,255,255,.86), rgba(233,241,250,.35));
    box-shadow:
        inset 0 0 0 8px rgba(255,255,255,.22),
        0 28px 70px rgba(30,71,129,.10);
}
.ph-clean-plate{
    width:460px;height:460px;
    right:30px;bottom:10px;
}
.ph-clean-plate-small{
    width:255px;height:255px;
    right:210px;bottom:165px;
    opacity:.55;
}
.ph-clean-leaf{
    position:absolute;
    right:138px;
    bottom:88px;
    width:178px;
    height:112px;
    transform:rotate(-10deg);
}
.ph-clean-leaf:before,
.ph-clean-leaf:after{
    content:"";
    position:absolute;
    background:linear-gradient(180deg, #7cdfa4 0%, #49c980 100%);
    border-radius:120px 0 120px 0;
    box-shadow:0 16px 28px rgba(66, 185, 116, .18);
}
.ph-clean-leaf:before{
    width:104px;height:66px;
    left:0;top:18px;
    transform:rotate(-12deg);
}
.ph-clean-leaf:after{
    width:92px;height:60px;
    right:4px;top:4px;
    transform:rotate(25deg);
}
.ph-clean-leaf i{
    position:absolute;
    left:50%;
    top:10px;
    width:2px;height:88px;
    background:rgba(33,128,75,.42);
    transform:translateX(-50%) rotate(17deg);
    border-radius:2px;
}
.ph-clean-pipette{
    position:absolute;
    right:42px;
    top:28px;
    width:300px;
    height:200px;
    transform:rotate(18deg);
}
.ph-clean-pipette-body{
    position:absolute;
    right:18px;top:8px;
    width:210px;height:28px;
    border-radius:24px;
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(225,233,244,.95));
    border:1px solid rgba(21,51,103,.10);
    box-shadow:0 20px 50px rgba(21,51,103,.12);
}
.ph-clean-pipette-body:before{
    content:"";
    position:absolute;
    left:-52px;top:5px;
    width:70px;height:18px;
    border-radius:18px 0 0 18px;
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(230,236,246,.95));
    border:1px solid rgba(21,51,103,.08);
}
.ph-clean-pipette-tip{
    position:absolute;
    left:44px;top:20px;
    width:150px;height:6px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(233,240,248,.25), rgba(190,205,221,.85));
    border:1px solid rgba(148,170,192,.35);
}
.ph-clean-drop{
    position:absolute;
    left:18px;top:18px;
    width:30px;height:42px;
    background:linear-gradient(180deg, rgba(140,195,255,.95), rgba(53,128,231,.96));
    border-radius:50% 50% 58% 58% / 35% 35% 70% 70%;
    transform:rotate(180deg);
    box-shadow:0 12px 26px rgba(53,128,231,.20);
}
.ph-clean-note{
    position:absolute;
    right:0;
    bottom:26px;
    color:#17346c;
    font-size:32px;
    font-style:italic;
    line-height:1.08;
    letter-spacing:-.03em;
    text-align:right;
    max-width:240px;
    opacity:.9;
}
@media (max-width: 1100px){
    .ph-hero-clean-grid{
        grid-template-columns:1fr;
        gap:24px;
        padding:64px 0 54px;
    }
    .ph-hero-clean-copy{max-width:none}
    .ph-hero-clean-visual{
        min-height:420px;
        order:2;
    }
    .ph-clean-note{font-size:26px}
}
@media (max-width: 767px){
    .ph-hero-clean h1{
        font-size:clamp(38px, 12vw, 56px);
    }
    .ph-hero-clean .ph-hero-lead{
        font-size:18px;
    }
    .ph-clean-metrics{
        grid-template-columns:1fr;
        gap:14px;
        margin-top:30px;
    }
    .ph-clean-metric{
        background:rgba(255,255,255,.55);
        border:1px solid rgba(18,44,91,.08);
        box-shadow:0 10px 22px rgba(20,50,95,.06);
        border-radius:18px;
        padding:16px 18px;
    }
    .ph-hero-clean-visual{
        min-height:290px;
    }
    .ph-clean-plate{
        width:260px;height:260px;
        right:50%;transform:translateX(50%);
        bottom:8px;
    }
    .ph-clean-plate-small{
        width:150px;height:150px;
        right:52%;
        transform:translateX(50%);
        bottom:110px;
    }
    .ph-clean-leaf{
        width:120px;height:72px;
        right:50%;
        transform:translateX(50%) rotate(-10deg);
        bottom:42px;
    }
    .ph-clean-pipette{
        width:220px;height:140px;
        right:8%;
        top:14px;
    }
    .ph-clean-pipette-body{
        width:155px;height:20px;
    }
    .ph-clean-pipette-body:before{
        left:-38px;top:4px;
        width:50px;height:12px;
    }
    .ph-clean-pipette-tip{
        left:36px;top:15px;
        width:110px;height:4px;
    }
    .ph-clean-drop{
        left:12px;top:13px;
        width:20px;height:28px;
    }
    .ph-clean-note{
        font-size:20px;
        bottom:6px;
        right:8px;
    }
}


/* =========================================================
   HERO V9 — versione più pulita con 2 CTA Human / Pet
========================================================= */
.ph-hero-v9{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 85% 16%, rgba(109,145,255,.14), transparent 28%),
        radial-gradient(circle at 12% 88%, rgba(123,223,173,.10), transparent 25%),
        linear-gradient(180deg, #f8fbff 0%, #eef3fa 100%);
}
.ph-hero-v9:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(255,255,255,.40), rgba(255,255,255,0));
    pointer-events:none;
}
.ph-hero-v9-glow{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    filter:blur(10px);
}
.ph-hero-v9-glow-a{
    width:420px;height:420px;right:-120px;top:-120px;
    background:radial-gradient(circle, rgba(92,125,240,.12), rgba(92,125,240,0) 72%);
}
.ph-hero-v9-glow-b{
    width:360px;height:360px;left:-120px;bottom:-140px;
    background:radial-gradient(circle, rgba(71,203,130,.10), rgba(71,203,130,0) 72%);
}
.ph-hero-v9-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
    gap:54px;
    align-items:center;
    padding:84px 0 76px;
}
.ph-hero-v9-copy h1{
    margin:0;
    color:#102b62;
    font-size:clamp(50px, 6.1vw, 82px);
    line-height:.97;
    letter-spacing:-.06em;
}
.ph-hero-v9 .ph-hero-lead{
    max-width:650px;
    margin:24px 0 0;
    color:#4f6280;
    font-size:clamp(19px,2.1vw,24px);
    line-height:1.55;
}
.ph-hero-v9-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}
.ph-btn-ghost-green{
    background:#fff;
    color:#1c8b52;
    border:1px solid rgba(28,139,82,.16);
    box-shadow:0 10px 28px rgba(18,38,74,.07);
}
.ph-btn-ghost-green:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 36px rgba(18,38,74,.10);
}
.ph-v9-metrics{margin-top:42px}

.ph-hero-v9-side{
    display:grid;
    gap:18px;
}
.ph-v9-card{
    position:relative;
    overflow:hidden;
    padding:28px 28px 26px;
    border-radius:30px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(19,48,97,.08);
    box-shadow:0 24px 50px rgba(19,48,97,.08);
    backdrop-filter:blur(8px);
}
.ph-v9-card:before{
    content:"";
    position:absolute;
    inset:auto -20px -28px auto;
    width:170px;height:170px;
    border-radius:50%;
    opacity:.08;
}
.ph-v9-card-human:before{background:#1d5dc5;}
.ph-v9-card-pet:before{background:#27a45f;}
.ph-v9-card-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    letter-spacing:.16em;
    font-weight:900;
    margin-bottom:14px;
}
.ph-v9-card-badge:before{
    content:"";
    width:10px;height:10px;border-radius:50%;
}
.ph-v9-card-human .ph-v9-card-badge{color:#1d5dc5}
.ph-v9-card-pet .ph-v9-card-badge{color:#27a45f}
.ph-v9-card-human .ph-v9-card-badge:before{background:#1d5dc5}
.ph-v9-card-pet .ph-v9-card-badge:before{background:#27a45f}
.ph-v9-card h3{
    margin:0;
    color:#102b62;
    font-size:clamp(26px, 2.2vw, 36px);
    line-height:1.08;
    letter-spacing:-.04em;
}
.ph-v9-card p{
    margin:14px 0 0;
    color:#556886;
    font-size:16px;
    line-height:1.6;
}
.ph-v9-card a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    text-decoration:none;
    font-weight:800;
    color:#102b62;
}
.ph-v9-card-pet a{color:#1b8a52}

@media (max-width:1100px){
    .ph-hero-v9-grid{
        grid-template-columns:1fr;
        gap:26px;
        padding:64px 0 56px;
    }
}
@media (max-width:767px){
    .ph-hero-v9-grid{padding:52px 0 44px}
    .ph-hero-v9-copy h1{
        font-size:clamp(40px, 12vw, 58px);
    }
    .ph-hero-v9 .ph-hero-lead{
        font-size:18px;
    }
    .ph-hero-v9-actions{
        flex-direction:column;
        align-items:flex-start;
    }
    .ph-hero-v9-side{
        gap:14px;
    }
    .ph-v9-card{
        border-radius:24px;
        padding:22px 20px;
    }
    .ph-v9-card h3{
        font-size:28px;
    }
}


/* =========================================================
   HUMAN PRODUCT FEATURE SECTION
========================================================= */
.ph-human-product{
    position:relative;
    background:
        radial-gradient(circle at 12% 15%, rgba(233,239,251,.8), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%);
    padding:96px 0;
    overflow:hidden;
}
.ph-human-product-grid{
    display:grid;
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
    gap:54px;
    align-items:center;
}
.ph-human-product-media{position:relative}
.ph-human-media-panel{
    background:#fff;
    border-radius:34px;
    padding:34px;
    border:1px solid rgba(16,43,98,.08);
    box-shadow:0 30px 70px rgba(16,43,98,.08);
    min-height:620px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ph-human-media-panel img{
    max-width:100%;
    max-height:560px;
    width:auto;
    object-fit:contain;
    filter:drop-shadow(0 20px 42px rgba(16,43,98,.10));
}
.ph-human-product-copy h2{
    margin:0;
    color:#102b62;
    font-size:clamp(42px, 5vw, 68px);
    line-height:.98;
    letter-spacing:-.05em;
}
.ph-human-intro{
    margin:22px 0 0;
    font-size:clamp(18px, 2vw, 24px);
    line-height:1.55;
    color:#546781;
    max-width:780px;
}
.ph-human-benefits{
    display:grid;
    gap:16px;
    margin-top:34px;
}
.ph-human-benefit{
    display:grid;
    grid-template-columns:10px 1fr;
    gap:18px;
    align-items:flex-start;
    background:#fff;
    border:1px solid rgba(16,43,98,.08);
    border-radius:22px;
    padding:20px 22px;
    box-shadow:0 16px 36px rgba(16,43,98,.05);
}
.ph-benefit-stick{
    width:6px;
    min-height:100%;
    border-radius:999px;
    background:linear-gradient(180deg, #ff3a31 0%, #d80f16 100%);
    box-shadow:0 8px 18px rgba(216,15,22,.18);
    display:block;
}
.ph-human-benefit h3{
    margin:0;
    color:#102b62;
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.03em;
}
.ph-human-benefit p{
    margin:9px 0 0;
    color:#5a6d87;
    font-size:16px;
    line-height:1.58;
}
.ph-human-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.ph-human-tags span{
    display:inline-flex;
    align-items:center;
    padding:10px 14px;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(226,36,41,.14);
    color:#b41d22;
    font-weight:700;
    font-size:14px;
    box-shadow:0 10px 22px rgba(16,43,98,.04);
}
@media (max-width:1100px){
    .ph-human-product{
        padding:72px 0;
    }
    .ph-human-product-grid{
        grid-template-columns:1fr;
        gap:30px;
    }
    .ph-human-media-panel{
        min-height:auto;
    }
    .ph-human-media-panel img{
        max-height:480px;
    }
}
@media (max-width:767px){
    .ph-human-product{
        padding:56px 0;
    }
    .ph-human-media-panel{
        border-radius:24px;
        padding:20px;
    }
    .ph-human-product-copy h2{
        font-size:clamp(34px, 10vw, 50px);
    }
    .ph-human-intro{
        font-size:18px;
    }
    .ph-human-benefit{
        grid-template-columns:8px 1fr;
        gap:14px;
        border-radius:18px;
        padding:16px;
    }
    .ph-human-benefit h3{
        font-size:19px;
    }
    .ph-human-benefit p{
        font-size:15px;
    }
}


/* =========================================================
   AFTORAL FEATURE V11 — corporate / pharmaceutical
========================================================= */
.ph-aftoral-feature{
    position:relative;
    overflow:hidden;
    padding:92px 0 98px;
    background:linear-gradient(180deg,#fff 0%,#fafcff 100%);
}
.ph-aftoral-feature:before{
    content:"";position:absolute;left:-180px;top:150px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(239,48,45,.075),rgba(239,48,45,0) 70%);pointer-events:none;
}
.ph-aftoral-head{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:70px;align-items:end;margin-bottom:46px;
}
.ph-kicker-red{color:#e52227}
.ph-aftoral-head h2{margin:0;color:#102b62;font-size:clamp(48px,5.8vw,78px);line-height:.96;letter-spacing:-.06em}
.ph-aftoral-head h2 span{color:#e52528}
.ph-aftoral-subtitle{margin:14px 0 0;color:#102b62;font-size:clamp(24px,2.7vw,35px);line-height:1.1;letter-spacing:-.035em}
.ph-aftoral-summary{margin:0;color:#536681;font-size:18px;line-height:1.65;max-width:600px}
.ph-aftoral-layout{display:grid;grid-template-columns:minmax(400px,.92fr) minmax(0,1.08fr);gap:68px;align-items:center}
.ph-aftoral-product{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center}
.ph-aftoral-orb{position:absolute;width:470px;height:470px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#fff 0%,#fff4f3 56%,#ffe3e0 100%);box-shadow:inset 0 0 70px rgba(229,37,40,.06)}
.ph-aftoral-product img{position:relative;z-index:2;width:min(100%,610px);max-height:560px;object-fit:contain;filter:drop-shadow(0 28px 35px rgba(31,49,79,.10))}
.ph-aftoral-benefits{position:relative;display:grid;gap:0;padding-left:20px}
.ph-aftoral-benefits:before{content:"";position:absolute;left:53px;top:46px;bottom:92px;width:1px;background:linear-gradient(#ef302f,rgba(239,48,47,.12))}
.ph-aftoral-benefit{position:relative;display:grid;grid-template-columns:72px 1fr;gap:20px;padding:18px 0 22px;align-items:center}
.ph-aftoral-icon{position:relative;z-index:2;width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid rgba(229,37,40,.12);box-shadow:0 12px 28px rgba(17,43,90,.08);display:flex;align-items:center;justify-content:center;color:#e52528}
.ph-aftoral-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ph-aftoral-benefit h3{margin:0;color:#102b62;font-size:21px;line-height:1.18;letter-spacing:-.025em}
.ph-aftoral-benefit p{margin:7px 0 0;color:#596b84;font-size:16px;line-height:1.55;max-width:540px}
.ph-aftoral-cta{display:inline-flex;justify-self:start;align-items:center;gap:10px;margin:18px 0 0 78px;padding:16px 24px;border-radius:999px;background:#e52528;color:#fff;font-size:13px;font-weight:900;letter-spacing:.035em;box-shadow:0 14px 30px rgba(229,37,40,.20);transition:.2s ease}
.ph-aftoral-cta:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(229,37,40,.25)}
@media(max-width:1100px){
 .ph-aftoral-feature{padding:72px 0 78px}.ph-aftoral-head{grid-template-columns:1fr;gap:20px}.ph-aftoral-layout{grid-template-columns:1fr;gap:26px}.ph-aftoral-product{min-height:460px}.ph-aftoral-orb{width:410px;height:410px}.ph-aftoral-product img{max-height:470px}.ph-aftoral-benefits{max-width:760px;margin:0 auto;width:100%}
}
@media(max-width:700px){
 .ph-aftoral-feature{padding:54px 0 60px}.ph-aftoral-head h2{font-size:clamp(38px,11vw,54px)}.ph-aftoral-subtitle{font-size:24px}.ph-aftoral-summary{font-size:16px}.ph-aftoral-product{min-height:330px}.ph-aftoral-orb{width:290px;height:290px}.ph-aftoral-product img{max-height:330px}.ph-aftoral-benefits{padding-left:0}.ph-aftoral-benefits:before{left:27px;top:40px;bottom:86px}.ph-aftoral-benefit{grid-template-columns:56px 1fr;gap:14px;padding:14px 0 18px}.ph-aftoral-icon{width:54px;height:54px}.ph-aftoral-benefit h3{font-size:18px}.ph-aftoral-benefit p{font-size:14px}.ph-aftoral-cta{margin-left:68px}
}


/* V12 - Aftoral transparent photo + Human featured badge */
.ph-aftoral-feature-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
    color:#e5242a;
    font-size:12px;
    line-height:1;
    letter-spacing:.15em;
    font-weight:900;
    text-transform:uppercase;
}
.ph-aftoral-feature-badge span{
    width:34px;
    height:2px;
    border-radius:999px;
    background:#e5242a;
}
img[src*="aftoral-feature-transparent"]{
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    filter:drop-shadow(0 24px 34px rgba(16,43,98,.12));
    object-fit:contain;
}

section[id="azienda"] .ph-aftoral-media,
section[id="azienda"] .ph-aftoral-product,
section[id="azienda"] .ph-aftoral-product-wrap,
section[id="azienda"] .ph-aftoral-image,
section[id="azienda"] [class*="media"],
section[id="azienda"] [class*="visual"]{
    background:transparent !important;
}


/* =========================================================
   V13 — Sezione prodotto VET in evidenza
========================================================= */
.ph-vet-feature{
    position:relative;
    overflow:hidden;
    padding:92px 0 98px;
    background:linear-gradient(180deg,#f8fcf9 0%, #ffffff 100%);
}
.ph-vet-feature:before{
    content:"";
    position:absolute;
    right:-180px;
    top:120px;
    width:520px;
    height:520px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(48,190,113,.08), rgba(48,190,113,0) 70%);
    pointer-events:none;
}
.ph-kicker-green{
    color:#1e9a59;
}
.ph-vet-feature-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:14px 0 10px;
    color:#1e9a59;
    font-size:12px;
    line-height:1;
    letter-spacing:.15em;
    font-weight:900;
    text-transform:uppercase;
}
.ph-vet-feature-badge span{
    width:34px;
    height:2px;
    border-radius:999px;
    background:#1e9a59;
}
.ph-vet-head h2 span{
    color:#1e9a59;
}
.ph-vet-layout{
    align-items:center;
}
.ph-vet-product{
    background:linear-gradient(180deg,#ffffff 0%, #f5fbf7 100%);
    border:1px solid rgba(20,93,55,.08);
    box-shadow:0 30px 70px rgba(16,43,98,.06);
    border-radius:34px;
    padding:32px;
}
.ph-vet-product img{
    width:100%;
    max-width:720px;
    height:auto;
    display:block;
    margin:0 auto;
    filter:drop-shadow(0 24px 34px rgba(16,43,98,.10));
}
.ph-vet-benefits{
    position:relative;
}
.ph-vet-benefit .ph-vet-icon{
    border-color:rgba(30,154,89,.12);
    background:#fff;
    color:#1e9a59;
    box-shadow:0 8px 20px rgba(30,154,89,.08);
}
.ph-vet-benefit .ph-vet-icon svg{
    stroke:#1e9a59;
}
.ph-vet-cta{
    background:#1e9a59;
    box-shadow:0 16px 30px rgba(30,154,89,.18);
}
.ph-vet-cta:hover{
    background:#16834b;
}
@media (max-width:1100px){
    .ph-vet-feature{
        padding:72px 0 78px;
    }
    .ph-vet-product{
        padding:22px;
        border-radius:24px;
    }
}
@media (max-width:767px){
    .ph-vet-feature{
        padding:56px 0 62px;
    }
    .ph-vet-feature-badge{
        margin:12px 0 8px;
        font-size:11px;
    }
}

/* footer cleanup v14 */
.ph-footer-brandrow p{display:none!important;}


/* =========================================================
   V15 — Presenza nazionale / mappa Italia
========================================================= */
.ph-presence{
    position:relative;
    overflow:hidden;
    padding:96px 0 110px;
    background:linear-gradient(180deg,#fbfcff 0%, #f4f7fd 100%);
}
.ph-presence:before{
    content:"";
    position:absolute;
    left:-180px;
    top:120px;
    width:360px;
    height:360px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(42,114,255,.08), rgba(42,114,255,0) 70%);
    pointer-events:none;
}
.ph-presence-head{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:64px;
    align-items:end;
    margin-bottom:34px;
}
.ph-presence-head h2{
    max-width:760px;
}
.ph-presence-head p{
    margin:0;
    color:#677997;
    font-size:20px;
    line-height:1.65;
}
.ph-presence-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-bottom:34px;
}
.ph-presence-stats article{
    background:#fff;
    border:1px solid rgba(16,43,98,.07);
    border-radius:26px;
    padding:24px 26px;
    box-shadow:0 16px 36px rgba(16,43,98,.05);
}
.ph-presence-stats strong{
    display:block;
    color:var(--navy);
    font-size:38px;
    line-height:1;
    letter-spacing:-.04em;
}
.ph-presence-stats span{
    display:block;
    margin-top:8px;
    color:#71819b;
    font-size:15px;
}
.ph-presence-layout{
    display:grid;
    grid-template-columns:.96fr 1.04fr;
    gap:34px;
    align-items:start;
}
.ph-presence-map-card{
    background:#fff;
    border:1px solid rgba(16,43,98,.07);
    box-shadow:0 24px 54px rgba(16,43,98,.07);
    border-radius:34px;
    padding:22px;
}
.ph-presence-map-card img{
    width:100%;
    height:auto;
    display:block;
    border-radius:24px;
}
.ph-presence-regions{
    background:#fff;
    border:1px solid rgba(16,43,98,.07);
    box-shadow:0 24px 54px rgba(16,43,98,.07);
    border-radius:34px;
    padding:28px;
}
.ph-region-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px 16px;
}
.ph-region-item{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:5px;
    min-height:86px;
    padding:18px 18px 18px 52px;
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%, #fbfcff 100%);
    border:1px solid rgba(16,43,98,.08);
}
.ph-region-item i{
    position:absolute;
    left:18px;
    top:22px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:linear-gradient(180deg,#2dcc73 0%, #19ab56 100%);
    box-shadow:0 0 0 7px rgba(45,204,115,.12);
}
.ph-region-item strong{
    color:var(--navy);
    font-size:17px;
    line-height:1.25;
}
.ph-region-item span{
    color:#74839d;
    font-size:13px;
    line-height:1.5;
}
.ph-presence-note{
    margin-top:20px;
    padding:22px 24px;
    border-radius:24px;
    background:linear-gradient(135deg,#0d2b63 0%, #214db4 100%);
}
.ph-presence-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.1);
    color:#fff;
    font-size:11px;
    line-height:1;
    letter-spacing:.16em;
    font-weight:900;
    text-transform:uppercase;
}
.ph-presence-note p{
    margin:16px 0 0;
    color:rgba(255,255,255,.84);
    font-size:15px;
    line-height:1.7;
}
@media(max-width:1100px){
    .ph-presence{
        padding:74px 0 84px;
    }
    .ph-presence-head{
        grid-template-columns:1fr;
        gap:20px;
    }
    .ph-presence-layout{
        grid-template-columns:1fr;
    }
    .ph-presence-stats{
        grid-template-columns:1fr;
    }
}
@media(max-width:767px){
    .ph-presence{
        padding:56px 0 66px;
    }
    .ph-region-grid{
        grid-template-columns:1fr;
    }
    .ph-presence-regions,
    .ph-presence-map-card{
        border-radius:24px;
        padding:18px;
    }
    .ph-region-item{
        min-height:78px;
        padding:16px 16px 16px 48px;
        border-radius:18px;
    }
}


/* =========================================================
   V16 — Presenza nazionale, stile premium selezionato
========================================================= */
.ph-presence-premium{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 34%, rgba(255,255,255,.96) 0%, rgba(249,250,252,.92) 40%, rgba(242,245,249,.98) 100%);
    padding:102px 0 108px;
}
.ph-presence-premium:before{
    content:"";
    position:absolute;
    width:760px;
    height:760px;
    border-radius:50%;
    right:-180px;
    top:28px;
    border:1px solid rgba(16,43,98,.05);
    box-shadow:inset 0 0 0 70px rgba(255,255,255,.24);
}
.ph-presence-ribbon{
    position:absolute;
    right:-210px;
    top:-70px;
    width:520px;
    height:980px;
    border-radius:50%;
    transform:rotate(-15deg);
    pointer-events:none;
    opacity:.95;
}
.ph-presence-ribbon-green{
    border:28px solid #159454;
}
.ph-presence-ribbon-white{
    right:-176px;
    top:-45px;
    width:455px;
    height:900px;
    border:24px solid #fff;
}
.ph-presence-ribbon-red{
    right:-142px;
    top:-20px;
    width:390px;
    height:820px;
    border:25px solid #ee4a43;
}
.ph-presence-premium-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    gap:54px;
    align-items:center;
}
.ph-presence-premium-copy{
    max-width:660px;
}
.ph-presence-premium-copy h2{
    margin:0;
    color:#102b62;
    font-size:clamp(50px, 5.8vw, 82px);
    line-height:.96;
    letter-spacing:-.06em;
}
.ph-presence-premium-copy>p{
    margin:26px 0 0;
    color:#586b86;
    font-size:19px;
    line-height:1.65;
    max-width:630px;
}
.ph-presence-darkstats{
    display:grid;
    grid-template-columns:.75fr .95fr 1.15fr;
    gap:0;
    margin-top:34px;
    background:linear-gradient(135deg,#0d294f 0%, #173d72 100%);
    border-radius:26px;
    padding:24px 18px;
    box-shadow:0 24px 48px rgba(16,43,98,.16);
}
.ph-presence-darkstats>div{
    padding:4px 18px;
    border-right:1px solid rgba(255,255,255,.15);
}
.ph-presence-darkstats>div:last-child{
    border-right:0;
}
.ph-presence-darkstats strong{
    display:block;
    color:#fff;
    font-size:23px;
    line-height:1.05;
    letter-spacing:-.035em;
}
.ph-presence-darkstats span{
    display:block;
    color:#bbc8da;
    font-size:12px;
    line-height:1.4;
    margin-top:6px;
}
.ph-presence-signature{
    display:inline-flex;
    flex-direction:column;
    margin-top:34px;
    color:#17376f;
    font-size:25px;
    font-style:italic;
    line-height:1.08;
    transform:rotate(-2deg);
}
.ph-presence-signature i{
    width:150px;
    height:4px;
    background:#e52528;
    border-radius:999px;
    margin:10px 0 0 44px;
    transform:rotate(-8deg);
}
.ph-presence-premium-map{
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ph-map-halo{
    position:absolute;
    width:560px;
    height:560px;
    border-radius:50%;
    background:radial-gradient(circle at 45% 40%, #fff 0%, #f5f7fa 65%, rgba(232,236,242,.45) 100%);
    box-shadow:inset 0 0 0 1px rgba(16,43,98,.04);
}
.ph-presence-premium-map img{
    position:relative;
    z-index:2;
    width:min(88%, 520px);
    max-height:620px;
    object-fit:contain;
    filter:drop-shadow(0 26px 36px rgba(16,43,98,.12));
}
.ph-map-callout{
    position:absolute;
    z-index:4;
    top:110px;
    right:0;
    display:flex;
    align-items:center;
    gap:14px;
    min-width:230px;
    padding:17px 20px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(16,43,98,.06);
    border-radius:22px;
    box-shadow:0 18px 42px rgba(16,43,98,.11);
}
.ph-map-callout strong{
    display:block;
    color:#102b62;
    font-size:15px;
}
.ph-map-callout small{
    display:block;
    color:#687a95;
    font-size:12px;
    margin-top:3px;
}
.ph-map-pin-icon{
    position:relative;
    width:34px;
    height:42px;
    border-radius:50% 50% 50% 0;
    background:#e52528;
    transform:rotate(-45deg);
    flex:0 0 auto;
    box-shadow:0 7px 16px rgba(229,37,40,.18);
}
.ph-map-pin-icon:after{
    content:"";
    position:absolute;
    width:11px;
    height:11px;
    border-radius:50%;
    background:#fff;
    left:11px;
    top:11px;
}
.ph-map-caption{
    position:absolute;
    z-index:4;
    bottom:44px;
    right:4px;
    display:grid;
    grid-template-columns:auto auto;
    column-gap:8px;
    align-items:center;
}
.ph-map-caption>span{
    display:flex;
    gap:4px;
}
.ph-map-caption>span:before,
.ph-map-caption>span i,
.ph-map-caption>span b{
    content:"";
    width:18px;
    height:5px;
    border-radius:2px;
}
.ph-map-caption>span:before{background:#159454}
.ph-map-caption>span i{background:#fff;border:1px solid #ddd}
.ph-map-caption>span b{background:#ee4a43}
.ph-map-caption strong{
    color:#102b62;
    font-size:13px;
}
.ph-map-caption small{
    grid-column:2;
    color:#576b88;
    font-size:10px;
    letter-spacing:.08em;
    font-weight:800;
}
@media(max-width:1100px){
    .ph-presence-premium{
        padding:76px 0 84px;
    }
    .ph-presence-premium-grid{
        grid-template-columns:1fr;
        gap:30px;
    }
    .ph-presence-premium-copy{
        max-width:none;
    }
    .ph-presence-premium-map{
        min-height:560px;
    }
    .ph-presence-ribbon{
        opacity:.45;
    }
}
@media(max-width:767px){
    .ph-presence-premium{
        padding:58px 0 64px;
    }
    .ph-presence-premium-copy h2{
        font-size:clamp(42px, 12vw, 58px);
    }
    .ph-presence-premium-copy>p{
        font-size:17px;
    }
    .ph-presence-darkstats{
        grid-template-columns:1fr;
        padding:12px 16px;
        border-radius:22px;
    }
    .ph-presence-darkstats>div{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.13);
        padding:15px 4px;
    }
    .ph-presence-darkstats>div:last-child{
        border-bottom:0;
    }
    .ph-presence-premium-map{
        min-height:470px;
    }
    .ph-map-halo{
        width:380px;
        height:380px;
    }
    .ph-presence-premium-map img{
        width:min(92%, 390px);
        max-height:450px;
    }
    .ph-map-callout{
        top:44px;
        right:0;
        min-width:190px;
        padding:13px 14px;
    }
    .ph-map-caption{
        bottom:10px;
        right:0;
    }
}


/* V17 - rimosso il cerchio/halo nella sezione presenza Italia */
.ph-presence-premium:before{
    display:none !important;
}
.ph-map-halo{
    display:none !important;
}


/* V18 - rimosse completamente le fasce decorative tricolore laterali */
.ph-presence-ribbon,
.ph-presence-ribbon-green,
.ph-presence-ribbon-white,
.ph-presence-ribbon-red{
    display:none !important;
}


/* === WooCommerce / Product pages for Pharmarei -> Farmagevi redirect === */
.ph-woo-archive-page{padding:72px 0 100px;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 220px)}
.ph-archive-header{margin-bottom:26px}
.ph-archive-header .page-title{font-size:clamp(34px,4vw,54px);letter-spacing:-.045em;margin:0 0 10px}
.woocommerce-result-count,.woocommerce-ordering{font-size:14px;color:var(--muted)}
.woocommerce-ordering select{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}
.woocommerce-notices-wrapper{margin-bottom:20px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff;list-style:none;margin:0 0 12px}
.woocommerce-error{border-color:rgba(220,53,69,.18)}
.woocommerce-message{border-color:rgba(34,164,90,.22)}
.woocommerce-info{border-color:rgba(23,73,209,.18)}

.ph-product-loop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ph-loop-card{background:#fff;border:1px solid rgba(7,21,45,.08);border-radius:24px;overflow:hidden;box-shadow:0 18px 42px rgba(7,21,45,.06);display:flex;flex-direction:column}
.ph-loop-thumb{aspect-ratio:1/1;background:linear-gradient(180deg,#f8fafc,#fff);display:flex;align-items:center;justify-content:center;padding:24px}
.ph-loop-thumb img{max-height:100%;width:auto;object-fit:contain}
.ph-loop-body{padding:20px;display:flex;flex-direction:column;gap:12px;height:100%}
.ph-loop-cats{font-size:12px;color:var(--green-2);font-weight:800}
.ph-loop-body h2{font-size:22px;line-height:1.18;letter-spacing:-.03em;margin:0}
.ph-loop-body h2 a:hover{color:var(--blue)}
.ph-loop-price{font-size:26px;font-weight:900;color:var(--ink)}
.ph-loop-price ins{text-decoration:none}.ph-loop-price del{opacity:.45;font-size:.72em;margin-right:8px}
.ph-loop-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:14px;background:#fff;border:1px solid rgba(122,184,44,.35);color:#4f8120;font-weight:900;margin-top:auto;transition:.2s}
.ph-loop-button:hover{background:#7ab82c;color:#fff;border-color:#7ab82c}

.ph-product-page{padding:36px 0 100px;background:linear-gradient(180deg,#f7faf7 0%,#ffffff 270px)}
.ph-product-breadcrumbs{margin-bottom:22px;font-size:14px;color:#7c8796}.ph-product-breadcrumbs a{color:#7c8796}.ph-product-breadcrumbs a:hover{color:var(--ink)}.ph-product-breadcrumbs .sep{margin:0 8px;color:#b0bac7}
.ph-product-breadcrumbs .woocommerce-breadcrumb{margin:0}
.ph-product-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:36px;align-items:start}
.ph-product-gallery-card,.ph-product-summary-card,.ph-product-description-card{background:#fff;border:1px solid rgba(7,21,45,.07);border-radius:30px;box-shadow:0 24px 60px rgba(7,21,45,.07)}
.ph-product-gallery-card{padding:24px;position:sticky;top:100px}
.admin-bar .ph-product-gallery-card{top:132px}
.ph-product-gallery-main{position:relative;background:#fff;min-height:560px;border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:28px}
.ph-product-main-image{max-width:100%;max-height:500px;width:auto;height:auto;object-fit:contain}
.ph-product-placeholder{width:100%;min-height:460px;border-radius:24px;background:#f6f7fa;display:grid;place-items:center;padding:30px;color:var(--muted);font-weight:800;text-align:center}
.ph-product-thumbs{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.ph-product-thumb{width:84px;height:84px;border-radius:18px;border:1px solid rgba(7,21,45,.10);background:#fff;padding:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
.ph-product-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.ph-product-thumb:hover,.ph-product-thumb.is-active{border-color:#7ab82c;box-shadow:0 0 0 3px rgba(122,184,44,.14)}
.ph-product-summary-card{padding:32px}
.ph-product-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#eef7dc;color:#5d8d22;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px}
.ph-product-summary-card h1{font-size:clamp(38px,4.8vw,62px);line-height:1.02;letter-spacing:-.055em;margin:0 0 18px;color:var(--ink)}
.ph-product-short-description,.ph-product-short-description p{font-size:18px;line-height:1.65;color:#36465e}.ph-product-short-description>*:last-child{margin-bottom:0}
.ph-product-meta-box{margin-top:26px;padding:22px 22px 18px;border-radius:22px;background:#fbfcfe;border:1px solid rgba(7,21,45,.06)}
.ph-product-meta-heading{font-size:15px;font-weight:900;color:var(--ink);margin-bottom:14px}
.ph-product-meta-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ph-product-meta-list li{font-size:16px;color:#33435b;display:flex;gap:8px;flex-wrap:wrap}.ph-product-meta-list strong{color:var(--ink)}.ph-product-meta-list span a{color:var(--blue)}
.ph-product-price-box{margin-top:22px;padding:20px 24px;border:1px solid rgba(122,184,44,.24);border-radius:22px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px}
.ph-price-label{font-size:13px;color:#6f7d8f;font-weight:800;display:block;margin-bottom:6px}.price{font-size:18px;font-weight:900;color:#f03884}.price .amount{font-size:clamp(34px,4vw,48px);line-height:1;color:#f03884}.price ins{text-decoration:none}.price del{opacity:.4;font-size:.65em;margin-right:8px}
.ph-availability-dot{display:inline-flex;align-items:center;gap:8px;color:#1c7638;font-size:15px;font-weight:800;white-space:nowrap}.ph-availability-dot:before{content:'';width:10px;height:10px;border-radius:50%;background:#6fbf32;box-shadow:0 0 0 6px rgba(111,191,50,.14)}
.ph-product-buy-box{margin-top:22px}
.ph-buy-button{display:flex;align-items:center;justify-content:center;min-height:66px;border-radius:18px;background:#7ab82c;color:#fff;border:1px solid #7ab82c;font-weight:900;font-size:20px;letter-spacing:-.02em;box-shadow:none;transition:background .2s ease,border-color .2s ease}.ph-buy-button:hover{transform:none;background:#6eaa24;color:#fff;border-color:#6eaa24;box-shadow:none}
.ph-product-buy-note{font-size:14px;color:#6e7c8e;line-height:1.6;margin:12px 4px 0}
.ph-product-description-card{margin-top:34px;padding:38px 42px}.ph-product-description-content{max-width:none;font-size:18px;line-height:1.75;color:#24354d}.ph-product-description-content>*:first-child{margin-top:0}.ph-product-description-content>*:last-child{margin-bottom:0}
.ph-product-description-content h1,.ph-product-description-content h2,.ph-product-description-content h3,.ph-product-description-content h4{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.03em;color:#75ad29;line-height:1.18;margin:34px 0 16px}
.ph-product-description-content h1{font-size:clamp(32px,4vw,44px)}.ph-product-description-content h2{font-size:clamp(28px,3.4vw,40px)}.ph-product-description-content h3{font-size:26px}.ph-product-description-content p{margin:0 0 18px}.ph-product-description-content ul,.ph-product-description-content ol{margin:0 0 20px 22px}.ph-product-description-content li{margin-bottom:8px}.ph-product-description-content strong{color:var(--ink)}
.ph-related-products{padding-top:32px}.ph-related-products>h2,.related.products>h2{font-size:30px;letter-spacing:-.04em;margin:0 0 18px}.related.products ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:0;list-style:none}.related.products ul.products li.product{margin:0!important;width:auto!important;float:none!important;background:#fff;border:1px solid rgba(7,21,45,.08);border-radius:24px;overflow:hidden;padding:18px;box-shadow:0 18px 42px rgba(7,21,45,.06)}.related.products ul.products li.product img{border-radius:18px;background:#f8fafc;padding:18px}.related.products ul.products li.product .woocommerce-loop-product__title{font-size:22px;line-height:1.18;padding:12px 0 8px}.related.products ul.products li.product .price{font-size:18px;margin-bottom:10px}.related.products ul.products li.product .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:14px;background:#fff;border:1px solid rgba(122,184,44,.35);color:#4f8120;font-weight:900}.related.products ul.products li.product .button:hover{background:#7ab82c;color:#fff;border-color:#7ab82c}

@media(max-width:1200px){.ph-product-hero{grid-template-columns:1fr;gap:28px}.ph-product-gallery-card{position:relative;top:0}.admin-bar .ph-product-gallery-card{top:0}.ph-product-summary-card h1{font-size:clamp(34px,5vw,54px)}.ph-product-gallery-main{min-height:500px}.ph-product-loop-grid,.related.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.ph-product-page{padding:28px 0 80px}.ph-product-gallery-card,.ph-product-summary-card,.ph-product-description-card{border-radius:24px}.ph-product-gallery-card,.ph-product-summary-card{padding:20px}.ph-product-gallery-main{min-height:380px;padding:20px}.ph-product-main-image{max-height:340px}.ph-product-summary-card h1{font-size:clamp(30px,9vw,44px)}.ph-product-short-description,.ph-product-short-description p{font-size:16px}.ph-product-price-box{padding:18px;align-items:flex-start;flex-direction:column}.ph-product-description-card{padding:26px 22px}.ph-product-description-content{font-size:16px}.ph-product-loop-grid,.related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:560px){.ph-product-breadcrumbs{font-size:13px}.ph-product-thumb{width:68px;height:68px;border-radius:14px}.ph-buy-button{min-height:58px;font-size:18px}.ph-product-loop-grid,.related.products ul.products{grid-template-columns:1fr}.ph-loop-card{border-radius:20px}.ph-product-gallery-main{min-height:320px}}

/* === Product archive refinements v2.1.5 === */
.ph-woo-archive-page{padding-top:64px}
.ph-woo-archive-page .woocommerce-ordering{display:none!important}
.ph-woo-archive-page .woocommerce-result-count{float:none!important;margin:0 0 24px!important;font-size:14px;color:#7a8796}
.ph-product-loop-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:30px!important;align-items:stretch;width:100%;clear:both}
.ph-product-loop-grid .product.ph-loop-card{float:none!important;width:100%!important;margin:0!important;min-width:0!important;max-width:none!important;display:flex!important;flex-direction:column!important;border-radius:26px;overflow:hidden}
.ph-product-loop-grid .ph-loop-thumb{aspect-ratio:1/1;min-height:0;padding:30px;background:#fff}
.ph-product-loop-grid .ph-loop-thumb img{width:100%!important;height:100%!important;max-width:100%!important;max-height:320px!important;object-fit:contain!important;margin:0 auto!important}
.ph-product-loop-grid .ph-loop-body{padding:24px 24px 26px;gap:14px}
.ph-product-loop-grid .ph-loop-cats{font-size:13px}
.ph-product-loop-grid .woocommerce-loop-product__title{font-size:26px!important;line-height:1.15!important;margin:0!important;padding:0!important}
.ph-product-loop-grid .ph-loop-button{min-height:52px;font-size:15px;border-radius:14px}
.ph-archive-header{max-width:860px;margin-bottom:30px}
@media(max-width:1050px){.ph-product-loop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.ph-product-loop-grid{grid-template-columns:1fr!important;gap:20px!important}.ph-product-loop-grid .ph-loop-thumb img{max-height:280px!important}}


/* Related products redesign */
.related.products ul.products{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    padding:0;
    margin:0;
    list-style:none;
}
.related.products ul.products li.product{
    margin:0 !important;
    width:auto !important;
    float:none !important;
    background:#fff;
    border:1px solid rgba(7,21,45,.08);
    border-radius:28px;
    overflow:hidden;
    padding:24px;
    box-shadow:none;
    display:flex;
    flex-direction:column;
    min-height:620px;
}
.related.products ul.products li.product a.woocommerce-LoopProduct-link{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    flex:1 1 auto;
    text-decoration:none;
}
.related.products ul.products li.product img{
    display:block;
    width:100%;
    max-width:220px;
    margin:0 auto 18px;
    border-radius:0;
    background:transparent;
    padding:0;
    object-fit:contain;
    aspect-ratio:1/1;
}
.related.products ul.products li.product .ph-related-card-badge{
    color:#23934e;
    font-size:15px;
    line-height:1.25;
    font-weight:800;
    margin:8px 0 14px;
}
.related.products ul.products li.product .woocommerce-loop-product__title{
    font-size:23px;
    line-height:1.12;
    letter-spacing:-.04em;
    color:#0a2044;
    padding:0;
    margin:0;
}
.related.products ul.products li.product .price,
.related.products ul.products li.product .star-rating,
.related.products ul.products li.product .added_to_cart{
    display:none !important;
}
.related.products ul.products li.product .button,
.related.products ul.products li.product .ph-related-discover-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:60px;
    padding:0 20px;
    margin-top:auto;
    border-radius:18px;
    background:#fff;
    border:1px solid rgba(122,184,44,.35);
    color:#4f8120;
    font-size:18px;
    font-weight:900;
    text-align:center;
    box-shadow:none;
}
.related.products ul.products li.product .button:hover,
.related.products ul.products li.product .ph-related-discover-button:hover{
    background:#7ab82c;
    border-color:#7ab82c;
    color:#fff;
}
.related.products ul.products li.product .button.loading::after,
.related.products ul.products li.product .button.added::after{
    display:none !important;
}
@media(max-width:1200px){
    .related.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
    .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
    .related.products ul.products li.product{min-height:560px;}
}
@media(max-width:560px){
    .related.products ul.products{grid-template-columns:1fr;}
    .related.products ul.products li.product{min-height:auto;padding:22px;}
    .related.products ul.products li.product .woocommerce-loop-product__title{font-size:21px;}
}


/* V20 - Prodotti correlati: 4 card ordinate su una singola riga */
.ph-related-products-custom{
    padding-top:38px;
}
.ph-related-products-custom>h2{
    margin:0 0 24px;
    color:#0a2044;
    font-size:30px;
    line-height:1.1;
    letter-spacing:-.04em;
}
.ph-related-custom-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:22px !important;
    align-items:stretch;
    width:100%;
    margin:0;
    padding:0;
}
.ph-related-custom-card{
    min-width:0;
    min-height:510px;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid rgba(7,21,45,.08);
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 16px 36px rgba(7,21,45,.055);
}
.ph-related-custom-image-link{
    display:flex;
    align-items:center;
    justify-content:center;
    height:245px;
    padding:22px 22px 10px;
    background:#fff;
}
.ph-related-custom-card .ph-related-custom-image,
.ph-related-custom-card img{
    display:block;
    width:auto !important;
    max-width:100% !important;
    height:205px !important;
    max-height:205px !important;
    object-fit:contain !important;
    margin:0 auto !important;
    padding:0 !important;
    background:transparent !important;
    border-radius:0 !important;
}
.ph-related-custom-body{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    padding:12px 20px 20px;
}
.ph-related-custom-badge{
    display:block;
    margin:0 0 10px;
    color:#23934e;
    font-size:13px;
    line-height:1.25;
    font-weight:800;
}
.ph-related-custom-card h3{
    margin:0;
    color:#0a2044;
    font-size:20px;
    line-height:1.15;
    letter-spacing:-.035em;
    font-weight:800;
}
.ph-related-custom-card h3 a{
    color:inherit;
    text-decoration:none;
}
.ph-related-custom-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:50px;
    margin-top:auto;
    padding:0 14px;
    border:1px solid rgba(122,184,44,.38);
    border-radius:14px;
    background:#fff;
    color:#4f8120;
    font-size:14px;
    font-weight:900;
    text-align:center;
    transition:.2s ease;
}
.ph-related-custom-button:hover{
    background:#7ab82c;
    border-color:#7ab82c;
    color:#fff;
}

/* Neutralizza completamente il vecchio layout WooCommerce nella sezione custom. */
.ph-related-products-custom ul.products,
.ph-related-products-custom .related.products{
    display:none !important;
}

@media(max-width:1100px){
    .ph-related-custom-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:620px){
    .ph-related-custom-grid{
        grid-template-columns:1fr !important;
    }
    .ph-related-custom-card{
        min-height:470px;
    }
}


/* V21 - compattazione card prodotti correlati: elimina lo spazio tra titolo e pulsante */
.ph-related-custom-card{
    min-height:auto !important;
}
.ph-related-custom-body{
    display:block !important;
    flex:0 0 auto !important;
}
.ph-related-custom-card h3{
    margin:0 0 16px !important;
}
.ph-related-custom-button{
    margin-top:0 !important;
}
@media(max-width:620px){
    .ph-related-custom-card{
        min-height:auto !important;
    }
}


/* V22 - Archivio prodotti compatto: niente spazio vuoto tra titolo e pulsante */
.ph-product-loop-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
}
.ph-product-loop-grid .product.ph-loop-card{
    min-height:auto !important;
}
.ph-product-loop-grid .ph-loop-body{
    display:block !important;
    flex:0 0 auto !important;
    padding:18px 22px 20px !important;
}
.ph-product-loop-grid .ph-loop-cats{
    margin:0 0 10px !important;
}
.ph-product-loop-grid .woocommerce-loop-product__title{
    font-size:20px !important;
    line-height:1.15 !important;
    margin:0 0 16px !important;
}
.ph-product-loop-grid .ph-loop-price{
    display:none !important;
}
.ph-product-loop-grid .ph-loop-button{
    margin-top:0 !important;
    width:100%;
}
@media(max-width:1200px){
    .ph-product-loop-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:900px){
    .ph-product-loop-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:620px){
    .ph-product-loop-grid{grid-template-columns:1fr !important;}
}


/* V23 - Archivio prodotti: foto ripristinate e card compatte */
.ph-product-loop-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
}
.ph-product-loop-grid .product.ph-loop-card{
    display:flex !important;
    flex-direction:column !important;
    border-radius:24px !important;
    overflow:hidden !important;
}
.ph-product-loop-grid .ph-loop-thumb{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    min-height:210px !important;
    padding:20px !important;
    background:#fff !important;
}
.ph-product-loop-grid .ph-loop-thumb img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:170px !important;
    object-fit:contain !important;
    margin:0 auto !important;
    opacity:1 !important;
    visibility:visible !important;
}
.ph-product-loop-grid .ph-loop-body{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    flex:1 1 auto !important;
    padding:12px 20px 18px !important;
    gap:10px !important;
    height:auto !important;
}
.ph-product-loop-grid .ph-loop-cats{
    margin:0 !important;
    font-size:12px !important;
}
.ph-product-loop-grid .woocommerce-loop-product__title{
    font-size:18px !important;
    line-height:1.15 !important;
    margin:0 !important;
    min-height:0 !important;
}
.ph-product-loop-grid .ph-loop-price{display:none !important;}
.ph-product-loop-grid .ph-loop-button{
    margin-top:2px !important;
    width:100% !important;
    min-height:46px !important;
}
@media(max-width:1200px){
    .ph-product-loop-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:900px){
    .ph-product-loop-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:620px){
    .ph-product-loop-grid{grid-template-columns:1fr !important;}
    .ph-product-loop-grid .ph-loop-thumb{min-height:180px !important;}
}


/* V24 - allineamento pulsanti in basso nelle card */
.ph-related-custom-card{
    display:flex !important;
    flex-direction:column !important;
}
.ph-related-custom-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
}
.ph-related-custom-card h3{
    margin-bottom:16px !important;
}
.ph-related-custom-button{
    margin-top:auto !important;
}

.ph-product-loop-grid .product.ph-loop-card{
    display:flex !important;
    flex-direction:column !important;
}
.ph-product-loop-grid .ph-loop-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
}
.ph-product-loop-grid .ph-loop-button{
    margin-top:auto !important;
}


/* V25 - immagini prodotti più grandi nella pagina categoria */
.ph-product-loop-grid .ph-loop-thumb{
    padding:8px 12px !important;
}
.ph-product-loop-grid .ph-loop-thumb img{
    max-height:235px !important;
    max-width:94% !important;
}
@media(max-width:1200px){
    .ph-product-loop-grid .ph-loop-thumb img{
        max-height:220px !important;
    }
}
@media(max-width:620px){
    .ph-product-loop-grid .ph-loop-thumb img{
        max-height:240px !important;
        max-width:92% !important;
    }
}


/* V27 - pulsanti completamente senza ombra, anche premuti */
button,
.button,
.ph-btn,
.ph-store-btn,
.ph-buy-button,
.ph-loop-button,
.ph-related-custom-button,
.ph-related-discover-button,
.ph-aftoral-cta,
.ph-vet-cta,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
    box-shadow:none !important;
    text-shadow:none !important;
}

button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
.ph-btn:hover,
.ph-btn:focus,
.ph-btn:active,
.ph-store-btn:hover,
.ph-store-btn:focus,
.ph-store-btn:active,
.ph-buy-button:hover,
.ph-buy-button:focus,
.ph-buy-button:active,
.ph-loop-button:hover,
.ph-loop-button:focus,
.ph-loop-button:active,
.ph-related-custom-button:hover,
.ph-related-custom-button:focus,
.ph-related-custom-button:active,
.ph-related-discover-button:hover,
.ph-related-discover-button:focus,
.ph-related-discover-button:active,
.ph-aftoral-cta:hover,
.ph-aftoral-cta:focus,
.ph-aftoral-cta:active,
.ph-vet-cta:hover,
.ph-vet-cta:focus,
.ph-vet-cta:active,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="button"]:active,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:active,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="reset"]:active,
a.button:hover,
a.button:focus,
a.button:active,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce a.button:active,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce button.button:active,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce input.button:active{
    box-shadow:none !important;
    text-shadow:none !important;
}


/* =========================================================
   V28 - Pagina Contatti
========================================================= */
.ph-contact-page{
    position:relative;
    overflow:hidden;
    padding:82px 0 100px;
    background:
        radial-gradient(circle at 10% 16%, rgba(47,194,112,.09), transparent 26%),
        radial-gradient(circle at 92% 12%, rgba(47,92,214,.09), transparent 27%),
        linear-gradient(180deg,#f8fbff 0%,#fff 62%);
}
.ph-contact-hero{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);
    gap:62px;
    align-items:start;
}
.ph-contact-copy{
    padding-top:30px;
}
.ph-contact-copy h1{
    margin:0;
    color:#102b62;
    font-size:clamp(50px,6vw,82px);
    line-height:.96;
    letter-spacing:-.06em;
}
.ph-contact-copy>p{
    max-width:570px;
    margin:26px 0 0;
    color:#5c6f8b;
    font-size:20px;
    line-height:1.65;
}
.ph-contact-details{
    display:grid;
    gap:14px;
    margin-top:38px;
}
.ph-contact-details>a{
    display:flex;
    align-items:center;
    gap:16px;
    padding:17px 18px;
    max-width:430px;
    background:rgba(255,255,255,.75);
    border:1px solid rgba(16,43,98,.08);
    border-radius:19px;
}
.ph-contact-icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:50%;
    background:#eef4ff;
    color:#1749d1;
    font-weight:900;
}
.ph-contact-details small{
    display:block;
    color:#7888a0;
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
}
.ph-contact-details strong{
    display:block;
    margin-top:3px;
    color:#102b62;
    font-size:16px;
}
.ph-contact-card{
    padding:36px;
    background:#fff;
    border:1px solid rgba(16,43,98,.08);
    border-radius:32px;
    box-shadow:0 24px 70px rgba(16,43,98,.08);
}
.ph-contact-form{
    display:grid;
    gap:19px;
}
.ph-contact-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.ph-contact-form label>span:first-child{
    display:block;
    margin-bottom:8px;
    color:#18335f;
    font-size:13px;
    font-weight:800;
}
.ph-contact-form input[type="text"],
.ph-contact-form input[type="email"],
.ph-contact-form input[type="tel"],
.ph-contact-form select,
.ph-contact-form textarea{
    width:100%;
    min-height:54px;
    border:1px solid rgba(16,43,98,.12);
    border-radius:15px;
    background:#fbfcff;
    padding:13px 15px;
    color:#102b62;
    outline:none;
    transition:border-color .18s ease, background .18s ease;
}
.ph-contact-form textarea{
    min-height:145px;
    resize:vertical;
}
.ph-contact-form input:focus,
.ph-contact-form select:focus,
.ph-contact-form textarea:focus{
    border-color:#4a74d8;
    background:#fff;
    box-shadow:none;
}
.ph-contact-privacy{
    display:flex;
    align-items:flex-start;
    gap:11px;
    color:#657791;
    font-size:13px;
    line-height:1.5;
}
.ph-contact-privacy input{
    margin-top:3px;
    flex:0 0 auto;
}
.ph-contact-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:58px;
    border:0;
    border-radius:999px;
    background:#1749d1;
    color:#fff;
    font-size:14px;
    letter-spacing:.04em;
    font-weight:900;
    cursor:pointer;
    box-shadow:none !important;
}
.ph-contact-submit:hover,
.ph-contact-submit:focus,
.ph-contact-submit:active{
    background:#103ead;
    box-shadow:none !important;
}
.ph-contact-alert{
    display:grid;
    gap:4px;
    margin-bottom:22px;
    padding:15px 17px;
    border-radius:15px;
    font-size:14px;
}
.ph-contact-alert.is-success{
    color:#176b3d;
    background:#eaf8ef;
    border:1px solid rgba(34,164,90,.15);
}
.ph-contact-alert.is-error{
    color:#a6272c;
    background:#fff0f0;
    border:1px solid rgba(220,50,50,.14);
}
.ph-contact-honeypot{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}
.ph-contact-locations{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-top:34px;
}
.ph-contact-locations article{
    padding:28px 30px;
    background:#0a2044;
    border-radius:25px;
    color:#fff;
}
.ph-contact-locations article>span{
    color:#5bd991;
    font-size:10px;
    letter-spacing:.14em;
    font-weight:900;
}
.ph-contact-locations h2{
    margin:7px 0 11px;
    font-size:25px;
    letter-spacing:-.035em;
}
.ph-contact-locations p{
    margin:0;
    color:#bbc7d9;
    font-size:14px;
    line-height:1.65;
}
@media(max-width:980px){
    .ph-contact-hero{grid-template-columns:1fr;gap:30px;}
    .ph-contact-copy{padding-top:0;}
}
@media(max-width:620px){
    .ph-contact-page{padding:54px 0 70px;}
    .ph-contact-row{grid-template-columns:1fr;}
    .ph-contact-card{padding:22px;border-radius:24px;}
    .ph-contact-locations{grid-template-columns:1fr;}
    .ph-contact-copy>p{font-size:17px;}
}


/* V29 - pulsante STORE visibile anche su mobile */
@media(max-width:820px){
    .ph-header-inner{
        gap:10px !important;
    }

    .ph-brand{
        margin-right:auto;
    }

    .ph-brand img,
    .custom-logo{
        width:145px !important;
        max-width:145px !important;
    }

    .ph-store-btn{
        display:inline-flex !important;
        flex:0 0 auto;
        min-height:42px;
        padding:0 15px !important;
        margin-left:auto;
        border-radius:999px;
        font-size:11px !important;
        line-height:1;
        box-shadow:none !important;
        transform:none !important;
    }

    .ph-store-btn:hover,
    .ph-store-btn:focus,
    .ph-store-btn:active{
        box-shadow:none !important;
        transform:none !important;
    }

    .ph-menu-toggle{
        display:block !important;
        flex:0 0 44px;
        width:44px;
        height:44px;
        margin-left:0 !important;
    }
}

@media(max-width:390px){
    .ph-brand img,
    .custom-logo{
        width:132px !important;
        max-width:132px !important;
    }

    .ph-store-btn{
        min-height:40px;
        padding:0 12px !important;
        font-size:10px !important;
    }

    .ph-menu-toggle{
        flex-basis:42px;
        width:42px;
        height:42px;
    }
}


/* V30 - icona presenza capillare dritta */
.ph-map-pin-icon{
    position:relative;
    width:34px;
    height:42px;
    flex:0 0 auto;
    background:#e52528;
    transform:none !important;
    border-radius:0 !important;
    clip-path:polygon(
        50% 100%,
        22% 66%,
        12% 46%,
        12% 28%,
        18% 14%,
        30% 4%,
        50% 0%,
        70% 4%,
        82% 14%,
        88% 28%,
        88% 46%,
        78% 66%
    );
    box-shadow:0 7px 16px rgba(229,37,40,.18);
}

.ph-map-pin-icon:after{
    content:"";
    position:absolute;
    width:11px;
    height:11px;
    border-radius:50%;
    background:#fff;
    left:50% !important;
    top:29% !important;
    transform:translate(-50%, -50%);
}
