
/* ── putas_cl_kit skin: bandera de Chile — azul #0039A6 y rojo #D52B1E
   sobre blanco; el rojo es el acento principal (botones, titulares de
   tabla), el azul lleva estructura (h2, CTA secundario). Fondo frío claro
   (no el papel cálido de la piel de España), serif en titulares, sin
   gradientes decorativos: la única franja plana es la cinta de la bandera
   (azul-blanco-rojo). Mobile-first, contenedor ~920px. ── */

/* safety-net del motor (obligatorio) */
.site-nav,.site-nav *{position:static!important}

:root {
    --azul: #0039A6;
    --azul-osc: #002B7A;
    --azul-suave: #E4ECF8;
    --rojo: #D52B1E;
    --rojo-osc: #A01F15;
    --bg: #F4F6F9;
    --papel: #FFFFFF;
    --linea: #DAE0E9;
    --linea-osc: #B9C2D0;
    --tinta: #10141B;
    --tinta-suave: #5A6473;
    --serif: Georgia, 'Times New Roman', serif;
    --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
    background: var(--bg);
    color: var(--tinta);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.55;
    overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--rojo); text-decoration: none; }
a:hover { color: var(--rojo-osc); text-decoration: underline; }
p { margin: 0 0 1em; }

/* ── Cabecera: papel + cinta de la bandera (azul-blanco-rojo) ──────── */
.cab {
    background: var(--papel);
    border-bottom: 1px solid var(--linea);
}
.cab__bandera {
    height: 12px;
    background: linear-gradient(180deg,
        var(--azul) 0, var(--azul) 25%,
        #fff 25%, #fff 75%,
        var(--rojo) 75%, var(--rojo) 100%);
}
.cab__inner {
    max-width: 920px;
    margin: 0 auto;
    padding: 14px 14px 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.logo {
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 700;
    letter-spacing: .3px;
    color: var(--tinta);
    white-space: nowrap;
}
.logo:hover { color: var(--tinta); text-decoration: none; }
.logo span { color: var(--rojo); }
.lemo { font-size: 12.5px; color: var(--tinta-suave); flex-basis: 100%; margin-top: -6px; }

.nav { margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: 2px; flex-wrap: wrap; }
.nav a {
    display: block;
    padding: 8px 10px;
    color: var(--tinta);
    font-size: 14.5px;
    font-weight: 600;
}
.nav a:hover { background: var(--azul-suave); color: var(--azul); text-decoration: none; }
.nav a--activo { border-bottom: 3px solid var(--rojo); }

.cab__cta {
    background: var(--rojo);
    color: #fff;
    padding: 9px 16px;
    font-weight: 700;
    font-size: 14px;
    border: 1px solid var(--rojo-osc);
    white-space: nowrap;
}
.cab__cta:hover { background: var(--rojo-osc); color: #fff; text-decoration: none; }

/* ── Contenido ─────────────────────────────────────────────────────── */
.wrap {
    max-width: 920px;
    margin: 0 auto;
    padding: 20px 14px 44px;
}
.content h1 {
    font-family: var(--serif);
    font-size: 27px;
    line-height: 1.25;
    color: var(--tinta);
    border-bottom: 3px solid var(--rojo);
    padding-bottom: 10px;
    margin: 12px 0 16px;
}
.content h2 {
    font-family: var(--serif);
    font-size: 21px;
    color: var(--azul-osc);
    margin: 28px 0 10px;
    border-left: 4px solid var(--rojo);
    padding-left: 10px;
}
.content h3 {
    font-family: var(--serif);
    font-size: 17px;
    color: var(--rojo-osc);
    margin: 20px 0 8px;
}
.content ul, .content ol { margin: 0 0 1em 22px; }
.content li { margin-bottom: 4px; }
.content strong { color: var(--tinta); }
.content blockquote {
    border-left: 3px solid var(--linea-osc);
    background: var(--papel);
    margin: 0 0 12px;
    padding: 10px 14px;
    color: var(--tinta-suave);
}
.content blockquote p:last-child { margin: 0; }
.content code { background: var(--azul-suave); padding: 1px 5px; }
.content hr { border: 0; border-top: 1px solid var(--linea); margin: 24px 0; }
em.breadcrumb, .content p > em:first-child {
    color: var(--tinta-suave);
    font-size: 13px;
    display: block;
    margin-bottom: 10px;
}

/* Tablas markdown (regiones y comunas del inicio, tarifas CLP) */
.content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.2em;
    background: var(--papel);
    font-size: 15px;
}
.content th, .content td {
    border: 1px solid var(--linea);
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}
.content th {
    background: var(--azul);
    color: #fff;
    font-weight: 700;
}
.content tr:nth-child(even) td { background: #F7F9FC; }

/* ── Tarjetas de ficha (raw-HTML del include: .pcl-cards) ─────────── */
.pcl-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    gap: 14px;
    margin: 6px 0 22px;
}
.pcl-card {
    background: var(--papel);
    border: 1px solid var(--linea);
    border-top: 3px solid var(--rojo);
    padding: 10px;
    display: flex;
    flex-direction: column;
}
.pcl-card:hover { border-color: var(--rojo); }
.pcl-card__img { margin: -10px -10px 8px; overflow: hidden; background: var(--azul-suave); }
.pcl-card__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pcl-card__name { font-family: var(--serif); font-weight: 700; font-size: 17px; color: var(--tinta); margin-bottom: 4px; }
.pcl-card__meta { font-size: 12.5px; color: var(--tinta-suave); margin: 0 0 6px; }
.pcl-card__svc { font-size: 13px; color: var(--tinta); margin: 0 0 6px; }
.pcl-card__price {
    font-size: 15px;
    font-weight: 700;
    color: var(--rojo);
    margin-bottom: 10px;
}
.pcl-card__btn {
    margin-top: auto;
    display: block;
    text-align: center;
    background: var(--azul);
    color: #fff;
    padding: 8px 6px;
    font-size: 13.5px;
    font-weight: 700;
    margin-bottom: 6px;
}
.pcl-card__btn:hover { background: var(--azul-osc); color: #fff; text-decoration: none; }
.pcl-card__cta {
    display: block;
    text-align: center;
    background: var(--rojo);
    color: #fff;
    padding: 8px 6px;
    font-size: 13.5px;
    font-weight: 700;
    border: 1px solid var(--rojo-osc);
}
.pcl-card__cta:hover { background: var(--rojo-osc); color: #fff; text-decoration: none; }

/* ── Galería de la ficha (.pcl-gallery) ───────────────────────────── */
.pcl-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 6px 0 18px;
}
.pcl-gallery__item {
    display: block;
    overflow: hidden;
    background: var(--azul-suave);
    border: 1px solid var(--linea);
}
.pcl-gallery__item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.pcl-gallery__item:hover { border-color: var(--rojo); }

/* ── Ficha técnica (.pcl-specs: grid de pares dt/dd) ──────────────── */
.pcl-specs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1px;
    background: var(--linea);
    border: 1px solid var(--linea);
    margin: 6px 0 18px;
}
.pcl-specs__row { background: var(--papel); padding: 8px 10px; }
.pcl-specs__row dt {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--tinta-suave);
    margin-bottom: 2px;
}
.pcl-specs__row dd { font-size: 14.5px; color: var(--tinta); }

