/* =========================================================
   EXUVIA — Legal styles
   Styles for policy pages and 404.
   ========================================================= */


:root{
  --exuvia-bg:#F6F2E8;
  --exuvia-ink:#201F1F;
  --exuvia-gold:#E3B23C;
  --exuvia-card:#FCF9F1;
  --exuvia-muted:rgba(32,31,31,0.68);
  --exuvia-soft:rgba(32,31,31,0.10);
  --exuvia-dark:#201F1F;
  --exuvia-cream:#F6F2E8;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--exuvia-bg);color:var(--exuvia-ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:var(--exuvia-gold);color:var(--exuvia-ink);}
@keyframes exuviaRevealUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.exuvia-page{min-height:100vh;overflow-x:hidden;background:var(--exuvia-bg);color:var(--exuvia-ink);}
.exuvia-container{max-width:1180px;margin:0 auto;padding-left:32px;padding-right:32px;}
.exuvia-nav{position:sticky;top:0;z-index:50;background:rgba(246,242,232,0.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--exuvia-soft);}
.exuvia-nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.exuvia-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--exuvia-ink);}
.exuvia-dot{width:9px;height:9px;border-radius:50%;background:var(--exuvia-gold);display:inline-block;}
.exuvia-brand{font-family:'Fraunces',serif;font-weight:600;letter-spacing:.32em;font-size:16px;}
.exuvia-menu{display:flex;align-items:center;gap:34px;}
.exuvia-menu a{color:rgba(32,31,31,.72);text-decoration:none;font-size:15px;font-weight:500;}
.exuvia-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--exuvia-gold);color:var(--exuvia-ink);font-weight:600;font-size:16px;padding:15px 26px;border-radius:8px;text-decoration:none;border:1px solid var(--exuvia-ink);cursor:pointer;font-family:'DM Sans',sans-serif;line-height:1;}
.exuvia-button.small{font-size:15px;padding:10px 18px;}
.exuvia-button.ghost{background:transparent;color:var(--exuvia-ink);border-color:rgba(32,31,31,.35);}
.exuvia-hero{padding-top:96px;padding-bottom:70px;}
.exuvia-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:56px;align-items:start;}
.exuvia-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(32,31,31,.55);margin-bottom:30px;}
.exuvia-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--exuvia-gold);display:inline-block;}
h1{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(44px,5.4vw,72px);line-height:1.02;letter-spacing:-.02em;margin:0 0 28px;}
h1 em{font-style:italic;border-bottom:3px solid var(--exuvia-gold);padding-bottom:2px;}
.exuvia-lead{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:clamp(19px,2vw,23px);line-height:1.45;color:rgba(32,31,31,.78);max-width:760px;margin:0 0 34px;text-wrap:balance;}
.exuvia-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.exuvia-card{background:var(--exuvia-card);border:1px solid var(--exuvia-soft);border-radius:14px;padding:28px;box-shadow:0 18px 50px rgba(32,31,31,.04);}
.exuvia-summary-card{position:sticky;top:104px;}
.exuvia-summary-card h2{font-family:'Fraunces',serif;font-weight:400;font-size:30px;line-height:1.1;margin:0 0 18px;}
.exuvia-summary-list{display:grid;gap:16px;margin:0;padding:0;list-style:none;}
.exuvia-summary-list li{display:flex;gap:12px;line-height:1.5;color:var(--exuvia-muted);font-size:15px;}
.exuvia-check{width:22px;height:22px;border-radius:50%;background:rgba(227,178,60,.16);border:1px solid rgba(227,178,60,.55);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#9a7415;font-size:13px;font-weight:700;margin-top:1px;}
.exuvia-main{padding-bottom:96px;}
.exuvia-policy-grid{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.7fr);gap:42px;align-items:start;}
.exuvia-toc{position:sticky;top:104px;}
.exuvia-toc h2{font-family:'Fraunces',serif;font-weight:400;font-size:28px;margin:0 0 18px;}
.exuvia-toc a{display:block;color:rgba(32,31,31,.72);text-decoration:none;font-size:15px;line-height:1.45;padding:10px 0;border-bottom:1px solid rgba(32,31,31,.08);}
.exuvia-content{display:grid;gap:22px;}
.exuvia-section{background:var(--exuvia-card);border:1px solid var(--exuvia-soft);border-radius:14px;padding:38px;}
.exuvia-section h2{font-family:'Fraunces',serif;font-weight:400;font-size:34px;line-height:1.16;margin:0 0 18px;}
.exuvia-section h3{font-size:18px;line-height:1.35;margin:24px 0 10px;color:var(--exuvia-ink);}
.exuvia-section p{font-size:16px;line-height:1.7;color:var(--exuvia-muted);margin:0 0 15px;}
.exuvia-section ul{margin:0 0 15px 0;padding-left:20px;color:var(--exuvia-muted);line-height:1.7;}
.exuvia-section li{margin:0 0 8px;}
.exuvia-note{background:rgba(227,178,60,.12);border:1px solid rgba(227,178,60,.35);border-radius:12px;padding:18px 20px;color:rgba(32,31,31,.78);font-size:15px;line-height:1.65;margin-top:18px;}
.exuvia-table-wrap{width:100%;overflow-x:auto;border:1px solid rgba(32,31,31,.1);border-radius:12px;background:#fffaf0;}
.exuvia-cookie-table{width:100%;min-width:820px;border-collapse:collapse;font-size:14px;color:rgba(32,31,31,.76);}
.exuvia-cookie-table th{background:rgba(227,178,60,.16);color:var(--exuvia-ink);font-weight:600;text-align:left;padding:14px 16px;border-bottom:1px solid rgba(32,31,31,.12);}
.exuvia-cookie-table td{vertical-align:top;padding:15px 16px;border-bottom:1px solid rgba(32,31,31,.08);line-height:1.55;}
.exuvia-cookie-table tr:last-child td{border-bottom:0;}
.exuvia-tag{display:inline-flex;align-items:center;border:1px solid rgba(32,31,31,.18);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;color:rgba(32,31,31,.65);background:rgba(246,242,232,.7);}
.exuvia-inline-link{color:var(--exuvia-ink);text-decoration:none;border-bottom:1.5px solid rgba(32,31,31,.35);font-weight:500;}
.exuvia-footer{background:var(--exuvia-dark);border-top:1px solid rgba(246,242,232,.12);color:rgba(246,242,232,.6);}
.exuvia-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding-top:34px;padding-bottom:34px;}
.exuvia-footer-brand{display:flex;align-items:center;gap:10px;}
.exuvia-footer-brand .exuvia-brand{font-size:14px;color:var(--exuvia-cream);letter-spacing:.3em;}
.exuvia-footer-domain{font-size:14px;color:rgba(246,242,232,.45);margin-left:6px;}
.exuvia-footer-copy{font-size:13px;color:rgba(246,242,232,.45);}
@media(max-width:960px){
  .exuvia-hero-grid,.exuvia-policy-grid{grid-template-columns:1fr;}
  .exuvia-summary-card,.exuvia-toc{position:static;}
}
@media(max-width:900px){
  .exuvia-menu a:not(.exuvia-button){display:none;}
  .exuvia-menu{gap:0;}
}
@media(max-width:680px){
  .exuvia-container{padding-left:20px;padding-right:20px;}
  .exuvia-nav-inner{height:68px;}
  .exuvia-hero{padding-top:56px;padding-bottom:44px;}
  .exuvia-section{padding:28px 22px;}
  .exuvia-card{padding:24px 20px;}
  .exuvia-button{width:100%;padding-left:18px;padding-right:18px;}
  h1{font-size:clamp(40px,13vw,58px);}
  .exuvia-footer-inner{align-items:flex-start;}
}


