/*=================================
        AVISO LEGAL
==================================*/
/* Contenedor y tipografía */
.legal-page {
  color: #05222a;
}
.legal-page .container {
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(16px, 2vw, 24px);
}

/* Títulos */
.legal-page .page-title {
  margin: 0 0 12px 0;
  line-height: 1.2;
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  text-align: left;
}
.legal-page h2 {
  margin: clamp(18px, 2vw, 30px) 0 0 0;
  line-height: 1.25;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  text-align: left;
}
.legal-page .h3 {
  /* subtítulo tipo h3 */
  margin-top: clamp(12px, 1.5vw, 15px);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
}

/* Texto */
.legal-page .rte p {
  margin: 0 0 0.8rem 0;
  text-align: left;
}
.legal-page .rte p:last-child {
  margin-bottom: 0;
}
.legal-page a {
  color: #05222a;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-page a:hover {
  text-decoration-thickness: 2px;
}

/* Aviso final */
.legal-page .notice {
  margin-top: clamp(24px, 3vw, 45px);
}

/* Responsividad extra (cuando el contenido es más ancho que el viewport) */
.legal-page .rte {
  overflow-wrap: anywhere; /* rompe URLs largas */
  word-break: break-word;
}

/* Si tu tema usa filas/columnas, evita desbordes residuales */
.legal-page img,
.legal-page iframe {
  max-width: 100%;
  height: auto;
  display: block;
}
/*=================================
    POLÍTICA DE PRIVACIDAD
==================================*/

/* ====== Base y contenedor ====== */
:root {
  --text: #05222a;
  --border: #ccc;
  --muted: #f8f9fa;
}

.privacy-page {
  color: var(--text);
  text-align: left;
}
.privacy-page .container {
  max-width: 1270px;
  margin: 0 auto;
  padding: clamp(16px, 2.5vw, 24px);
  overflow-wrap: anywhere;
}
/* ====== Títulos ====== */
.privacy-page .page-title {
  margin: 0 0 0.8em 0;
  line-height: 1.2;
  font-size: clamp(1.875rem, 3vw, 2.25rem); /* H1 responsive */
  color: var(--text);
  text-decoration: none; /* sin subrayado */
  font-weight: 700;
}
.privacy-page h2 {
  margin: clamp(20px, 3vw, 30px) 0 10px 0;
  line-height: 1.25;
  font-size: clamp(1.125rem, 2.2vw, 1.5rem); /* H2 responsive */
  font-weight: 700;
  color: var(--text);
}
/* ====== Texto ====== */
.privacy-page p {
  margin: 0 0 0.8rem 0;
  text-align: left;
}
.privacy-page ul {
  margin: 0 0 0.8rem 1.2rem;
  padding: 0;
}
.privacy-page li {
  margin: 0.25rem 0;
}
.privacy-page a {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.privacy-page a:hover {
  text-decoration-thickness: 2px;
}
/* ====== Tabla responsive (conservar <table>) ====== */
.table-wrap {
  margin: 16px 0 24px;
}
.info-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--border);
  background: #fff;
  table-layout: fixed; /* mejor corte de líneas */
}
.info-table td {
  border-top: 1px solid #e5e5e5;
  padding: 10px 12px;
  vertical-align: top;
  word-wrap: break-word;
}
.info-table tr:first-child td {
  border-top: 0;
}
.info-table .tbl-head td {
  text-align: left; /* alineado a la izquierda */
  background: var(--muted);
  font-weight: 700;
}
.info-table td.k {
  width: 260px; /* ~25% en desktop */
  font-weight: 700;
  background: var(--muted);
  border-right: 1px solid #e5e5e5;
}
.info-table td.v {
  width: auto;
}
/* ====== Responsive: apilar filas en móvil ====== */
@media (max-width: 720px) {
  .info-table,
  .info-table tbody,
  .info-table tr,
  .info-table td {
    display: block;
    width: 100%;
  }
  .info-table .tbl-head td {
    border-bottom: 1px solid #e5e5e5;
  }
  .info-table td.k {
    border-right: 0;
    border-top: 1px solid #e5e5e5;
    padding-bottom: 6px;
  }
  .info-table td.v {
    padding-top: 0;
  }
  .info-table tr {
    margin-bottom: 8px;
  }
}
/* Imágenes/iframes seguras */
.privacy-page img,
.privacy-page iframe {
  max-width: 100%;
  height: auto;
  display: block;
}
/*=================================
    POLÍTICA DE COOKIES
==================================*/
:root {
  --text: #05222a;
  --border: #ccc;
  --muted: #f8f9fa;
}

/* ====== Base ====== */

.cookies-page {
  text-align: left;
  color: var(--text);
}
.cookies-page .container {
  max-width: 1270px;
  margin: 0 auto;
  padding: clamp(16px, 2.5vw, 24px);
  overflow-wrap: anywhere;
}

/* ====== Títulos ====== */
.cookies-page .page-title {
  margin: 0 0 0.8em 0;
  line-height: 1.2;
  font-size: clamp(1.875rem, 3vw, 2.25rem); /* H1 responsive */
  color: var(--text); /* sin verde */
  text-decoration: none; /* sin subrayado */
  font-weight: 700;
  text-align: left; /* todo a la izquierda */
}
.cookies-page h2 {
  margin: clamp(20px, 3vw, 30px) 0 10px 0;
  line-height: 1.25;
  font-size: clamp(1.125rem, 2.2vw, 1.5rem); /* H2 responsive */
  font-weight: 700;
  color: var(--text);
}

