/* ===========================================================
   MENTAL TENNIS — Shop editoriale
   Layer dedicato a Books e Apparel.
   =========================================================== */

/* ---------- BOOKS ---------- */
.book-hero{min-height:min(860px,100vh);display:flex;align-items:center}
.book-hero .hero-split{grid-template-columns:1fr .72fr}
.book-stage{position:relative;display:grid;place-items:center;min-height:520px;perspective:1500px}
.book-stage::before{content:"";position:absolute;width:min(430px,86%);aspect-ratio:1;border:1px solid var(--line-d);border-radius:50%}
.book-stage::after{content:"";position:absolute;width:min(330px,66%);aspect-ratio:1;border:1px solid rgba(63,199,194,.34);border-radius:50%;animation:bookOrbit 16s linear infinite}
.book-object{position:relative;width:min(300px,62vw);transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(4deg);z-index:2;transition:transform .7s var(--ease)}
.book-object:hover{transform:rotateY(-10deg) rotateX(2deg) translateY(-6px)}
.book-object img{width:100%;height:auto;box-shadow:0 42px 78px -24px rgba(0,0,0,.9);position:relative;z-index:2}
.book-object::before{content:"";position:absolute;top:1%;right:-16px;width:18px;height:98%;background:linear-gradient(90deg,#bfc4c3,#fff 36%,#d5d9d8 70%,#9da3a2);transform:rotateY(90deg);transform-origin:left;z-index:1}
.book-object::after{content:"";position:absolute;left:7%;right:-10%;bottom:-28px;height:24px;background:radial-gradient(ellipse,rgba(0,0,0,.7),transparent 68%);filter:blur(7px)}
.book-signal{position:absolute;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--emerald-lift);z-index:3}
.book-signal--a{left:4%;top:24%}.book-signal--b{right:1%;bottom:20%}
.book-signal::before{content:"";display:block;width:58px;height:1px;background:var(--emerald);margin-bottom:9px}
@keyframes bookOrbit{to{transform:rotate(360deg)}}

.book-editorial{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(34px,6vw,90px);align-items:start}
.book-cover-column{position:sticky;top:112px}
.book-cover-large{margin:0 auto;width:min(330px,78vw);perspective:1500px}
.book-cover-large .book-object{width:100%}
.book-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin-top:36px}
.book-fact{background:var(--court);padding:19px 16px}
.book-fact b{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--emerald-lift);margin-bottom:8px}
.book-fact span{font-size:14px;line-height:1.45;color:#D7DEDD}
.book-copy .body+.body{margin-top:16px}
.book-copy .btn-row{margin-top:30px}

.mind-map{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);margin-top:38px}
.mind-node{position:relative;background:var(--court);padding:28px 18px 30px;min-height:190px;transition:background .35s var(--ease),transform .35s var(--ease)}
.mind-node::before{content:"";display:block;width:10px;height:10px;border:1px solid var(--emerald);border-radius:50%;margin-bottom:28px;transition:background .3s,box-shadow .3s}
.mind-node:hover{background:#101B1A;transform:translateY(-4px)}
.mind-node:hover::before{background:var(--emerald-lift);box-shadow:0 0 0 7px rgba(37,144,142,.16)}
.mind-node b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--emerald-lift);margin-bottom:12px}
.mind-node h3{font-family:var(--display);font-size:14px;line-height:1.15;text-transform:uppercase;margin:0;color:var(--chalk)}

