/* ========================= THEME ========================= */


html, body{
  font-family: "widescreen", serif;
}

:root{
  --pl-maxw: 1240px;
  --pl-nav-h: 74px;

  /* LIGHT */
  --pl-bg: #f7f6f4;
  --pl-border: rgba(0,0,0,.08);
  --pl-text: rgba(15,15,15,.92);
  --pl-muted: rgba(15,15,15,.62);
  --pl-link: rgba(15,15,15,.84);
  --pl-link-hover: rgba(15,15,15,1);

  --pl-pill: rgba(0,0,0,.06);
  --pl-pill-hover: rgba(0,0,0,.10);

  --pl-shadow: 0 18px 55px rgba(0,0,0,.12);
  --pl-backdrop: blur(14px);
  --pl-line: rgba(0,0,0,.10);
}

[data-bs-theme="dark"]{
  --pl-bg: #020202;
  --pl-border: rgba(255,255,255,.10);
  --pl-text: rgba(255,255,255,.94);
  --pl-muted: rgba(255,255,255,.62);
  --pl-link: rgba(255,255,255,.86);
  --pl-link-hover: rgba(255,255,255,1);
  --pl-pill: rgba(255,255,255,.10);
  --pl-pill-hover: rgba(255,255,255,.18);
  --pl-shadow: 0 22px 70px rgba(0,0,0,.55);
  --pl-backdrop: blur(14px);
  --pl-line: rgba(255,255,255,.12);
}

/* Actions */
.pl-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ========================= SWITCH ========================= */

.pl-toggle {
  position: fixed;
  z-index: 1900;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.92);
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pl-toggle:hover {
  background: rgba(71,40,0,.93);
  box-shadow: 0 8px 30px rgba(0,0,0,.25);
}

.pl-toggle:active {
  transform: translateY(-50%) scale(.96);
}

.pl-toggle svg{
  width: 16px;
  height: 16px;
  opacity: .95;
}

@media (max-width: 768px){
  .pl-toggle{
    left: 50%;
    top: auto;
    bottom: 18px;
    transform: translateX(-50%);
  }

  .pl-toggle:active{
    transform: translateX(-50%) scale(.96);
  }
}

/* ========================= SLIDER ========================= */

:root{
  --hero-bg: #fbf2e6;              /* beige editorial */
  --hero-text: #2b2620;
  --hero-muted: rgba(43,38,32,.72);
  --hero-line: rgba(43,38,32,.10);

  --hero-cta-bg: #3a2a14;
  --hero-cta-text: #fff;

  --hero-arrow-bg: rgba(255,255,255,.55);
  --hero-arrow-border: rgba(43,38,32,.18);
  --hero-arrow-text: rgba(43,38,32,.85);

  --hero-dot: rgba(43,38,32,.22);
  --hero-dot-active: rgba(43,38,32,.92);

  --hero-shadow-top: inset 0 25px 35px rgba(0,0,0,.06);
  --hero-img-shadow: 0 40px 70px rgba(0,0,0,.28);
}

/* Dark mode elegante */
[data-bs-theme="dark"]{
  --hero-bg: #1f1f1e;
  --hero-text: rgba(255,255,255,.92);
  --hero-muted: rgba(255,255,255,.68);
  --hero-line: rgba(255,255,255,.10);

  --hero-cta-bg: rgba(255,255,255,.10);
  --hero-cta-text: rgba(255,255,255,.94);

  --hero-arrow-bg: rgba(255,255,255,.08);
  --hero-arrow-border: rgba(255,255,255,.14);
  --hero-arrow-text: rgba(255,255,255,.92);

  --hero-dot: rgba(255,255,255,.22);
  --hero-dot-active: rgba(255,255,255,.92);

  --hero-shadow-top: inset 0 25px 35px rgba(0,0,0,.28);
  --hero-img-shadow: 0 55px 95px rgba(0,0,0,.55);
}

.pl-hero{
  position: relative;
  background: var(--hero-bg);
  box-shadow: var(--hero-shadow-top);
  overflow: hidden;
}

.pl-hero__track{
  position: relative;
  min-height: 70vh;
}

.pl-hero__slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .65s ease, transform .65s ease;
}

.pl-hero__slide.is-active{
  position: relative;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.pl-hero__inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 110px 70px 90px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 40px;
  align-items: center;
}

.pl-hero__title{
  margin: 0 0 18px;
  font-size: clamp(34px, 2vw, 52px);
  line-height: 1.08;
  font-weight: 300;
  color: var(--hero-text);
}

.pl-hero__title strong{
  font-weight: 600; /* la línea bold como el ejemplo */
}

.pl-hero__text{
  margin: 0 0 18px;
  max-width: 520px;
  color: var(--hero-muted);
  font-size: 15px;
  line-height: 1.6;
}

.pl-hero__tagline{
  margin: 0 0 28px;
  color: var(--hero-muted);
  font-size: 14px;
}

.pl-hero__cta{
  display: inline-block;
  background: var(--hero-cta-bg);
  color: var(--hero-cta-text);
  text-decoration: none;
  padding: 14px 60px;
  letter-spacing: .28em;
  font-size: 12px;
  border-radius: 0;
  border: 1px solid transparent;
  transition: transform .15s ease, opacity .2s ease, border-color .2s ease;
}

[data-bs-theme="dark"] .pl-hero__cta{
  border-color: rgba(255,255,255,.18);
}

.pl-hero__cta:hover{
  opacity: .92;
  transform: translateY(-1px);
}

.pl-hero__media{
  display: grid;
  place-items: center;
}