/* ====== Texto / listas ====== */
.cookies-page p {
  margin: 0 0 0.8rem 0;
  text-align: left;
}
.cookies-page ul,
.cookies-page ol {
  margin: 0 0 1rem 1.2rem;
  padding: 0;
}
.cookies-page li {
  margin: 0.25rem 0;
}
.cookies-page a {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookies-page a:hover {
  text-decoration-thickness: 2px;
}

/* ====== Tablas ====== */
.table-wrap {
  margin: 20px 0 24px;
}
.cookies-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--border);
  background: #fff;
  table-layout: fixed; /* mejor corte de líneas largas */
}
.cookies-table th,
.cookies-table td {
  border-top: 1px solid #e5e5e5;
  padding: 10px 12px;
  vertical-align: top;
  word-wrap: break-word;
  text-align: left;
}
.cookies-table thead th {
  background: var(--muted);
  font-weight: 700;
  border-top: 0;
}

/* ====== Responsive table (stack) ====== */
@media (max-width: 860px) {
  .cookies-table thead {
    position: absolute;
    left: -9999px;
    top: -9999px; /* ocultar cabecera en móvil */
  }
  .cookies-table,
  .cookies-table tbody,
  .cookies-table tr,
  .cookies-table td {
    display: block;
    width: 100%;
  }
  .cookies-table tr {
    border-top: 1px solid #e5e5e5;
    padding: 10px 0;
  }
  .cookies-table tr:first-child {
    border-top: 0;
  }
  .cookies-table td {
    border: 0;
    padding: 6px 12px;
    position: relative;
  }
  .cookies-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin-bottom: 2px;
    color: #0b2f38;
  }
}

/* Imágenes / iframes seguras */
.cookies-page img,
.cookies-page iframe {
  max-width: 100%;
  height: auto;
  display: block;
}
/*=================================
    PROTECCIÓN DATOS PERSONALES
==================================*/
    :root { --text:#05222a; --muted:#f8f9fa; }

    /* ====== Base ====== */

    .pd-page{ text-align:left; color:var(--text); }
    .pd-page .container{
      max-width:1270px;
      margin:0 auto;
      padding: clamp(16px,2.5vw,24px);
      overflow-wrap:anywhere;
    }

    /* ====== Títulos ====== */
    /* H1: sin verde ni subrayado, alineado a la izquierda */
    .pd-page .page-title{
      margin:0 0 0.8em 0;
      line-height:1.2;
      font-size:clamp(1.875rem,3vw,2.25rem); /* Heading 1 responsive */
      color:var(--text);
      text-decoration:none;
      font-weight:700;
      text-align:left;
    }
    /* H2: apartados */
    .pd-page h2{
      margin: clamp(20px,3vw,30px) 0 10px 0;
      line-height:1.25;
      font-size:clamp(1.125rem,2.2vw,1.5rem); /* Heading 2 responsive */
      font-weight:700;
      color:var(--text);
    }

    /* ====== Texto / listas ====== */
    .pd-page p{ margin:0 0 0.8rem 0; text-align: left;}
    .pd-page ol{
      margin:0 0 1rem 1.2rem;
      padding:0;
    }
    .pd-page li{ margin:0.4rem 0; }
    .pd-page strong{ font-weight:700; }

    /* Resaltar subtítulos dentro de la lista (palabras iniciales) */
    .pd-page li > span:first-child{
      font-weight:700;
      text-transform:none; /* por si el origen venía en upper */
    }

    /* Bloques sutiles */
    .pd-page .note{
      background:var(--muted);
      padding:12px 14px;
      border-radius:8px;
    }

    /* Imágenes / iframes seguras */
    .pd-page img, .pd-page iframe{ max-width:100%; height:auto; display:block; }

/*=================================
  POLÍTICA DE ENVÍO Y DEVOLUCIONES
==================================*/
 :root { --text:#05222a; --muted:#f8f9fa; }

    /* ===== Base ===== */

    .shipret-page{ text-align:left; color:var(--text); }
    .shipret-page .container{
      max-width:1270px;
      margin:0 auto;
      padding: clamp(16px,2.5vw,24px);
      overflow-wrap:anywhere;   /* evita desbordes */
    }

    /* ===== Títulos ===== */
    .shipret-page .page-title{
      margin:0 0 0.8em 0;
      line-height:1.2;
      font-size: clamp(1.75rem, 3.2vw, 2.25rem); /* H1 responsive */
      color:var(--text);
      text-decoration:none;
      font-weight:700;
      text-align:left;
    }
    .shipret-page h2{
      margin: clamp(20px,3vw,30px) 0 10px 0;
      line-height:1.25;
      font-size: clamp(1.125rem,2.2vw,1.5rem); /* H2 responsive */
      font-weight:700;
      color:var(--text);
    }

    /* ===== Texto / listas ===== */
    .shipret-page p{ margin:0 0 0.8rem 0;text-align: left; }
    .shipret-page ul{
      margin:0 0 1rem 1.2rem;
      padding:0;
    }
    .shipret-page li{ margin:0.35rem 0; }
    .shipret-page a{
      color:var(--text);
      text-decoration:underline;
      text-underline-offset:2px;
    }
    .shipret-page a:hover{ text-decoration-thickness:2px; }

    /* ===== Imagen responsive ===== */
    figure{ margin:0; }
    .figure--fluid{
      /* Alineado a la izquierda y con tope de ancho agradable en desktop */
      margin: clamp(16px,2vw,24px) 0;
      max-width: 520px;
    }
    /* Hace que cualquier width/height inline NO rompa el responsive */
    .shipret-page img{
      max-width:100%;
      height:auto !important;
      display:block;
    }

    /* Nota sutil (opcional) */
    .shipret-page .note{
      background:var(--muted);
      padding:12px 14px;
      border-radius:8px;
    }

    /* En pantallas pequeñas, deja que la figura ocupe el 100% */
    @media (max-width: 640px){
      .figure--fluid{ max-width: 100%; }
    }