.author-story{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(32px,6vw,92px);align-items:center}
.author-portrait{position:relative;margin:0;overflow:hidden;aspect-ratio:4/5;background:var(--court)}
.author-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06)}
.author-portrait::after{content:"";position:absolute;inset:0;border:1px solid var(--line-l);box-shadow:inset 0 -110px 90px -80px rgba(0,0,0,.55)}
.author-mark{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--emerald);margin-top:14px}
.book-quote-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.book-rating-stack{display:grid;justify-items:start;gap:14px}.amazon-badge{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 15px;min-width:290px;padding:17px 20px;background:#fff;border:1px solid #d7d7d7;color:#151515;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.08);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.amazon-badge:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.14)}.amazon-word{grid-row:1/3;font-family:Arial,sans-serif;font-size:21px;font-weight:700;border-bottom:3px solid #ff9900;padding-bottom:2px}.amazon-score{font-family:var(--display);font-weight:800;font-size:22px}.amazon-stars{color:#ff9900;letter-spacing:1px}.amazon-stars i{font-style:normal;display:inline-block;background:linear-gradient(90deg,#ff9900 50%,#ddd 50%);background-clip:text;-webkit-background-clip:text;color:transparent}.amazon-badge small{grid-column:2;font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:#4c5553}.amazon-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:34px;background:var(--line-l);border:1px solid var(--line-l)}.amazon-review-grid article{background:#fff;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;min-height:250px}.amazon-review-top{display:grid;gap:11px}.amazon-review-top span{color:#ff9900;letter-spacing:2px}.amazon-review-top b{font-family:var(--display);font-size:20px;text-transform:uppercase}.amazon-review-grid p{color:var(--ash-dark);line-height:1.62}.amazon-review-grid cite{margin-top:auto;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--emerald-ink);font-style:normal}

/* ---------- APPAREL ---------- */
.apparel-hero{min-height:min(820px,100vh);display:flex;align-items:center}
.apparel-stage{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.apparel-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.8) 42%,rgba(0,0,0,.18) 76%,#000 100%)}
.apparel-stage .apparel-piece{position:absolute;width:min(330px,27vw);height:auto;filter:drop-shadow(0 28px 34px rgba(0,0,0,.7));object-fit:contain}.apparel-piece--tee{right:18%;top:6%;z-index:3;transform:rotate(-4deg)}.apparel-piece--polo{right:0;top:9%;z-index:2;transform:rotate(6deg)}.apparel-piece--hoodie{right:18%;bottom:0;z-index:1;transform:rotate(3deg)}.apparel-piece--cap{right:0;bottom:5%;z-index:4;width:min(250px,20vw)!important;transform:rotate(-8deg)}
.apparel-hero .wrap{width:100%;z-index:2}
.apparel-hero .d1{max-width:11ch}
.apparel-hero .lede{margin-left:0;text-align:left}
.apparel-hero .btn-row{justify-content:flex-start}

.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d)}
.concept-card{background:var(--court);min-width:0;position:relative;overflow:hidden}
.concept-media{aspect-ratio:1;overflow:hidden;background:#060909}
.concept-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s var(--ease)}
.concept-card:hover .concept-media img{transform:scale(1.035);filter:contrast(1.06)}
.concept-copy{padding:25px 24px 29px;min-height:230px;display:flex;flex-direction:column}
.concept-copy .kind{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--emerald-lift)}
.concept-copy h3{font-family:var(--display);font-size:clamp(23px,2vw,30px);text-transform:uppercase;margin:13px 0 12px;line-height:1}
.concept-copy p{font-size:14.5px;color:var(--ash);line-height:1.6;margin:0}
.concept-state{margin-top:auto;padding-top:20px;font-family:var(--mono);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--emerald-lift);display:flex;align-items:center;gap:10px}
.concept-state::before{content:"";width:7px;height:7px;border:1px solid var(--emerald);border-radius:50%}
.concept-card--wide{grid-column:span 2;display:grid;grid-template-columns:1.15fr .85fr}
.concept-card--wide .concept-media{aspect-ratio:auto;min-height:100%}
.concept-card--wide .concept-copy{min-height:100%;padding:clamp(28px,4vw,50px)}