.pl-hero__media img{
  width: min(560px, 100%);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(var(--hero-img-shadow));
  transform: translateY(6px);
}

/* Flechas en círculo */
.pl-hero__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: var(--hero-arrow-bg);
  border: 1px solid var(--hero-arrow-border);
  color: var(--hero-arrow-text);
  display: grid;
  place-items: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, opacity .2s ease, background .2s ease;
  opacity: .9;
}

.pl-hero__arrow:hover{
  transform: translateY(-50%) scale(1.06);
  opacity: 1;
}

.pl-hero__arrow--prev{ left: 30px; }
.pl-hero__arrow--next{ right: 30px; }

/* Dots */
.pl-hero__dots{
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.pl-hero__dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid var(--hero-line);
  background: transparent;
  cursor: pointer;
  opacity: .9;
}

.pl-hero__dot.is-active{
  background: var(--hero-dot-active);
  border-color: transparent;
}

/* Responsive */
@media (max-width: 991px){
  .pl-hero__inner{
    grid-template-columns: 1fr;
    text-align: center;
    padding: 110px 22px 90px;
  }
  .pl-hero__text{ margin-left: auto; margin-right: auto; }
  .pl-hero__tagline{ margin-left: auto; margin-right: auto; }
  .pl-hero__arrow--prev{ left: 18px; }
  .pl-hero__arrow--next{ right: 18px; }
  .pl-hero__media img{ width: min(520px, 92%); }
}

/* ========================= FOOTER ========================= */

.pl-footer{
  background: #141414;
  color: rgba(255,255,255,.78);
  border-top: 1px solid rgba(255,255,255,.10);
}

.pl-footer-top{
  padding: 70px 0 55px;
}

.pl-footer-title{
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,.9);
  margin: 0 0 18px;
}

.pl-footer-meta{
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: .06em;
}

.pl-footer-link{
  color: rgba(255,255,255,.82);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.pl-footer-link:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.35);
}

.pl-footer-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.pl-footer-list a{
  color: rgba(255,255,255,.72);
  text-decoration: none;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
  border-bottom: 1px solid transparent;
}
.pl-footer-list a:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.35);
}

/* Social */
.pl-social{
  display: flex;
  gap: 12px;
  align-items: center;
}
.pl-social a{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.pl-social a:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.22);
}

/* Newsletter */
.pl-newsletter-copy{
  font-size: 13px;
  letter-spacing: .04em;
  color: rgba(255,255,255,.75);
}
.pl-newsletter-form{
  display: flex;
  gap: 10px;
}
.pl-newsletter-input{
  flex: 1;
  min-width: 180px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  padding: 0 16px;
  outline: none;
}
.pl-newsletter-input::placeholder{ color: rgba(255,255,255,.55); }
.pl-newsletter-btn{
  height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.12);
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}
.pl-newsletter-btn:hover{
  background: rgba(255,255,255,.16);
}

.pl-newsletter-legal{
  font-size: 12px;
  color: rgba(255,255,255,.60);
}
.pl-newsletter-legal a{
  color: rgba(255,255,255,.78);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.25);
}
.pl-newsletter-legal a:hover{ color: #fff; border-bottom-color: rgba(255,255,255,.4); }

/* CTAs */
.pl-footer-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.pl-footer-btn:hover{ background: rgba(255,255,255,.16); }
.pl-footer-btn-outline{
  background: transparent;
}

/* Badges */
.pl-footer-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pl-badge{
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.78);
}

