﻿/* -------- CARD & GRID -------- */
.cr-section.card{
  background:#fff; border:1px solid #e8e6e4; border-radius:16px;
  padding:24px 16px; box-shadow:0 6px 24px rgba(0,0,0,.06);
  margin:28px auto; max-width:1100px;
}
.cr-gallery-grid{ display:grid; gap:20px; align-items:center; grid-template-columns:1fr; }
@media (min-width: 992px){ .cr-gallery-grid{ grid-template-columns:1.2fr .8fr } }
.container{ max-width:1100px; margin:0 auto }

/* -------- TYPOGRAPHY (ribilanciata) -------- */
.cr-gallery-label{
  font-size:14px; letter-spacing:1px; text-transform:uppercase;
  color:#556B2F; font-weight:600; display:block; margin-bottom:.4rem;
}
.cr-gallery-title{
  font-size:22px;
  line-height:1.3;
  font-weight:700;
  color:#556B2F;   /* verde coerente col sito */
  margin:0 0 .6rem;
}
.cr-gallery-more{
  font-size:16px; font-weight:500; margin:0 0 1rem; color:#4A5E34;
  display:inline-flex; align-items:center; gap:.35rem;
}
.cr-gallery-author{
  font-size:13.5px; font-style:italic; color:#4A5E34; margin:0 0 1.5rem;
}
.cr-badge{
  display:inline-block; padding:.12rem .45rem; border-radius:6px;
  background:#faf6f5; border:1px solid #E2B3A5; color:#C65D3B; font-weight:700;
}