/* Extracted inline styles. Do not edit class names manually unless updating the HTML. */
.exu-legal-style-001{width:8px;height:8px;}


/* 404 / legal utility blocks */
.exuvia-error-wrap{padding:96px 0 112px;}
.exuvia-error-card{background:var(--exuvia-card);border:1px solid var(--exuvia-soft);border-radius:28px;padding:44px 42px;box-shadow:0 24px 60px rgba(32,31,31,.08);max-width:820px;}
.exuvia-error-code{font-family:'Fraunces',serif;font-size:clamp(74px,12vw,142px);line-height:.86;letter-spacing:-.06em;color:var(--exuvia-ink);margin:0 0 22px;}
.exuvia-error-title{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,56px);line-height:1.02;letter-spacing:-.03em;margin:0 0 20px;}
.exuvia-error-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
@media(max-width:680px){
  .exuvia-error-wrap{padding:56px 0 76px;}
  .exuvia-error-card{padding:30px 22px;}
  .exuvia-error-actions .exuvia-button{width:100%;}
}

/* =========================================================
   MOBILE OVERFLOW FIX — Política de cookies
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.exuvia-page,
.exuvia-main,
.exuvia-container,
.exuvia-content,
.exuvia-section,
.exuvia-card,
.exuvia-note,
.exuvia-policy-grid,
.exuvia-hero-grid {
  max-width: 100%;
  min-width: 0;
}

.exuvia-section,
.exuvia-card,
.exuvia-note {
  overflow-wrap: anywhere;
  word-break: normal;
}

.exuvia-section p,
.exuvia-section li,
.exuvia-note,
.exuvia-lead {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 960px) {
  .exuvia-hero-grid,
  .exuvia-policy-grid {
    grid-template-columns: 1fr !important;
  }

  .exuvia-summary-card,
  .exuvia-toc {
    position: static !important;
  }
}

@media (max-width: 680px) {
  .exuvia-container {
    width: 100%;
    padding-left: 18px;
    padding-right: 18px;
  }

  .exuvia-hero {
    padding-top: 42px;
    padding-bottom: 32px;
  }

  .exuvia-section {
    padding: 24px 18px;
    border-radius: 12px;
  }

  .exuvia-section h2 {
    font-size: clamp(26px, 8vw, 34px);
    line-height: 1.12;
  }

  .exuvia-section p,
  .exuvia-section li {
    font-size: 15.5px;
    line-height: 1.65;
  }

  .exuvia-note {
    padding: 16px;
  }
}

@media (max-width: 560px) {
  .exuvia-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .exuvia-cookie-table {
    display: block;
    width: 100%;
    min-width: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
  }

  .exuvia-cookie-table thead {
    display: none;
  }

  .exuvia-cookie-table tbody {
    display: grid;
    gap: 14px;
  }

  .exuvia-cookie-table tr {
    display: block;
    width: 100%;
    background: #fffaf0;
    border: 1px solid rgba(32,31,31,.1);
    border-radius: 12px;
    overflow: hidden;
  }

  .exuvia-cookie-table td {
    display: grid;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(32,31,31,.08);
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .exuvia-cookie-table td::before {
    font-weight: 700;
    color: var(--exuvia-ink);
    font-size: 12px;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .exuvia-cookie-table td:nth-child(1)::before { content: "Cookie"; }
  .exuvia-cookie-table td:nth-child(2)::before { content: "Proveedor"; }
  .exuvia-cookie-table td:nth-child(3)::before { content: "Tipo"; }
  .exuvia-cookie-table td:nth-child(4)::before { content: "Finalidad"; }
  .exuvia-cookie-table td:nth-child(5)::before { content: "Duración"; }

  .exuvia-cookie-table tr td:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 430px) {
  .exuvia-container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .exuvia-section {
    padding: 22px 16px;
  }

  .exuvia-cookie-table td {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .exuvia-button {
    width: 100%;
  }
}
/* =========================================================
   FIX — Evitar corte en el tipo de cookie
========================================================= */

.exuvia-cookie-table th:nth-child(3),
.exuvia-cookie-table td:nth-child(3) {
  min-width: 120px;
  width: 120px;
  white-space: nowrap;
}

.exuvia-cookie-table td:nth-child(3) {
  overflow-wrap: normal;
  word-break: normal;
}

.exuvia-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  line-height: 1.2;
}