/* Bottom bar */
.pl-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.10);
  padding: 16px 0;
  background: #101010;
}
.pl-footer-mini{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
}
.pl-to-top{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.pl-to-top:hover{
  background: rgba(255,255,255,.12);
}

/* Mobile */
@media (max-width: 991px){
  .pl-footer-top{ padding: 50px 0 35px; }
  .pl-newsletter-form{ flex-direction: column; }
  .pl-newsletter-btn{ width: 100%; }
}

/* ========================= COLECCIÓN ========================= */

.pl-collection{
  padding: 70px 0;
  background: var(--pl-bg);
  transition: background-color .3s ease;
}

.pl-collection__head{
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 34px;
}

.pl-collection__title{
  margin: 0;
  font-size: 13px;
  letter-spacing: .28em;
  text-transform: uppercase;
  opacity: .9;
}

.pl-collection__line{
 height: 1px;
  flex: 1;
  background: var(--pl-line);
  opacity: 1;
}

[data-bs-theme="dark"]{
  --pl-line: rgba(255,255,255,.14);
}

/* Grid */
.pl-collection__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

/* Card */
.pl-collection__card{
  position: relative;
  text-decoration: none;
  color: inherit;
  display: grid;
  gap: 16px;
  transition: transform .28s ease;
  outline: none;
}

/* Marco sutil al hover */
.pl-collection__card::after{
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid var(--pl-border);
  opacity: 0;
  transition: opacity .28s ease;
  pointer-events: none;
}

/* Contenedor imagen */
.pl-collection__img{
  background: rgba(255,255,255,.02); /* sutil para que no se pierda en dark */
  border: 1px solid var(--pl-border);
  border-radius: 0;                 /* limpio como catálogo */
  overflow: hidden;
  aspect-ratio: 10 / 9;
  display: grid;
  place-items: center;
  transition: box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}

.pl-collection__img img{
  width: 88%;
  height: 88%;
  object-fit: contain;
  transform: translateZ(0);
  transition: transform .28s ease, filter .28s ease;
}

/* Label */
.pl-collection__label{
  margin: 0;
  text-align: center;
  font-size: 11px;
  letter-spacing: .32em;
  text-transform: uppercase;
  transition: color .22s ease, letter-spacing .22s ease;
}

/* Hover / Focus (premium) */
.pl-collection__card:hover,
.pl-collection__card:focus-visible{
  transform: translateY(-6px);
}

.pl-collection__card:hover::after,
.pl-collection__card:focus-visible::after{
  opacity: 1;
}

.pl-collection__card:hover .pl-collection__img,
.pl-collection__card:focus-visible .pl-collection__img{
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

[data-bs-theme="dark"] .pl-collection__card:hover .pl-collection__img,
[data-bs-theme="dark"] .pl-collection__card:focus-visible .pl-collection__img{
  box-shadow: 0 22px 55px rgba(0,0,0,.55);
}

.pl-collection__card:hover .pl-collection__img img,
.pl-collection__card:focus-visible .pl-collection__img img{
  transform: scale(1.06);
  filter: contrast(1.05) saturate(1.05);
}

.pl-collection__card:hover .pl-collection__label,
.pl-collection__card:focus-visible .pl-collection__label{
  letter-spacing: .36em;
}

/* Responsive */
@media (max-width: 992px){
  .pl-collection{
    padding: 52px 0;
  }
  .pl-collection__grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
  }
}

@media (max-width: 576px){
  .pl-collection__grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* =========================
   MARQUEE · MUESTRARIO MADERAS
   Light/Dark OK con tus tokens
   ========================= */

.pl-woodmarquee{
  padding: 46px 0 26px;
  background: var(--pl-bg);
  transition: background-color .3s ease;
}

.pl-woodmarquee__head{
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
}

.pl-woodmarquee__title{
  margin: 0;
  font-size: 12px;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--pl-text);
  opacity: .9;
}

.pl-woodmarquee__line{
  flex: 1;
  height: 1px;
  background: var(--pl-line);
}

/* Marquee container */
.pl-marquee{
  position: relative;
  overflow: hidden;
  padding: 12px 0;
}

/* Fade laterales: se adapta al tema por var(--pl-bg) */
.pl-marquee::before,
.pl-marquee::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 110px;
  pointer-events: none;
  z-index: 2;
}

.pl-marquee::before{
  left: 0;
  background: linear-gradient(to right, var(--pl-bg), transparent);
}

.pl-marquee::after{
  right: 0;
  background: linear-gradient(to left, var(--pl-bg), transparent);
}

/* Track infinito */
.pl-marquee__track{
  display: flex;
  width: max-content;
  gap: 20px;
  animation: pl-marquee-scroll 26s linear infinite;
  will-change: transform;
}

.pl-marquee:hover .pl-marquee__track{
  animation-play-state: paused;
}

@keyframes pl-marquee-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.pl-marquee__group{
  display: flex;
  gap: 20px;
}

/* Swatches (button) */
.pl-wood-swatch{
  width: 220px;
  height: 120px;
  border-radius: 14px;
  border: 1px solid var(--pl-border);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  display: flex;
  align-items: flex-end;
  padding: 12px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

[data-bs-theme="dark"] .pl-wood-swatch{
  box-shadow: 0 10px 22px rgba(0,0,0,.55);
}

.pl-wood-swatch:focus-visible{
  outline: none;
  border-color: rgba(255,255,255,.28);
}

.pl-wood-swatch span{
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--pl-text);
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.18);
  padding: 6px 10px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
}

[data-bs-theme="dark"] .pl-wood-swatch span{
  background: rgba(0,0,0,.35);
  border-color: rgba(255,255,255,.14);
}

.pl-wood-swatch:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(0,0,0,.22);
}
[data-bs-theme="dark"] .pl-wood-swatch:hover{
  box-shadow: 0 22px 55px rgba(0,0,0,.60);
}