/* -------- CTA neutra (larga ma elegante) -------- */
/* --- CTA: rossa di base, verde in hover --- */
.cr-cta-btn,
.cr-cta-btn:link,
.cr-cta-btn:visited{
  all:unset;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;

  background:#C65D3B;      /* rosso base */
  color:#fff !important;
  font-weight:800;
  font-size:20px;
  border-radius:12px;
  padding:1rem 2rem;
  width:100%;
  max-width:420px;
  margin:0 auto;
  text-align:center;
  cursor:pointer;
  text-decoration:none !important;

  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.cr-cta-btn:hover,
.cr-cta-btn:active{
  background:#4A5E34;      /* verde sito in hover */
  color:#fff !important;
  text-decoration:none !important;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(74,94,52,.25);
}

/* icone dentro CTA seguono colore del testo */
.cr-cta-btn i{ font-size:1.25em; line-height:1; }
.cr-cta-btn i:first-child{ margin-right:.5rem; }
.cr-cta-btn i:last-child{ margin-left:.5rem; }

/* --- Variante responsive per mobile --- */
@media (max-width: 500px){
  .cr-cta-btn{
    max-width:100%;     /* riempie tutta la colonna */
    font-size:18px;     /* un filo più compatta */
    padding:.9rem 1.2rem;
  }
}
/* -------- THUMB & BADGE -------- */
.cr-figure{ margin:0; position:relative }
.cr-thumb-link{ position:relative; display:block; border-radius:14px; overflow:hidden; border:1px solid #C65D3B; cursor: zoom-in; }
.cr-thumb{ display:block; width:100%; height:auto; object-fit:cover; transform:scale(1.001); transition:transform .4s ease; }
.cr-thumb-link:hover .cr-thumb{ transform:scale(1.03) }
.cr-pill{
  position:absolute; top:12px; left:12px; background:linear-gradient(135deg,#C65D3B,#e07a59);
  color:#fff; font-weight:700; font-size:.85rem; padding:.35rem .6rem; border-radius:999px;
  box-shadow:0 6px 18px rgba(198,93,59,.25);
}
.cr-sheen{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.28) 50%, rgba(255,255,255,0) 70%);
  transform:translateX(-120%); transition:transform .8s ease;
}
.cr-thumb-link:hover .cr-sheen{ transform:translateX(120%) }
.cr-caption{ text-align:center; padding-top:10px; font-size:.9rem; line-height:1.2; color:#4A5E34; }

.cr-extra-photos.card{
  background:#fff; border:1px solid #e8e6e4; border-radius:16px;
  padding:24px 16px; box-shadow:0 6px 24px rgba(0,0,0,.06);
  margin:40px auto; max-width:900px; text-align:center;
}

.cr-extra-header h3{
  color:#4A5E34; font-size:22px; font-weight:700;
  margin:0 0 .4rem;
}
.cr-subtitle{
  font-size:15px; color:#555; margin:0 0 1.5rem;
}

.cr-extra-grid{ display:flex; flex-direction:column; gap:1.5rem; align-items:center; }
@media (min-width: 768px){
  .cr-extra-grid{ flex-direction:row; justify-content:center; gap:2rem; }
}

.cr-extra-figure{ position:relative; margin:0; }
.cr-extra-link{ display:block; border-radius:12px; overflow:hidden; position:relative; }
.cr-extra-img{ display:block; max-width:300px; border:1px solid #C65D3B; border-radius:12px; }

.cr-overlay{
  position:absolute; inset:0; background:rgba(198,93,59,.65);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:18px;
  opacity:0; transition:opacity .3s ease;
}
.cr-extra-link:hover .cr-overlay{ opacity:1; }

/* CTA riuso da sezione galleria */
.cr-extra-cta{ margin-top:1rem; }

/* BOX SLIDER */
    .cr-swiper.card{
      background:#fff; border:1px solid #e8e6e4; border-radius:16px;
      padding:24px 16px; box-shadow:0 6px 24px rgba(0,0,0,.06);
      margin:28px auto; max-width:1100px;
    }
    .container{ max-width:1100px; margin:0 auto }
    .cr-swiper-head{ text-align:center; margin-bottom:12px }
    .cr-swiper-title{ color:#4A5E34; font-size:22px; font-weight:800; margin:0 0 .25rem }
    .cr-swiper-sub{ color:#555; font-size:14px; margin:0 }

    /* SLIDER PRINCIPALE */
    #gallery-swiper-main{ width:100%; aspect-ratio:16/9; margin-bottom:12px; }
    @media (max-width:680px){ #gallery-swiper-main{ aspect-ratio:4/3; } }

    .cr-swiper-main .swiper-slide{
      display:flex; align-items:center; justify-content:center;
      overflow:hidden; border-radius:14px; border:1px solid #C65D3B;
      background:#f7f7f7;
    }
    .cr-swiper-main .swiper-slide img{
      width:100%; height:100%; object-fit:cover;
      transition: transform .45s ease;
    }
    .cr-slide-link{ display:block; width:100%; height:100%; cursor:zoom-in; }
    .cr-slide-link:hover img{ transform: scale(1.03); }

    /* MINIATURE */
    #gallery-swiper-thumbs{ height:100px; box-sizing:border-box; padding:8px 0; }
    .cr-swiper-thumbs .swiper-slide{
      width:120px; height:100%;
      opacity:0.5; cursor:pointer;
    }
    .cr-swiper-thumbs .swiper-slide-thumb-active{
      opacity:1; border:2px solid #C65D3B; border-radius:8px;
    }
    .cr-swiper-thumbs img{
      width:100%; height:100%; object-fit:cover; border-radius:8px;
    }

    /* Navigazione e paginazione */
    .swiper-pagination-bullet{ background:#cfcfcf; opacity:1; }
    .swiper-pagination-bullet-active{ background:#C65D3B; }
    .swiper-button-next,.swiper-button-prev{
      color:#C65D3B; width:42px; height:42px; border-radius:50%;
      background:rgba(255,255,255,.9);
      box-shadow:0 4px 12px rgba(0,0,0,.12);
    }
    .swiper-button-next:hover,.swiper-button-prev:hover{
      color:#fff; background:#4A5E34;
    }
    
    
/* Stelline 0..3 con riempimento parziale */
.cr-stars3 {
  --p: 0%;                  /* percentuale di riempimento, settata via JS */
  position: relative;
  display: inline-block;
  font-size: 22px;          /* regola a piacere */
  line-height: 1;
  letter-spacing: 2px;      /* spazio tra stelle */
  vertical-align: middle;
}
.cr-stars3::before {
  content: "★★★";           /* 3 stelle “vuote” */
  color: #d6d6d6;
}
.cr-stars3::after {
  content: "★★★";           /* livello “pieno” ritagliato in larghezza */
  position: absolute;
  left: 0; top: 0;
  width: var(--p);
  overflow: hidden;
  color: #4A5E34;           /* verde sito */
}

.riepilogo {
  margin-top: 2rem;
  padding: 1rem;
  background: #f9f9f9;
  border-left: 3px solid #ccc;
}
.riepilogo h3 {
  font-size: 1.2rem;
  margin-bottom: .5rem;
}