.material-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l);margin-top:36px}
.material-line div{padding:22px;border-right:1px solid var(--line-l)}
.material-line div:last-child{border-right:0}
.material-line b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--emerald);margin-bottom:9px}
.material-line span{font-size:14px;line-height:1.5;color:var(--ash-dark)}
.apparel-note{border-left:2px solid var(--emerald);padding-left:clamp(20px,3vw,38px);max-width:65ch;margin-top:32px}
.apparel-note p{font-family:var(--serif);font-size:clamp(19px,2vw,27px);line-height:1.4;margin:0}

@media(max-width:1080px){
  .book-hero .hero-split,.book-editorial,.author-story,.book-quote-grid{grid-template-columns:1fr}
  .book-stage{order:-1;min-height:410px}.book-stage .book-object{width:220px}
  .book-cover-column{position:static}.book-cover-large{width:230px}
  .mind-map{grid-template-columns:repeat(4,1fr)}
  .concept-grid{grid-template-columns:repeat(2,1fr)}
  .concept-card--wide{grid-column:span 2}
  .apparel-stage .apparel-piece{width:34vw;opacity:.88}.apparel-piece--cap{width:26vw!important}
}
@media(max-width:720px){
  .book-hero,.apparel-hero{min-height:auto}
  .book-stage{min-height:350px}.book-stage .book-object{width:180px}
  .book-signal{font-size:8px}.book-signal--a{left:0}.book-signal--b{right:0}
  .book-facts{grid-template-columns:1fr}
  .mind-map{grid-template-columns:1fr 1fr}.mind-node{min-height:150px;padding:22px 17px}
  .author-portrait{aspect-ratio:4/4.6}
  .apparel-hero{display:flex;flex-direction:column}
  .apparel-stage{position:relative;inset:auto;order:-1;width:100%;height:370px;margin-top:0;flex:none;overflow:visible}
  .apparel-stage .apparel-piece{width:52vw;opacity:.98}.apparel-piece--tee{right:44%;top:6%}.apparel-piece--polo{right:-2%;top:9%}.apparel-piece--hoodie{right:40%;bottom:0}.apparel-piece--cap{right:2%;bottom:6%;width:38vw!important}
  .apparel-stage::after{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,.06) 60%,rgba(0,0,0,.92) 100%)}
  .apparel-hero .wrap{width:100%;margin-top:-36px;padding-top:66px;padding-bottom:72px;position:relative;z-index:2;background:linear-gradient(180deg,transparent 0%,#000 16%)}.apparel-hero .d1{max-width:none}
  .concept-grid{grid-template-columns:minmax(0,1fr)}.concept-card--wide{grid-column:auto;display:flex;flex-direction:column;min-width:0}.concept-card--wide .concept-media{aspect-ratio:1;width:100%;min-height:0}.concept-media img{max-width:100%}.amazon-review-grid{grid-template-columns:1fr}.amazon-badge{min-width:0;width:100%}
  .material-line{grid-template-columns:1fr 1fr}.material-line div:nth-child(2){border-right:0}.material-line div:nth-child(n+3){border-top:1px solid var(--line-l)}
}
@media(max-width:900px) and (min-width:721px){.mind-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(hover:none){.mind-node::before{background:var(--emerald-lift)}.concept-card:hover .concept-media img,.mind-node:hover{transform:none}}
@media(max-width:430px){
  .mind-map{grid-template-columns:1fr}.mind-node{min-height:0}
  .apparel-stage{height:370px}.apparel-stage .apparel-piece{width:54vw}.apparel-piece--tee{right:42%;top:5%}.apparel-piece--polo{right:-2%;top:8%}.apparel-piece--hoodie{right:38%;bottom:0}.apparel-piece--cap{right:2%;bottom:5%;width:40vw!important}.material-line{grid-template-columns:1fr}.material-line div{border-right:0}.material-line div+div{border-top:1px solid var(--line-l)}
}
@media(prefers-reduced-motion:reduce){
  .book-stage::after{animation:none}.book-object,.concept-media img,.mind-node{transition:none}
}