/* Texturas TEST (temporal) */
.wood-1{ background: repeating-linear-gradient(90deg, #6b3f2a 0 6px, #5a3422 6px 12px); }
.wood-2{ background: repeating-linear-gradient(90deg, #9a7a4f 0 7px, #8a6c45 7px 14px); }
.wood-3{ background: repeating-linear-gradient(90deg, #7c5a3e 0 8px, #6e5037 8px 16px); }
.wood-4{ background: repeating-linear-gradient(90deg, #a06a3a 0 8px, #8f5f35 8px 16px); }
.wood-5{ background: repeating-linear-gradient(90deg, #caa57b 0 7px, #b9956f 7px 14px); }
.wood-6{ background: repeating-linear-gradient(90deg, #5a3a2a 0 7px, #4a2e22 7px 14px); }
.wood-7{ background: repeating-linear-gradient(90deg, #b58f62 0 7px, #a9825a 7px 14px); }
.wood-8{ background: repeating-linear-gradient(90deg, #3b2a22 0 7px, #2d211b 7px 14px); }

/* Dark: baja brillo de texturas */
[data-bs-theme="dark"] .wood-1,
[data-bs-theme="dark"] .wood-2,
[data-bs-theme="dark"] .wood-3,
[data-bs-theme="dark"] .wood-4,
[data-bs-theme="dark"] .wood-5,
[data-bs-theme="dark"] .wood-6,
[data-bs-theme="dark"] .wood-7,
[data-bs-theme="dark"] .wood-8{
  filter: brightness(.85) contrast(1.05);
}

/* Responsive */
@media (max-width: 576px){
  .pl-wood-swatch{
    width: 200px;
    height: 110px;
  }
  .pl-marquee::before,
  .pl-marquee::after{
    width: 70px;
  }
}

@media (prefers-reduced-motion: reduce){
  .pl-marquee__track{ animation: none; }
}

/* ========================= WOOD MODAL ========================= */

.pl-woodmodal{
  --wm-bg: #ffffff;
  --wm-text: rgba(0,0,0,.88);
  --wm-muted: rgba(0,0,0,.62);
  --wm-border: rgba(0,0,0,.12);
  --wm-btn-bg: rgba(0,0,0,.04);
  --wm-btn-bg-hover: rgba(0,0,0,.07);
  --wm-shadow: rgba(0,0,0,.18);

  background: var(--wm-bg) !important;
  color: var(--wm-text) !important;
  border: 1px solid var(--wm-border) !important;
  border-radius: 16px;
}

/* Dark theme overrides para el modal */
[data-bs-theme="dark"] .pl-woodmodal{
  --wm-bg: #0f0f10;
  --wm-text: rgba(255,255,255,.92);
  --wm-muted: rgba(255,255,255,.68);
  --wm-border: rgba(255,255,255,.14);
  --wm-btn-bg: rgba(255,255,255,.06);
  --wm-btn-bg-hover: rgba(255,255,255,.10);
  --wm-shadow: rgba(0,0,0,.55);
}

/* 2) Header */
.pl-woodmodal__title{
  letter-spacing: .22em;
  text-transform: uppercase;
  font-size: 13px;
  color: var(--wm-text) !important;
}

/* 3) Preview */
.pl-woodmodal__preview{
  height: 260px;
  border-radius: 14px;
  border: 1px solid var(--wm-border);
  overflow: hidden;
  box-shadow: 0 16px 40px var(--wm-shadow);
}

/* 4) Texto */
.pl-woodmodal__desc{
  margin: 0 0 12px;
  color: var(--wm-muted) !important;
  letter-spacing: .08em;
  line-height: 1.9;
  font-size: 12px;
}

/* 5) Lista */
.pl-woodmodal__meta{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.pl-woodmodal__meta li{
  border: 1px solid var(--wm-border);
  border-radius: 999px;
  padding: 10px 12px;
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--wm-text);
  background: var(--wm-btn-bg);
}

/* 6) Botones */
.pl-woodmodal__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--wm-text) !important;
  border: 1px solid var(--wm-border);
  background: var(--wm-btn-bg);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pl-woodmodal__btn:hover{
  background: var(--wm-btn-bg-hover);
}

.pl-woodmodal__btn-outline{
  background: transparent;
}

/* 7) Nota */
.pl-woodmodal__note{
  color: var(--wm-muted);
  font-size: 11px;
  letter-spacing: .08em;
}

/* 8) Botón X (close) con contraste */
.pl-woodmodal .btn-close{
  filter: none;
  opacity: .85;
}

[data-bs-theme="dark"] .pl-woodmodal .btn-close{
  filter: invert(1);
  opacity: .75;
}

/* =========================
   FLOATING CTA · COTIZAR
   ========================= */

.pl-fab-quote{
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1200;

  height: 52px;
  padding: 0 22px;
  border-radius: 999px;

  /* Light mode (default) */
  background: #ffffff;
  color: rgba(0,0,0,.85);
  border: 1px solid rgba(0,0,0,.18);

  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;

  box-shadow: 0 14px 36px rgba(0,0,0,.18);

  transition:
    transform .25s ease,
    background .25s ease,
    box-shadow .25s ease,
    opacity .25s ease;
}

/* Hover light */
.pl-fab-quote:hover{
  transform: translateY(-2px);
  background: #f6f6f6;
  box-shadow: 0 20px 48px rgba(0,0,0,.22);
}

/* Dark mode */
[data-bs-theme="dark"] .pl-fab-quote{
  background: rgba(0,0,0,.65);
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 20px 48px rgba(0,0,0,.55);
}

[data-bs-theme="dark"] .pl-fab-quote:hover{
  background: rgba(0,0,0,.85);
}

/* Mobile */
@media (max-width: 576px){
  .pl-fab-quote{
    right: 16px;
    bottom: 16px;
    height: 48px;
    padding: 0 18px;
    font-size: 11px;
  }
}

/* Desktop: centrado abajo */
@media (min-width: 992px){
  .pl-fab-quote{
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    bottom: 28px;
  }

  .pl-fab-quote:hover{
    transform: translateX(-50%) translateY(-2px);
  }
}


/* =========================
   MODAL · COTIZAR (GLOBAL)
   ========================= */

/* Variables locales del modal */
.pl-quotemodal{
  --q-bg: #ffffff;
  --q-text: rgba(0,0,0,.88);
  --q-muted: rgba(0,0,0,.6);
  --q-border: rgba(0,0,0,.14);
  --q-input-bg: #ffffff;
  --q-input-border: rgba(0,0,0,.18);
  --q-btn-bg: rgba(0,0,0,.06);
  --q-btn-bg-hover: rgba(0,0,0,.1);
  --q-shadow: rgba(0,0,0,.18);

  background: var(--q-bg);
  color: var(--q-text);
  border: 1px solid var(--q-border);
  border-radius: 18px;
}

/* Dark override */
[data-bs-theme="dark"] .pl-quotemodal{
  --q-bg: #0f0f10;
  --q-text: rgba(255,255,255,.92);
  --q-muted: rgba(255,255,255,.62);
  --q-border: rgba(255,255,255,.14);
  --q-input-bg: #141416;
  --q-input-border: rgba(255,255,255,.18);
  --q-btn-bg: rgba(255,255,255,.08);
  --q-btn-bg-hover: rgba(255,255,255,.14);
  --q-shadow: rgba(0,0,0,.55);
}

/* Header */
.pl-quotemodal__title{
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--q-text);
}

/* Labels */
.pl-quotemodal__label{
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--q-muted);
}

/* Inputs / selects / textarea */
.pl-quotemodal__input{
  width: 100%;
  height: 46px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--q-input-border);
  background: var(--q-input-bg);
  color: var(--q-text);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.pl-quotemodal__input::placeholder{
  color: var(--q-muted);
}

.pl-quotemodal__input:focus{
  border-color: rgba(71,40,0,.55);
  box-shadow: 0 0 0 2px rgba(71,40,0,.15);
}

/* Textarea */
.pl-quotemodal__textarea{
  height: auto;
  min-height: 120px;
  padding: 12px;
  resize: vertical;
}

/* Secciones dinámicas */
.pl-quote-section{
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--q-border);
}

.pl-quote-section__head{
  margin-bottom: 12px;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--q-muted);
}

/* Botones */
.pl-quotemodal__btn{
  height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid var(--q-input-border);
  background: var(--q-btn-bg);
  color: var(--q-text);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.pl-quotemodal__btn:hover{
  background: var(--q-btn-bg-hover);
  transform: translateY(-1px);
}

.pl-quotemodal__btn-outline{
  background: transparent;
}

/* Nota */
.pl-quotemodal__note{
  margin-top: 12px;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--q-muted);
}

/* Botón cerrar */
.pl-quotemodal .btn-close{
  opacity: .8;
}

[data-bs-theme="dark"] .pl-quotemodal .btn-close{
  filter: invert(1);
  opacity: .75;
}

/* Modal size refinement */
@media (max-width: 576px){
  .pl-quotemodal{
    border-radius: 16px;
  }
}

.pl-philosophy{
  padding: 140px 0;
  /* Colores locales para que se vea bien aunque tu --pl-text sea blanco */
  --ph-text: rgba(0,0,0,.78);
  --ph-muted: rgba(0,0,0,.62);
  --ph-line: rgba(0,0,0,.18);
}

[data-bs-theme="dark"] .pl-philosophy{
  --ph-text: rgba(255,255,255,.90);
  --ph-muted: rgba(255,255,255,.68);
  --ph-line: rgba(255,255,255,.14);
}

.pl-philosophy .pl-section-head{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 22px;
  margin: 0 auto 26px;
  max-width: 980px; /* editorial amplio */
  padding: 0 18px;  /* respiración en móvil */
}

.pl-philosophy .pl-section-line{
  height: 1px;
  background: var(--ph-line);
  opacity: 1;
}

.pl-philosophy .pl-section-kicker{
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ph-text);
  opacity: .95;
}

.pl-philosophy .pl-philosophy-text{
  font-family: "Widescreen";
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: .015em;   /* casi neutro */
  font-weight: 400;
  max-width: 880px;
  margin: 1.5rem auto 0;
  text-align: center;
}

/* Responsive */
@media (max-width: 640px){
  .pl-philosophy .pl-section-head{ gap: 14px; }
  .pl-philosophy .pl-philosophy-text{
    letter-spacing: .16em;
    line-height: 2.0;
  }
}

/* =========================
   PROCESO
   ========================= */

.pl-process{
  padding: 70px 0;
}

.pl-wrap{
  width: min(var(--pl-maxw), 92vw);
  margin: 0 auto;
}

/* Header con líneas */
.pl-process__head{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 22px;
  margin: 0 auto 52px;
  max-width: 980px;
}

.pl-process__line{
  height: 1px;
  background: var(--pl-line);
  opacity: 1;
}

.pl-process__title{
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: rgba(0,0,0,.78);
}

[data-bs-theme="dark"] .pl-process__title{
  color: rgba(255,255,255,.90);
}

/* Rows */
.pl-process__row{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 64px;
  padding: 34px 0;
}

.pl-process__row--reverse{
  grid-template-columns: .95fr 1.05fr;
}

/* Media */
.pl-process__media{
  position: relative;
  min-height: 260px;
}

.pl-process__media-bg{
  position: absolute;
  width: 86%;
  height: 88%;
  background: rgba(0,0,0,.06);
  z-index: 0;
}

[data-bs-theme="dark"] .pl-process__media-bg{
  background: rgba(255,255,255,.06);
}

/* Mancha gris como el ejemplo */
.pl-process__media--left .pl-process__media-bg{
  left: -18px;
  top: -18px;
}

.pl-process__media--right .pl-process__media-bg{
  right: -18px;
  top: -18px;
}

/* Imagen */
.pl-process__img{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.12);
}

[data-bs-theme="dark"] .pl-process__img{
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
}

/* Texto */
.pl-process__text{
  position: relative;
  max-width: 520px;
}

.pl-process__step{
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(0,0,0,.82);
}

[data-bs-theme="dark"] .pl-process__step{
  color: rgba(255,255,255,.92);
}

.pl-process__step span{
  font-weight: 500;
}

.pl-process__desc{
  margin: 0;
  font-size: 12px;
  line-height: 2.1;
  letter-spacing: .18em;
  color: rgba(0,0,0,.58);
  max-width: 440px;
}

[data-bs-theme="dark"] .pl-process__desc{
  color: rgba(255,255,255,.68);
}

/* Esquinas finas (decoración) */
.pl-corner::after{
  content:"";
  position: absolute;
  width: 34px;
  height: 34px;
  border-top: 1px solid rgba(0,0,0,.25);
  border-right: 1px solid rgba(0,0,0,.25);
  opacity: .9;
}

[data-bs-theme="dark"] .pl-corner::after{
  border-top-color: rgba(255,255,255,.18);
  border-right-color: rgba(255,255,255,.18);
}

/* Esquina a la derecha (como en el ejemplo 01 y 03) */
.pl-corner--right::after{
  right: 0;
  top: -62px;
}

/* Esquina a la izquierda (como en el ejemplo 02) */
.pl-corner--left::after{
  left: 0;
  top: -62px;
  transform: scaleX(-1); /* espejo */
}

/* Alineación visual para la fila invertida */
.pl-process__row--reverse .pl-process__media{
  grid-column: 2;
}
.pl-process__row--reverse .pl-process__text{
  grid-column: 1;
  justify-self: start;
  text-align: left;
  transform: translateY(-300px); /* súbelo, ajusta -12 a -28 */
}

/* En móvil: quitar el offset */
@media (max-width: 992px){
  .pl-process__row--reverse .pl-process__text{
    transform: none;
  }
}

/* Responsive */
@media (max-width: 992px){
  .pl-process{ padding: 64px 0; }
  .pl-process__row,
  .pl-process__row--reverse{
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 26px 0;
  }

  .pl-process__row--reverse .pl-process__media,
  .pl-process__row--reverse .pl-process__text{
    grid-column: auto;
    justify-self: start;
    
  }

  .pl-process__img{ max-width: 100%; }
  .pl-corner::after{ display:none; } /* en móvil se ve más limpio */
  .pl-process__media-bg{
    width: 92%;
    height: 92%;
    
  }
}

.pl-process__text{
  padding-left: 44px;
}

.pl-process__row--reverse .pl-process__text{
  padding-left: 44px;   
}

.pl-parallax-title{
  position: relative;
  overflow: hidden;
  background: #0f0f10;
  min-height: clamp(200px, 40vw, 600px);
}

.pl-parallax-title__bg{
  position: absolute;
  inset: 0;
  background-image: url("/images/portadas/portada4.png");
  background-size: cover;          
  background-position: center 55%;
  background-repeat: no-repeat;
  z-index: 0;
}

/* Overlay para legibilidad */
.pl-parallax-title__overlay{
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.18),
    rgba(0,0,0,.38)
  );
}

/* Contenido centrado */
.pl-parallax-title__inner{
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 220px 20px;
  display: grid;
  place-items: center;
  gap: 18px;
}

/* Texto */
.pl-parallax-title__text{
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: .34em;
  line-height: 1.05;

  color: rgba(255,255,255,.95);
  font-size: clamp(20px, 3vw, 36px);
}

/* Líneas */
.pl-parallax-title__line{
  width: min(780px, 86vw);
  height: 1px;
  background: rgba(255,255,255,.75);
  opacity: .85;
}

/* MÓVIL */
@media (max-width: 576px){
  .pl-parallax-title{
    min-height: 180px;
  }

  .pl-parallax-title__text{
    font-size: 18px;
    letter-spacing: .22em;
  }
}

.pl-testimonials .carousel-indicators{
  position: static;
  margin-top: 14px;
}

.pl-testimonials .carousel-indicators [data-bs-target]{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
}

:root[data-bs-theme="light"] .pl-wood-swatch span {
  color: #fff;
  background: rgba(0,0,0,.35);
}

:root[data-bs-theme="dark"] .pl-wood-swatch span {
  color: #111;
  background: rgba(255,255,255,.6);
}

.pl-wood-name {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .75rem;
  letter-spacing: .12em;
  font-weight: 600;
  backdrop-filter: blur(2px);
}

.pl-hero-title {
  font-family: "widescreen";
  font-size: clamp(2.8rem, 6vw, 4.5rem);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  margin-bottom: 1rem;
  position: relative;
}

.pl-hero-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: rgba(255,255,255,.6);
  margin: 1.25rem auto 0;
}

.pl-hero-subtitle {
  font-size: .95rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  text-align: center;
}

.pl-benefits {
  padding: 4rem 0 3rem;
}

.pl-benefit-item {
  max-width: 340px;
}

.pl-benefit-kicker {
  display: block;
  font-size: .65rem;
  letter-spacing: .3em;
  color: #aaa;
  margin-bottom: 1rem;
}

.pl-benefit-title {
  font-size: 1.1rem;
  font-weight: 500;
  margin-bottom: .75rem;
  color: #222;
}

.pl-benefit-text {
  font-size: .95rem;
  line-height: 1.7;
  color: #666;
}

.pl-benefit-item {
  padding-left: 1.5rem;
  border-left: 1px solid rgba(0,0,0,.08);
}

.pl-section-head--center{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  text-align: center;
  margin: 0 auto 2rem;
}

.pl-section-title{
 font-family: "Widescreen", sans-serif;
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .22em;     /* CLAVE: bájalo */
  text-transform: uppercase;
  color: rgba(0,0,0,.55);

.pl-section-line{
  flex: 0 0 90px;
  height: 1px;
  background: rgba(0,0,0,.15);
}

.pl-section-head {
  margin: 5rem auto 3rem;  /* más presencia */
}

.pl-step-kicker {
  font-size: .7rem;
  letter-spacing: .35em;
  color: rgba(0,0,0,.55);
  margin-bottom: 1rem;
}

.pl-step-title {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: .02em;
  margin: 0 0 1rem;
  color: #222;
}

.pl-step-text {
  font-size: .98rem;
  line-height: 1.8;
  color: rgba(0,0,0,.62);
  max-width: 420px;
}

/* ===========================
   Editorial collage section
   =========================== */
.pl-editorial{
  background:#f6f5f3;
}

.pl-ed{
  position:relative;
  min-height: 520px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 2rem;
  align-items: center;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,.35);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

/* Collage */
.pl-ed__collage{
  position:relative;
  height: 460px;
}

.pl-ed__img{
  position:absolute;
  object-fit:cover;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
  background:#e9e9e9;
}

/* Izquierda grande “blur” */
.pl-ed__img--a{
  left: 0;
  top: 30px;
  width: 52%;
  height: 72%;
  filter: grayscale(100%) contrast(105%) blur(1.5px);
  opacity: .9;
}

/* Centro retrato */
.pl-ed__img--b{
  left: 28%;
  top: 145px;
  width: 44%;
  height: 60%;
  z-index: 2;
}

/* Derecha close-up */
.pl-ed__img--c{
  right: 0;
  top: 0;
  width: 46%;
  height: 86%;
  z-index: 1;
}

/* Headline cruzando */
.pl-ed__headline{
  position:absolute;
  left: 46%;
  top: 52%;
  transform: translate(-10%, -50%);
  display:flex;
  gap: .55rem;
  align-items: baseline;
  white-space: nowrap;
  z-index: 3;
  pointer-events:none;
}

.pl-ed__headline-strong{
  font-family: "widescreen", serif;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: clamp(1.2rem, 2.6vw, 2.1rem);
  color:#111;
}

.pl-ed__headline-soft{
  font-family: "widescreen", serif;
  font-weight: 300;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: clamp(1.2rem, 2.6vw, 2.1rem);
  color: rgba(0,0,0,.45);
}

/* Copy abajo-izquierda */
.pl-ed__copy{
  position:absolute;
  left: clamp(1.25rem, 3vw, 2.5rem);
  bottom: clamp(1.25rem, 3vw, 2.5rem);
  max-width: 300px;
  z-index: 4;
}

.pl-ed__label{
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(0,0,0,.8);
  margin-bottom: .5rem;
}

.pl-ed__p{
  margin: 0;
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(0,0,0,.6);
}

/* Responsive */
@media (max-width: 992px){
  .pl-ed{
    grid-template-columns: 1fr;
    min-height: 720px;
  }
  .pl-ed__collage{
    height: 520px;
  }
  .pl-ed__headline{
    left: 50%;
    top: 60%;
    transform: translate(-50%, -50%);
    text-align:center;
    justify-content:center;
    flex-wrap: wrap;
    white-space: normal;
  }
  .pl-ed__copy{
    max-width: 420px;
  }
}

.pl-editorial2{
  padding: clamp(3rem, 6vw, 6rem) 0;
  background: #f6f5f3;
}

.pl-ed2{
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 26px;
  background: rgba(255,255,255,.55);
  box-shadow: 0 20px 60px rgba(0,0,0,.06);
}

/* Collage pro: ordenado */
.pl-ed2__collage{
  position: relative;
  height: 520px;
}

.pl-ed2__img{
  position: absolute;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 18px 45px rgba(0,0,0,.14);
}

/* Foto base (izq) */
.pl-ed2__img--a{
  left: 0;
  top: 40px;
  width: 56%;
  height: 78%;
  opacity: .85;
}

/* Foto protagonista (centro) */
.pl-ed2__img--b{
  left: 32%;
  top: 0;
  width: 46%;
  height: 92%;
  z-index: 2;
}

/* Detalle (frontal) */
.pl-ed2__img--c{
  left: 18%;
  bottom: 0;
  width: 42%;
  height: 44%;
  z-index: 3;
  outline: 10px solid rgba(255,255,255,.55); /* “marco” editorial */
}

/* Content (derecha) limpio */
.pl-ed2__content{
  max-width: 560px;
}

.pl-ed2__head{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.pl-ed2__line{
  height: 1px;
  flex: 1;
  background: rgba(0,0,0,.12);
}

.pl-ed2__kicker{
  font-size: .75rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: rgba(0,0,0,.55);
  white-space: nowrap;
}

.pl-ed2__title{
  margin: 0 0 18px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: clamp(1.4rem, 2.6vw, 2.2rem);
  font-family: "neue-haas-grotesk-display", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.pl-ed2__titleStrong{ font-weight: 600; color: #111; }
.pl-ed2__titleSoft{ font-weight: 300; color: rgba(0,0,0,.42); margin-left: .35rem; }

.pl-ed2__p{
  margin: 0 0 18px;
  font-size: 1rem;
  line-height: 1.85;
  color: rgba(0,0,0,.62);
}

.pl-ed2__meta{
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: .85rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(0,0,0,.45);
}

/* Responsive */
@media (max-width: 992px){
  .pl-ed2{
    grid-template-columns: 1fr;
  }
  .pl-ed2__collage{
    height: 460px;
  }
}

.pl-philosophy-text{
  font-family: "Widescreen", sans-serif;
  font-size: clamp(1rem, 1.1vw, 1.15rem);
  line-height: 1.9;
  letter-spacing: .015em;   /* casi neutro */
  font-weight: 400;
  color: rgba(0,0,0,.65);
  max-width: 880px;
  margin: 1.5rem auto 0;
  text-align: center;
}

.pl-philosophy-text strong{
  font-weight: 500;
  color: rgba(0,0,0,.8);
}


[data-bs-theme="dark"] .pl-parallax-title {
  background: linear-gradient(
    180deg,
    #0e0e0e 0%,
    #121212 100%
  );
}

[data-bs-theme="dark"] .pl-parallax-title h2,
[data-bs-theme="dark"] .pl-parallax-title__title {
  color: #f5f5f5;
  letter-spacing: 0.28em;
}

[data-bs-theme="dark"] .pl-parallax-title__line {
  background: linear-gradient(
    to right,
    transparent,
    rgba(255,255,255,.35),
    transparent
  );
  height: 1px;
}

[data-bs-theme="dark"] .pl-parallax-title {
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.04);
}

[data-bs-theme="dark"] .pl-kicker {
  display: block;
  font-size: 0.65rem;
  letter-spacing: 0.4em;
  color: rgba(255,255,255,.45);
  margin-bottom: .75rem;
}

.pl-portfolio-header {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.pl-portfolio-title {
  padding-right: 2rem;
  border-right: 1px solid rgba(255,255,255,.12);
}

.pl-section-divider.fancy {
  position: relative;
  height: 1px;
  margin: 1.8rem 0 2.5rem;
  background: rgba(255,255,255,.12);
}

.pl-section-divider.fancy::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: .6;
}

.pl-filosofia p {
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 1.05rem;
  text-align: center;
}

@media (max-width: 576px) {
  .pl-filosofia p {
    max-width: 100%;
    padding: 0 1.25rem;
    font-size: 0.95rem;
    line-height: 1.65;
    text-align: center;
  }
}

/* =========================================
   AVISO DE PRIVACIDAD – SCOPED (PL)
   Pegar al FINAL de style.css
========================================= */

.pl-privacy {
  position: relative;
}

/* Lectura */
.pl-privacy .pl-privacy-content {
  font-size: 1rem;
  line-height: 1.85;
  color: #2a2a2a;
}

.pl-privacy .pl-privacy-content p {
  margin-bottom: 1.25rem;
  max-width: 860px;
}

.pl-privacy .pl-privacy-content > p:first-of-type {
  font-size: 1.08rem;
  font-weight: 600;
}

/* Listas */
.pl-privacy .pl-privacy-content ul {
  padding-left: 1.25rem;
  margin-bottom: 1.25rem;
}

.pl-privacy .pl-privacy-content li {
  margin-bottom: 0.45rem;
}

/* Cards (más pro y notorias) */
.pl-privacy .pl-privacy-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 20px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

.pl-privacy .pl-privacy-card h5 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: .75rem;
  letter-spacing: -.01em;
}

.pl-privacy .pl-privacy-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 46px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.12);
}

/* Acordeón */
.pl-privacy .pl-privacy-accordion.accordion {
  margin-top: 2rem;
}

.pl-privacy .pl-privacy-accordion .accordion-item {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: .9rem;
  background: #fff;
}

.pl-privacy .pl-privacy-accordion .accordion-button {
  font-weight: 600;
  font-size: .95rem;
  padding: 1rem 1.25rem;
  background: transparent;
}

.pl-privacy .pl-privacy-accordion .accordion-button:not(.collapsed) {
  background: rgba(0,0,0,.03);
  box-shadow: none;
}

.pl-privacy .pl-privacy-accordion .accordion-button:focus {
  box-shadow: none;
}

/* Bloque final */
.pl-privacy .pl-privacy-accept {
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
}

/* =========================================
   DARK MODE (Bootstrap 5.3 data-bs-theme)
========================================= */

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-content {
  color: rgba(255,255,255,.86);
}

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-card {
  background: #141414;
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 16px 44px rgba(0,0,0,.55);
}

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-card:hover {
  box-shadow: 0 22px 56px rgba(0,0,0,.70);
  border-color: rgba(255,255,255,.14);
}

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-accordion .accordion-item {
  background: #141414;
  border-color: rgba(255,255,255,.10);
}

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-accordion .accordion-button {
  color: #fff;
}

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-accordion .accordion-button:not(.collapsed) {
  background: rgba(255,255,255,.06);
}

html[data-bs-theme="dark"] .pl-privacy .pl-privacy-accept {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
}

/* =========================================
   HERO – AVISO DE PRIVACIDAD
========================================= */

.pl-privacy-hero {
  position: relative;
  padding: 6rem 0 5rem;
  overflow: hidden;
}

.pl-privacy-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1200px 400px at 10% 0%, rgba(0,0,0,.06), transparent 60%),
    radial-gradient(900px 300px at 90% 20%, rgba(0,0,0,.04), transparent 55%);
  z-index: 0;
}

.pl-privacy-hero .container {
  position: relative;
  z-index: 1;
}

.pl-privacy-kicker {
  display: inline-block;
  margin-bottom: .75rem;
  font-size: .75rem;
  letter-spacing: .18em;
  font-weight: 600;
  opacity: .7;
}

.pl-privacy-title {
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin-bottom: 1rem;
}

.pl-privacy-lead {
  max-width: 640px;
  font-size: 1.1rem;
  line-height: 1.7;
  opacity: .8;
}

/* =========================================
   DARK MODE – HERO
========================================= */

html[data-bs-theme="dark"] .pl-privacy-hero-bg {
  background:
    radial-gradient(1200px 400px at 10% 0%, rgba(255,255,255,.08), transparent 60%),
    radial-gradient(900px 300px at 90% 20%, rgba(255,255,255,.06), transparent 55%);
}

html[data-bs-theme="dark"] .pl-privacy-kicker,
html[data-bs-theme="dark"] .pl-privacy-lead {
  opacity: .85;
}

.pl-legal,
.pl-privacy-hero,
.pl-legal-page {
  margin-top: 60px;
}