/* ── CTA principal de la ficha (.pcl-cta → %go%) ──────────────────── */
.pcl-cta {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 10px 0 20px;
    text-align: center;
    background: var(--rojo);
    color: #fff;
    padding: 14px 20px;
    font-size: 16.5px;
    font-weight: 700;
    border: 1px solid var(--rojo-osc);
    box-shadow: inset 0 -4px 0 var(--rojo-osc);
}
.pcl-cta:hover { background: var(--rojo-osc); color: #fff; text-decoration: none; }

/* ── Reseñas / FAQ en markdown: «**Autor — 5/5 (fecha)**» ──────────── */
.content p > strong:first-child { color: var(--azul-osc); }

/* ── Pie: papel frío, franja de bandera arriba, trust <address> ────── */
.pie {
    background: var(--papel);
    border-top: 3px solid var(--azul);
    font-size: 14px;
    margin-top: 34px;
    color: var(--tinta);
}
.pie__bandera {
    height: 6px;
    background: linear-gradient(180deg,
        var(--azul) 0, var(--azul) 25%,
        #fff 25%, #fff 75%,
        var(--rojo) 75%, var(--rojo) 100%);
}
.pie__inner {
    max-width: 920px;
    margin: 0 auto;
    padding: 26px 14px 18px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}
.pie h4 {
    font-family: var(--serif);
    color: var(--tinta);
    font-size: 16px;
    margin-bottom: 8px;
    border-bottom: 2px solid var(--rojo);
    padding-bottom: 6px;
}
.pie ul { list-style: none; }
.pie li { margin-bottom: 6px; }
.pie address { font-style: normal; line-height: 1.7; margin-top: 8px; color: var(--tinta-suave); }
.pie address a { color: var(--azul); font-weight: 600; }
.pie__nota {
    font-size: 12.5px;
    color: var(--tinta-suave);
    border-left: 3px solid var(--azul);
    padding-left: 10px;
    margin: 10px 0 0;
}
.pie__legal {
    border-top: 1px solid var(--linea-osc);
    text-align: center;
    padding: 12px;
    font-size: 12px;
    color: var(--tinta-suave);
    background: #EDF1F6;
}
.pie__legal a { color: var(--tinta); }

/* ── Adaptativo (mobile-first; en el escritorio solo crece el tipo) ── */
@media (min-width: 600px) {
    .content h1 { font-size: 31px; }
    .pie__inner { grid-template-columns: 2fr 1fr 1fr; }
    .lemo { flex-basis: auto; margin-top: 0; }
    .pcl-cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
}


html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ overflow-x:hidden; }
img,video,iframe,svg{ max-width:100%; height:auto; }
main,article,section,aside,header,nav,footer{ min-width:0; }
@media (max-width:768px){
  [class*="layout"],[class*="container"],[class*="grid"],[class*="content"],[class*="wrapper"],[class*="main"],[class*="row"]{ min-width:0; }
  pre,table{ min-width:0; max-width:100%; }
  pre{ overflow-x:auto; }
  table{ display:block; overflow-x:auto; }
  code,kbd,samp{ word-break:break-word; }
  [class*="ticker"]{ overflow:hidden; }
  [class*="ticker"] *{ min-width:0; }
}
