/*
Theme Name: Koinos 2
Theme URI: https://www.em-koinos.it/
Author: Digitalissimo
Description: Nuovo tema dell'Associazione Koinos (figlio di Store WP Premium). Conserva libri, catalogo e donazioni del tema precedente.
Template: store-wp-premium
Version: 1.0
Text Domain: koinos2
*/

@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/caveat.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/fraunces.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(assets/fonts/inter.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
/* ============================================================
   Koinos 2 – azzurro, caldo ma istituzionale
   ============================================================ */
:root{
  --carta:#f4faff; --carta2:#e1f1fb; --inchiostro:#10263a; --grigio:#52687b;
  --blu:#0b79b8; --blu-s:#075a8a; --cielo:#1fb1ee; --linea:#cfe4f2; --notte:#0b2a42;
  --giallo:#ffcd60; --bianco:#fff; --rosso:#b3261e; --verde:#1f7a4d;
  --mano:'Caveat',cursive; --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:22px; --max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.k2{margin:0;font:17px/1.65 var(--sans);color:var(--inchiostro);background:var(--carta);-webkit-font-smoothing:antialiased}
.k2 img{max-width:100%;height:auto;display:block}
.k2 a{color:var(--blu);text-decoration:none}
.k2 a:hover{color:var(--blu-s)}
.k2 h1,.k2 h2,.k2 h3,.k2 h4{font-family:var(--serif);font-weight:400;line-height:1.15;color:var(--inchiostro);margin:0 0 .5em;text-transform:none}
.k2 p{margin:0 0 1em}
.k2-wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.k2-skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:999}
.k2-skip:focus{left:12px;top:12px}
.k2 :focus-visible{outline:3px solid var(--cielo);outline-offset:2px}

/* ---- striscia in alto ---- */
.k2-utility{background:var(--notte);color:#a9c6da;font-size:13px}
.k2-utility .k2-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:34px}
.k2-util-menu{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.k2 .k2-util-menu a,.k2 .k2-utility a{color:#d8ebf7}
.k2 .k2-util-menu a:hover{color:#fff}

/* ---- logo ---- */
.k2-logo{background:#fff;border-bottom:1px solid var(--linea)}
.k2-logo a{display:block}
.k2-logo img{width:100%;max-width:var(--max);margin:0 auto;height:auto}

/* ---- barra menu ---- */
.k2-bar{position:sticky;top:0;z-index:50;background:rgba(244,250,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.admin-bar .k2-bar{top:32px}
.k2-bar-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}
.k2 .k2-marchio{font:600 18px/1.1 var(--serif);color:var(--inchiostro)}
.k2-marchio small{display:block;font:500 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--grigio);margin-top:3px}
.k2-nav{display:flex;align-items:center;gap:14px}
.k2-menu,.k2-menu ul{list-style:none;margin:0;padding:0}
.k2-menu{display:flex;align-items:center;gap:6px}
.k2-menu>li{position:relative}
.k2 .k2-menu a{display:block;white-space:nowrap;padding:10px 18px;font-size:16px;font-weight:500;color:var(--inchiostro);border-radius:99px;transition:background .2s}
.k2 .k2-menu a:hover,.k2 .k2-menu li:focus-within>a,.k2 .k2-menu li:hover>a{background:var(--carta2);color:var(--blu-s)}
.k2 .k2-menu .current-menu-item>a,.k2 .k2-menu .current-menu-ancestor>a{color:var(--blu-s);background:var(--carta2)}
.k2-menu .menu-item-has-children>a:after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translateY(-2px)}
.k2-menu .sub-menu{position:absolute;left:0;top:100%;min-width:240px;background:#fff;border:1px solid var(--linea);border-radius:16px;padding:8px;box-shadow:0 18px 30px -16px rgba(11,42,66,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;z-index:10}
.k2-menu li:hover>.sub-menu,.k2-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.k2 .k2-menu .sub-menu a{border-radius:10px;font-weight:400;padding:9px 12px}
.k2-cerca{display:flex;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:99px;padding:2px 4px 2px 14px}
.k2-cerca input{border:0;background:transparent;font:inherit;font-size:14px;width:130px;padding:7px 0;color:var(--inchiostro);outline:none;transition:width .25s}
.k2-cerca input:focus{width:190px}
.k2-cerca button{border:0;background:transparent;cursor:pointer;padding:6px;display:grid;place-items:center}
.k2-cerca svg{width:18px;height:18px;fill:none;stroke:var(--blu);stroke-width:2;stroke-linecap:round}
.k2 .k2-dona{background:var(--blu);color:#fff;padding:11px 26px;white-space:nowrap;border-radius:99px;font-weight:600;font-size:15px;transition:.2s;box-shadow:0 6px 16px -8px var(--blu)}
.k2 .k2-dona:hover{background:var(--blu-s);color:#fff;transform:translateY(-1px)}
.k2-burger{display:none;background:#fff;border:1px solid var(--linea);border-radius:10px;padding:9px 14px;font:inherit;font-weight:500;cursor:pointer;color:var(--inchiostro)}

/* carrello in alto */
.k2 .k2-carrello{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none;padding:4px 2px;border:0;border-radius:0;color:#fff;font-weight:600;font-size:15px;background:none;transition:.2s;white-space:nowrap}
.k2 .k2-carrello:hover{background:none;color:var(--giallo)}
.k2-carrello svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.k2-carrello-n{min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--giallo);color:#4a3300;font:700 13px/22px var(--sans);text-align:center}
.k2-carrello-n.k2-zero{display:none}
/* ---- pulsanti ---- */
.k2 .k2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:99px;font-weight:600;font-size:15px;line-height:1.2;transition:.2s;border:1.5px solid transparent;cursor:pointer}
.k2 .k2-p{background:var(--blu);color:#fff;box-shadow:0 6px 16px -8px rgba(11,121,184,.7)}
.k2 .k2-p:hover{background:var(--blu-s);color:#fff;transform:translateY(-2px)}
.k2 .k2-s{border-color:var(--inchiostro);color:var(--inchiostro);background:transparent}
.k2 .k2-s:hover{background:var(--inchiostro);color:#fff}
.k2 .k2-bianco{background:#fff;color:var(--blu)}
.k2 .k2-bianco:hover{background:var(--carta2);color:var(--blu-s);transform:translateY(-2px)}
.k2 .k2-pieno{display:flex;width:100%}
.k2-btns{display:flex;gap:12px;flex-wrap:wrap}
.k2-centro{text-align:center;margin-top:34px}

/* ---- apertura (home) ---- */
.k2-hero{position:relative;overflow:hidden;padding:80px 0 110px;background:radial-gradient(900px 380px at 85% 0,rgba(31,177,238,.22),transparent 70%),radial-gradient(700px 400px at 0 100%,rgba(11,121,184,.1),transparent 70%)}
.k2-hero:before,.k2-hero:after{content:"";position:absolute;border-radius:50%;z-index:0}
.k2-hero:before{width:380px;height:380px;background:rgba(31,177,238,.18);right:-80px;top:-100px}
.k2-hero:after{width:240px;height:240px;background:rgba(255,205,96,.28);left:-70px;bottom:20px}
.k2-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.k2 .k2-mano,.k2-mano{font:600 28px var(--mano);color:var(--blu);transform:rotate(-2deg);display:inline-block;margin-bottom:6px}
.k2-hero h1{font-size:clamp(38px,5.4vw,66px);line-height:1.05;letter-spacing:-.01em}
.k2-hero h1 em{color:var(--blu);font-style:italic}
.k2-lead{font-size:19px;color:var(--grigio);max-width:520px;margin:24px 0 32px}
.k2-pila{position:relative;height:420px}
.k2-pila img{position:absolute;border:6px solid #fff;border-radius:10px;box-shadow:0 24px 40px -18px rgba(16,38,58,.45);background:#fff;height:auto}
.k2-pila img:nth-of-type(1){width:44%;left:2%;top:40px;transform:rotate(-7deg)}
.k2-pila img:nth-of-type(2){width:48%;left:28%;top:0;transform:rotate(3deg);z-index:2}
.k2-pila img:nth-of-type(3){width:42%;right:0;top:78px;transform:rotate(9deg)}
.k2-sticker{position:absolute;right:2%;bottom:-6px;z-index:5;width:128px;height:128px;border-radius:50%;background:var(--giallo);color:#4a3300;display:grid;place-items:center;text-align:center;font:700 14px/1.15 var(--sans);transform:rotate(12deg);box-shadow:0 10px 24px -10px rgba(0,0,0,.4);animation:k2dondola 5s ease-in-out infinite}
.k2-sticker b{display:block;font:600 30px var(--mano)}
@keyframes k2dondola{50%{transform:rotate(5deg) translateY(-6px)}}
.k2-onda{display:block;width:100%;height:60px;margin-top:-59px;position:relative;z-index:2;color:var(--blu)}

/* ---- fascia donazione ---- */
.k2-dona-fascia{background:var(--blu);color:#eaf6fd;padding:46px 0}
.k2-dona-fascia .k2-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.k2 .k2-dona-fascia h2{font-size:30px;line-height:1.2;max-width:660px;margin:0;color:#fff}

/* ---- sezioni ---- */
.k2-sez{padding:84px 0;border-top:1px solid var(--linea)}
.k2-dona-fascia+.k2-sez{border-top:0}
.k2-alt{background:var(--carta2)}
.k2-num{display:inline-block;font:600 22px var(--mano);color:var(--blu);background:var(--carta2);border:1px solid var(--linea);border-radius:99px;padding:2px 16px;margin-bottom:14px}
.k2-alt .k2-num,.k2-evid .k2-num{background:#fff}
.k2-tit{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px;flex-wrap:wrap;padding-bottom:22px;border-bottom:2px solid var(--cielo)}
.k2 .k2-tit h2,.k2 .k2-chi h2{font-size:clamp(30px,3.6vw,44px);margin:0}
.k2-tit p{color:var(--grigio);max-width:420px;margin:0}
.k2-sottotit{font-size:28px;margin:40px 0 20px}
#libri .k2-griglia{grid-template-columns:repeat(4,1fr)}
#libri .k2-centro{margin-top:44px}
@media(max-width:900px){#libri .k2-griglia{grid-template-columns:repeat(2,1fr)}}
.k2 h3.k2-gruppo{font-size:22px;margin:44px 0 18px;padding-left:14px;border-left:5px solid var(--blu)}
.k2-tit+.k2-gruppo{margin-top:0}

/* ---- schede libro ---- */
.k2-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:28px 24px;margin:0}
.k2-libro{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:14px 14px 20px;transition:.3s;position:relative}
.k2-libro:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 22px 34px -20px rgba(11,121,184,.55)}
.k2-cop{position:relative;aspect-ratio:3/4;border-radius:14px;background:linear-gradient(160deg,#e9f6fe,#d3ebfa);display:grid;place-items:center;padding:18px;overflow:hidden}
.k2-cop img{max-height:100%;width:auto;box-shadow:0 14px 22px -12px rgba(0,0,0,.5);border-radius:3px}
.k2-nocop{font:600 16px var(--serif);text-align:center;color:var(--blu-s);padding:10px}
.k2-etichetta{position:absolute;left:10px;top:10px;background:var(--inchiostro);color:#fff;font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:99px}
.k2-finito .k2-cop img{opacity:.55;filter:grayscale(.4)}
.k2-info{padding:0 6px}
.k2-collana{font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--grigio);margin:14px 0 4px}
.k2 .k2-libro h3{font:600 18px/1.3 var(--serif);margin:0 0 4px}
.k2 .k2-libro h3 a{color:var(--inchiostro)}
.k2 .k2-libro h3 a:hover{color:var(--blu)}
.k2-autore{font-size:14px;color:var(--grigio);margin-bottom:6px}
.k2-prezzo{display:inline-block;margin-top:6px;background:var(--carta2);color:var(--blu-s);border-radius:99px;padding:4px 12px;font-weight:600;font-size:13px}
.k2-prezzo .amount,.k2-prezzo bdi{color:inherit}

/* ---- libro del momento ---- */
.k2-evid{background:var(--notte);color:#e3f1fa;padding:84px 0}
.k2-evid .k2-num{color:var(--notte);border-color:transparent}
.k2-evid h2,.k2-evid h3,.k2-evid h4,.k2-evid strong{color:#fff}
.k2-evid p,.k2-evid li{color:#b6d0e2}
.k2 .k2-evid a{color:var(--cielo)}
.k2-evid .wp-block-columns{gap:56px;align-items:flex-start;margin:0}
.k2-evid .wp-block-column:first-child img{border:8px solid #fff;border-radius:10px;transform:rotate(-2deg);box-shadow:0 30px 50px -20px #000}
.k2-evid .has-large-font-size{font:400 clamp(30px,3.6vw,44px)/1.1 var(--serif)}
.k2-evid blockquote{background:rgba(255,255,255,.06);border-left:4px solid var(--cielo);border-radius:var(--r);padding:20px 24px;margin:24px 0;font:italic 400 19px/1.6 var(--serif)}
.k2-evid .k2-btn,.k2-evid .wp-block-button__link{background:var(--cielo)!important;color:#06263b!important;border-radius:99px;padding:14px 26px;font-weight:600}
.k2-clamp{position:relative;max-height:640px;overflow:hidden}
.k2-clamp.k2-aperto{max-height:none}
.k2-clamp:not(.k2-aperto).k2-lungo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(transparent,var(--notte))}
.k2-piu{margin-top:18px;background:var(--cielo);color:#06263b;border:0;border-radius:99px;padding:12px 24px;font:600 15px var(--sans);cursor:pointer}

/* ---- chi siamo ---- */
.k2-chi{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.k2-chi p{color:var(--grigio);margin-top:18px}
.k2-cards{display:grid;gap:14px}
.k2 .k2-card{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:20px 24px;transition:.25s;color:var(--inchiostro)}
.k2 .k2-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px -18px rgba(11,121,184,.6);color:var(--inchiostro)}
.k2-card i{flex:none;width:48px;height:48px;border-radius:16px;background:var(--carta2);color:var(--blu);display:grid;place-items:center;transition:.25s}
.k2-card:hover i{background:var(--blu);color:#fff;transform:rotate(-8deg)}
.k2-card svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.k2 .k2-card h3{font:600 20px var(--serif);margin:0 0 2px}
.k2-card span{color:var(--grigio);font-size:15px}

/* ---- notizie ---- */
.k2-notizie{display:grid;gap:22px}
.k2-notizie.k2-tre{grid-template-columns:repeat(3,1fr)}
.k2-notizia{display:flex;gap:22px;background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:22px;transition:.25s}
.k2-notizie.k2-tre .k2-notizia{flex-direction:column}
.k2-notizia:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(11,121,184,.6)}
.k2-notizia-img{flex:none;width:200px}
.k2-notizie.k2-tre .k2-notizia-img{width:100%}
.k2-notizia-img img{width:100%;border-radius:12px}
.k2-data{font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blu)}
.k2 .k2-notizia h3{font:600 22px/1.25 var(--serif);margin:6px 0 8px}
.k2 .k2-notizia h3 a{color:var(--inchiostro)}
.k2-notizia p{color:var(--grigio);font-size:16px;margin-bottom:10px}
.k2 .k2-leggi{font-weight:600;font-size:15px}

/* ---- testata delle pagine interne ---- */
.k2-testata{background:linear-gradient(135deg,var(--carta2),#cdeafb);border-bottom:1px solid var(--linea);padding:44px 0 40px;position:relative;overflow:hidden}
.k2-testata:after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(31,177,238,.2)}
.k2-testata .k2-wrap{position:relative;z-index:1}
.k2-briciole{font-size:14px;color:var(--grigio);margin-bottom:10px}
.k2-briciole span{margin:0 4px}
.k2 .k2-testata h1{font-size:clamp(30px,4.4vw,52px);line-height:1.08;margin:0}
.k2-testata-testo{margin-top:12px;color:var(--grigio);max-width:720px}
.k2-barra-briciole{background:var(--carta2);border-bottom:1px solid var(--linea);padding:12px 0;font-size:14px;color:var(--grigio)}
.k2-barra-briciole span{margin:0 4px}

/* ---- pagine ---- */
.k2-pagina{padding-top:48px;padding-bottom:72px}
.k2-intro{font-size:18px;color:var(--grigio);max-width:760px;margin-bottom:28px}
.k2-testo{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:44px 48px;max-width:900px}
.k2-testo h2,.k2-testo h3,.k2-testo h4{margin-top:1.4em}
.k2-testo h2:first-child,.k2-testo h4:first-child{margin-top:0}
.k2-testo h4{font-size:20px;color:var(--blu-s)}
.k2-testo ul,.k2-testo ol{padding-left:1.3em;margin:0 0 1em}
.k2-testo li{margin-bottom:.4em}
.k2-testo img{border-radius:12px}
.k2-testo blockquote{border-left:4px solid var(--cielo);margin:1.4em 0;padding:.4em 0 .4em 22px;font:italic 400 19px/1.6 var(--serif);color:var(--grigio)}
.k2-testo table{width:100%;border-collapse:collapse;margin-bottom:1.2em}
.k2-testo th,.k2-testo td{border-bottom:1px solid var(--linea);padding:10px 12px;text-align:left}
.k2-immagine{margin:0 0 28px}
.k2-immagine img{border-radius:14px;width:100%}
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{margin-left:auto;margin-right:auto}
.k2-prevnext{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-top:36px;max-width:900px}
.k2-prevnext .k2-dx{text-align:right}
.k2-modifica{margin-top:20px;font-size:14px}
.k2-pag{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:40px}
.k2 .k2-pag a,.k2-pag-att{min-width:42px;height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:99px;border:1px solid var(--linea);background:#fff;font-weight:600;font-size:15px;color:var(--inchiostro)}
.k2 .k2-pag a:hover{border-color:var(--blu);color:var(--blu)}
.k2-pag-att{background:var(--blu);border-color:var(--blu);color:#fff}

/* contatti: colonne di Shortcodes Ultimate */
.k2-testo .su-row{display:flex;gap:32px;flex-wrap:wrap;margin:0}
.k2-testo .su-column{float:none}
.k2-testo .su-column-size-2-3{flex:2 1 320px;width:auto}
.k2-testo .su-column-size-1-3{flex:1 1 220px;width:auto}

/* ---- catalogo con colonna delle collane ---- */
.k2-cat{display:grid;grid-template-columns:270px 1fr;gap:40px;padding-top:48px;padding-bottom:72px;align-items:start}
.k2-lato{position:sticky;top:90px;background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:24px}
.admin-bar .k2-lato{top:122px}
.k2-lato-logo{margin:0 auto 18px;max-width:150px;border-radius:8px}
.k2 .k2-lato h2{font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--grigio);margin:0 0 12px}
.k2-collane{list-style:none;margin:0 0 18px;padding:0}
.k2 .k2-collane a{display:block;padding:9px 12px;border-radius:12px;color:var(--inchiostro);font-size:15px;line-height:1.35;transition:.2s}
.k2 .k2-collane a:hover{background:var(--carta2);color:var(--blu-s)}
.k2 .k2-collane .k2-att a{background:var(--blu);color:#fff;font-weight:600}
.k2-nota{font-size:14px;color:var(--grigio);background:var(--carta2);border-radius:12px;padding:12px 14px}
.k2-cat .k2-intro{margin-top:0}
.k2-cat .k2-griglia{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}

/* ---- WooCommerce: negozio / categorie ---- */
.k2-woo{padding-top:48px;padding-bottom:72px}
.k2 .woocommerce-notices-wrapper{margin-bottom:10px}
.k2 .woocommerce-message,.k2 .woocommerce-info,.k2 .woocommerce-error{list-style:none;margin:0 0 24px;padding:16px 22px;border-radius:14px;background:var(--carta2);border:1px solid var(--linea);color:var(--inchiostro);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.k2 .woocommerce-error{background:#fdecea;border-color:#f3c3be;color:var(--rosso);display:block}
.k2 .woocommerce-message .button{order:2}
.k2 ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:28px 24px}
.k2 ul.products li{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:14px 14px 20px;margin:0;width:auto;float:none;transition:.3s}
.k2 ul.products li:hover{transform:translateY(-8px);box-shadow:0 22px 34px -20px rgba(11,121,184,.55)}
.k2 ul.products li .item{border:0;height:auto;text-align:left;margin:0}
.k2 ul.products li .item .img{display:grid;place-items:center;aspect-ratio:3/4;background:linear-gradient(160deg,#e9f6fe,#d3ebfa);border-radius:14px;padding:18px}
.k2 ul.products li .item .img img{max-height:100%;width:auto;box-shadow:0 14px 22px -12px rgba(0,0,0,.5)}
.k2 ul.products li h6{height:auto;font:600 17px/1.3 var(--serif);text-transform:none;text-align:left;margin:14px 6px 6px}
.k2 ul.products li h6 a{color:var(--inchiostro)}
.k2 ul.products li .btn{display:block;background:none;border:0;padding:0 6px;color:var(--grigio)}
.k2 ul.products li .price{display:block;font-size:13px;color:var(--blu-s)!important;font-weight:600;text-align:left!important;padding:0!important;margin:0!important}
.k2 ul.products li hr{border:0;border-top:1px solid var(--linea);margin:12px 6px}
.k2 ul.products li i{display:block;font-style:normal;font-size:13px;margin:0 6px 4px}
.k2 .woocommerce-ordering,.k2 .woocommerce-result-count{margin:0 0 20px}
.k2 .onsale{background:var(--giallo);color:#4a3300;border-radius:99px;padding:3px 12px;font-weight:700;font-size:12px}
.k2 .onout{background:var(--inchiostro);color:#fff;border-radius:99px;padding:3px 12px;font-size:11px;font-weight:600}

/* ---- WooCommerce: scheda prodotto ---- */
.k2-scheda .woocommerce-notices-wrapper{max-width:var(--max);margin:0 auto;padding:0 24px}
.k2-p-hero{position:relative;overflow:hidden;padding:60px 0 70px;background:radial-gradient(800px 380px at 88% 0,rgba(31,177,238,.3),transparent 70%),linear-gradient(160deg,#e9f6fe,#c8e6f8);border-bottom:1px solid var(--linea)}
.k2-p-hero:before{content:"";position:absolute;left:-90px;bottom:-110px;width:320px;height:320px;border-radius:50%;background:rgba(255,205,96,.3)}
.k2-p-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:72px;align-items:center}
.k2-p-cover .images{float:none!important;width:100%!important;margin:0!important;padding:0;background:none;text-align:center}
.k2-p-cover .images a{display:block}
.k2-p-cover .images img{display:inline-block;width:auto!important;max-width:100%;max-height:600px;height:auto!important;border-radius:4px;box-shadow:0 44px 50px -26px rgba(11,42,66,.75);transform:rotate(-2deg);margin:0;border:0}
.k2-p-cover .anteprima{margin-top:22px}
.k2-p-cover .anteprima a{display:inline-block;background:#fff;color:var(--blu-s);border-radius:99px;padding:10px 20px;font-weight:600;font-size:13px;letter-spacing:.05em}
.k2-p-info{float:none!important;width:auto!important;margin:0!important;max-width:640px}
.k2 .k2-p-chip{display:inline-block;background:#fff;color:var(--blu-s);border:1px solid var(--linea);border-radius:99px;padding:5px 16px;font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.k2 .k2-p-chip:hover{background:var(--blu);color:#fff}
.k2 h1.titleproduct{font-size:clamp(34px,4.4vw,58px);line-height:1.04;margin:0 0 12px;font-family:var(--serif);text-transform:none;letter-spacing:-.01em}
.k2 h1.titleproduct small{display:block;font-size:.42em;line-height:1.3;color:var(--grigio);margin-top:10px;font-weight:400;font-family:var(--sans);letter-spacing:0}
.k2 .summary h6{font:400 19px/1.5 var(--sans);color:var(--grigio);margin:0 0 14px}
.k2 .summary h6 b{color:var(--inchiostro);font-weight:600}
.k2 .priceproduct{font:500 15px var(--sans);color:var(--grigio);margin:0 0 8px}
.k2 .summary .price{font:600 28px var(--serif);color:var(--blu-s);display:block;margin:14px 0 4px}
.k2 .stock{display:inline-block;border-radius:99px;padding:6px 16px;font-weight:600;font-size:14px;background:#fff;color:var(--verde);margin:6px 0}
.k2 .stock.out-of-stock{background:#fdecea;color:var(--rosso)}
.k2 .k2-p-finito{font-size:18px;color:var(--grigio);margin:14px 0 20px}
.k2 .summary form.cart,.k2 .summary .variations_form{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:24px;margin:22px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;box-shadow:0 24px 34px -26px rgba(11,121,184,.6)}
.k2 .summary form.cart .quantity{float:none;margin:0!important}
.k2 .summary form.cart .quantity label{padding:0 10px 0 0}
.k2 .summary form.cart input[type=number],.k2 .summary form.cart input[type=text]{width:120px}
.k2 .summary form.cart .single_add_to_cart_button{flex:1 1 220px;font-size:17px;padding:16px 28px}
.k2 .summary .star-rating{margin:0 8px 0 0}
.k2-p-fatti{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.k2-p-fatti li{background:rgba(255,255,255,.75);border:1px solid var(--linea);border-radius:14px;padding:8px 16px;display:flex;flex-direction:column;line-height:1.3}
.k2-p-fatti span{font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--grigio)}
.k2-p-fatti b{font-weight:600;font-size:16px}
/* come funziona */
.k2-p-come{background:#fff;border-bottom:1px solid var(--linea);padding:34px 0}
.k2-p-come .k2-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.k2-p-passo{display:flex;gap:16px;align-items:flex-start}
.k2-p-passo i{flex:none;width:44px;height:44px;border-radius:50%;background:var(--giallo);color:#4a3300;font:600 24px var(--mano);font-style:normal;display:grid;place-items:center}
.k2 .k2-p-passo h3{font:600 18px var(--serif);margin:0 0 4px}
.k2-p-passo p{margin:0;font-size:15px;color:var(--grigio);line-height:1.5}
.k2-p-sotto{padding-top:56px;padding-bottom:72px}

/* il plugin della donazione libera colora il pulsante e i testi: li riporto allo stile del sito */
.k2 .summary .single_add_to_cart_button,.k2 .summary button.button.alt{background:var(--blu)!important;color:#fff!important;text-transform:none!important;letter-spacing:0!important;font-family:var(--sans)!important;font-size:17px!important}
.k2 .summary .single_add_to_cart_button:hover{background:var(--blu-s)!important}
.k2 .summary p,.k2 .summary label,.k2 .summary .woocommerce-product-details__short-description{color:var(--grigio)!important;font-family:var(--sans)}
.k2 .summary .star-rating,.k2 .summary .woocommerce-review-link{font-size:14px}
/* sinossi e dati del libro, una sotto l'altra */
.k2-dettagli{width:100%;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px;margin-top:0;align-items:start}
.k2-dett{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:34px 38px}
.k2-dett-description{grid-column:1}
.k2 .k2-dett h2{font-size:26px;margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid var(--cielo)}
.k2-dett-description .entry-content{font-size:18px;line-height:1.8}
.k2-dett-description .entry-content p{max-width:68ch}
.k2 table.shop_attributes{width:100%;border-collapse:collapse}
.k2 table.shop_attributes th,.k2 table.shop_attributes td{padding:11px 0;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top;font-weight:400;display:block;width:auto}
.k2 table.shop_attributes tr{display:block;padding:6px 0;border-bottom:1px solid var(--linea)}
.k2 table.shop_attributes th,.k2 table.shop_attributes td{border:0;padding:0}
.k2 table.shop_attributes th{font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--grigio)}
.k2 table.shop_attributes th strong{font-weight:600}
.k2 table.shop_attributes th i{display:none}
.k2 table.shop_attributes td{font-size:16px}
.k2 table.shop_attributes p{margin:0}
.k2 .related,.k2 .upsells{margin-top:64px}
.k2 .related h2,.k2 .upsells h2{font-size:32px;margin:0 0 26px}

/* campi e pulsanti */
.k2 input[type=text],.k2 input[type=email],.k2 input[type=tel],.k2 input[type=password],.k2 input[type=number],.k2 input[type=search],.k2 input[type=url],.k2 select,.k2 textarea{font:inherit;font-size:16px;border:1px solid #b9d3e5;border-radius:12px;padding:12px 14px;background:#fff;color:var(--inchiostro);max-width:100%;height:auto;box-shadow:none}
.k2 textarea{width:100%}
.k2 input:focus,.k2 select:focus,.k2 textarea:focus{border-color:var(--blu);outline:3px solid rgba(31,177,238,.3)}
.k2 button.button,.k2 a.button,.k2 input.button,.k2 .single_add_to_cart_button,.k2 .wpcf7-submit,.k2 #place_order,.k2 .alm-btn-wrap .alm-load-more-btn,.k2 .wysija-submit{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:99px;background:var(--blu);color:#fff;font:600 15px var(--sans);padding:14px 28px;cursor:pointer;transition:.2s;line-height:1.2;box-shadow:0 6px 16px -8px rgba(11,121,184,.7);height:auto}
.k2 button.button:hover,.k2 a.button:hover,.k2 input.button:hover,.k2 .single_add_to_cart_button:hover,.k2 .wpcf7-submit:hover,.k2 #place_order:hover,.k2 .wysija-submit:hover{background:var(--blu-s);color:#fff;transform:translateY(-2px)}
.k2 .summary form.cart input[type=number],.k2 .summary form.cart input[type=text]{width:130px;font-weight:600;text-align:center}
.k2-p-cover .images img{min-width:min(100%,280px)}

/* ---- carrello, cassa, account ---- */
.woocommerce-cart .k2-testo,.woocommerce-checkout .k2-testo,.woocommerce-account .k2-testo{max-width:none}
.k2 table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--linea);border-radius:14px;overflow:hidden;background:#fff}
.k2 table.shop_table th,.k2 table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--linea);text-align:left}
.k2 table.shop_table th{background:var(--carta2);font-weight:600}
.k2 .cart_totals,.k2 #order_review,.k2 .woocommerce-checkout-review-order{background:var(--carta);border-radius:var(--r);padding:20px}
.k2 .woocommerce-checkout .form-row{margin:0 0 14px}
.k2 .woocommerce-checkout label,.k2 .woocommerce form .form-row label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.k2 .woocommerce form .form-row input.input-text{width:100%}
.k2 .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 24px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.k2 .woocommerce-MyAccount-navigation a{display:block;padding:9px 16px;border-radius:99px;background:var(--carta2);font-weight:500}
.k2 .woocommerce-MyAccount-navigation .is-active a{background:var(--blu);color:#fff}

/* ---- Contact Form 7 / newsletter ---- */
.k2 .wpcf7 p{margin-bottom:16px}
.k2 .wpcf7 input[type=text],.k2 .wpcf7 input[type=email],.k2 .wpcf7 input[type=tel],.k2 .wpcf7 textarea{width:100%;max-width:560px}
.k2 .wpcf7-response-output{border-radius:12px;padding:12px 16px!important}

/* ---- piè di pagina ---- */
.k2-footer{background:var(--notte);color:#9dbbd0;padding:60px 0 30px;font-size:15px;margin-top:0}
.k2-fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid #1d4562}
.k2-footer h5{color:#fff;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}
.k2-footer ul{list-style:none;margin:0;padding:0}
.k2-footer li{margin-bottom:8px}
.k2 .k2-footer a{color:#cfe6f5}
.k2 .k2-footer a:hover{color:#fff}
.k2-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:13px}
.k2-newsletter .widget-title{display:none}
.k2-newsletter .wysija-paragraph label{display:block;margin-bottom:6px;color:#cfe6f5}
.k2-newsletter input[type=text]{width:100%;margin-bottom:10px}
.k2-newsletter .abs-req{display:none}

/* ---- movimento ---- */
.k2-rev{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.k2-rev.k2-in{opacity:1;transform:none}

/* ---- telefono e tablet ---- */
@media(max-width:980px){
  .k2-hero-in,.k2-chi,.k2-cat,.k2-fg{grid-template-columns:minmax(0,1fr)}
  .k2-hero-in>*,.k2-chi>*,.k2-cat>*,.k2-fg>*{min-width:0}
  .k2-pila{height:340px}
  .k2-lato{position:static}
  .k2-notizie.k2-tre{grid-template-columns:1fr}
  .k2-p-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .k2-p-cover .images img{max-height:420px}
  .k2-p-hero{padding:40px 0 48px}
  .k2-p-come .k2-wrap{grid-template-columns:minmax(0,1fr);gap:20px}
  .k2-dettagli{grid-template-columns:minmax(0,1fr)}
  .k2-dett{padding:26px 22px}
  .k2-burger{display:block}
  .k2-bar-in{gap:10px}
  .k2-marchio{margin-right:auto}
  .k2-carrello{order:2;padding:8px 4px}
  .k2-burger{order:3}
  .k2-carrello-t{display:none}
  .k2-nav{position:absolute;left:0;right:0;top:100%;background:var(--carta);border-bottom:1px solid var(--linea);display:none;flex-direction:column;align-items:stretch;padding:12px 24px 22px;max-height:calc(100vh - 80px);overflow:auto}
  .k2-nav.k2-aperto{display:flex}
  .k2-menu{flex-direction:column;align-items:stretch}
  .k2-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 4px 14px;display:none;background:transparent}
  .k2-menu li.k2-sub-aperto>.sub-menu{display:block}
  .k2 .k2-dona{text-align:center;margin-top:8px}
  .k2 .k2-menu a{white-space:normal}
  .k2-sez,.k2-evid{padding:60px 0}
  .k2-testo{padding:28px 22px}
  .k2-notizia{flex-direction:column}
  .k2-notizia-img{width:100%}
  .k2-sticker{width:100px;height:100px;font-size:12px;bottom:-20px}
  .k2-sticker b{font-size:24px}
  .k2-evid .wp-block-columns{gap:28px}
  .alignleft,.alignright{float:none;margin:0 auto 16px}
}
@media(max-width:600px){
  body.k2{font-size:16px}
  .k2-wrap{padding:0 18px}
  .k2-prevnext{grid-template-columns:1fr;text-align:center}
  .k2-prevnext .k2-dx{text-align:center}
  .k2-util-testo{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
  .k2-rev{opacity:1;transform:none}
}
