/* termini_e_servizi.css */

/* Container principale */
.temini-e-servizi-container{
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 2rem 5rem;
    color: #121212;
    height: fit-content;
    line-height: 1.6;
  }
  
  /* Titolo principale */
  .temini-e-servizi-container h1{
    margin-bottom: 2rem;
    font-size: clamp(40px, 5.5vw, 60px);
    line-height: 1.05;
    color: #121212;
  }
  
  /* Lista */
  .temini-e-servizi-container ol{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
  
  .temini-e-servizi-container ol li{
    display: block;
    width: 100%;
  }
  
  /* Titoli sezioni */
  .temini-e-servizi-container ol li h3{
    font-size: clamp(22px, 2.5vw, 28px);
    margin-bottom: 0.8rem;
    color: #121212;
  }
  
  /* Paragrafi */
  .temini-e-servizi-container ol li p{
    font-size: clamp(16px, 1.5vw, 18px);
    color: #333;
    margin: 0.3rem 0;
  }
  
  /* Link */
  .temini-e-servizi-container a{
    color: #121212;
    text-decoration: none;
    position: relative;
    padding-bottom: 2px;
    transition: color 0.2s ease;
  }
  
  .temini-e-servizi-container a::before{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #bdbdbd;
    transform-origin: right;
    transition: transform 0.28s ease, background-color 0.18s ease, height 0.18s ease;
  }
  
  .temini-e-servizi-container a:hover,
  .temini-e-servizi-container a:focus{
    color: #000;
  }
  
  .temini-e-servizi-container a:hover::before,
  .temini-e-servizi-container a:focus::before{
    transform: scaleX(1);
    transform-origin: left;
    background: #000;
    height: 2px;
  }
  
  .temini-e-servizi-container a:focus-visible{
    outline: 3px solid rgba(0,0,0,0.08);
    outline-offset: 4px;
  }
  
  /* Responsive */
  @media screen and (max-width: 1200px){
    .temini-e-servizi-container{ padding: 2rem 3rem; }
    .temini-e-servizi-container h1{ font-size: clamp(38px, 4.5vw, 55px); }
  }
  
  @media screen and (max-width: 750px){
    .temini-e-servizi-container{ padding: 1.5rem 1rem; }
    .temini-e-servizi-container h1{ font-size: 36px; }
    .temini-e-servizi-container ol li h3{ font-size: 20px; }
    .temini-e-servizi-container ol li p{ font-size: 16px; }
  }
  
  /* =========================================================
     Cookie preferences panel (pagina) — LBCP
     ========================================================= */
  .lbcp{
    margin-top: 1.2rem;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 18px;
    background: rgba(250,250,250,.9);
    padding: 16px;
  }
  
  .lbcp__title{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
  }
  
  .lbcp__title h4{
    margin: 0;
    font-size: 18px;
    color: #121212;
  }
  
  .lbcp__subtitle{
    margin: 0 0 14px;
    color: #333;
    font-size: 15px;
  }
  
  .lbcp__rows{
    display: grid;
    gap: 10px;
  }
  
  .lbcp__row{
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 12px;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,.10);
    background: #fff;
  }
  
  .lbcp__rowtext strong{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #121212;
  }
  
  .lbcp__rowtext .small{
    margin: 4px 0 0;
    font-size: 14px;
    color: #333;
  }
  
  /* Bottoni */
  .lbcp__actions{
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  
  .lbcp__btn{
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid transparent;
    background: #111827;
    color: #fff;
  }
  
  .lbcp__btn-outline{
    background: transparent;
    color: #121212;
    border-color: rgba(0,0,0,.20);
  }
  .lbcp__btn-outline:hover{ background: rgba(0,0,0,.03); }
  
  .lbcp__btn-accent{
    background: rgba(139,94,60,.12);
    border-color: rgba(139,94,60,.20);
    color: #121212;
  }
  .lbcp__btn-accent:hover{ background: rgba(139,94,60,.18); }
  
  .lbcp__btn-primary:hover{ background: #0b1220; }
  
  .lbcp__foot{
    margin-top: 12px;
    display: grid;
    gap: 6px;
  }
  
  .lbcp__stamp{
    margin: 0;
    font-size: 13px;
    color: rgba(0,0,0,.65);
  }
  
  .lbcp__msg{
    margin: 0;
    font-size: 13px;
    color: rgba(0,0,0,.75);
  }
  
  /* Switch (se non è già nel CSS globale, qui lo includo) */
  .switch{
    position: relative;
    display: inline-block;
    width: 50px;
    height: 30px;
  }
  .switch input{ display: none; }
  .switch span{
    position: absolute;
    inset: 0;
    cursor: pointer;
    border-radius: 999px;
    background: rgba(0,0,0,.14);
    border: 1px solid rgba(0,0,0,.14);
    transition: .15s;
  }
  .switch span:before{
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0,0,0,.14);
    transition: .15s;
  }
  .switch input:checked + span{
    background: rgba(16,185,129,.55);
    border-color: rgba(16,185,129,.55);
  }
  .switch input:checked + span:before{ transform: translateX(20px); }
  .switch input:disabled + span{ opacity: .55; cursor: not-allowed; }
  
  /* Mobile */
  @media screen and (max-width: 750px){
    .lbcp{ padding: 14px; }
    .lbcp__row{ grid-template-columns: 1fr; }
    .lbcp__actions{ gap: 8px; }
    .lbcp__btn{ width: 100%; justify-content: center; }
  }
  
  /* =========================================================
     LB inline icons (SVG use) — NON ingrandire mai
     Nota: la dimensione la forziamo soprattutto via width/height
     nel tag <svg>. Qui teniamo solo lo “stile” (stroke ecc).
     ========================================================= */
  .lb-ic{
    display: inline-block;
    vertical-align: -0.18em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  