/* --------------------------------------------------------------
   [PLW] Location Estive - CSS (mu-plugins/plw/assets/css/loc-estiva.css)
   v1.0 - 2026-07-06 - tema mare, dentro i token PLW
   -------------------------------------------------------------- */

/* ===== SINGOLA ===== */
.plw-le-single{background:var(--color-bg-white,#fff);}

/* HERO immersivo */
.plw-le-hero{position:relative;min-height:82svh;min-height:82dvh;display:flex;align-items:flex-end;
  justify-content:center;overflow:hidden;background:var(--color-bg-dark,#2D2D2D);}
.plw-le-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.04);}
.plw-le-hero__overlay{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(45,45,45,.78) 0%,rgba(45,45,45,.25) 45%,rgba(45,45,45,.35) 100%);}
.plw-le-hero__inner{position:relative;z-index:2;text-align:center;padding:0 24px clamp(50px,8vw,90px);max-width:900px;}
.plw-le-hero__eyebrow{font-family:var(--font-display,'Montserrat',sans-serif);font-size:12px;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;color:var(--color-yellow,#FFC824);display:block;margin-bottom:16px;}
.plw-le-hero__title{font-family:var(--font-heading,'Playfair Display',serif);font-weight:400;
  font-size:clamp(40px,7vw,84px);line-height:1.02;color:#fff;margin:0;}
.plw-le-hero__sub{font-family:var(--font-body-light,'Nunito',sans-serif);font-size:clamp(15px,2.2vw,19px);
  color:rgba(255,255,255,.85);margin:16px 0 0;letter-spacing:.5px;}
.plw-le-hero__loc{font-family:var(--font-display,'Montserrat',sans-serif);font-size:12px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.7);margin:18px 0 0;
  display:inline-flex;align-items:center;gap:8px;}
.plw-le-hero__pin{color:var(--color-yellow,#FFC824);font-size:10px;}
.plw-le-hero__scroll{position:absolute;left:50%;bottom:22px;width:1px;height:44px;
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.6));z-index:2;}

/* INTRO */
.plw-le-intro{padding:clamp(60px,9vw,120px) 24px;background:var(--color-bg-warm,#FFF6ED);}
.plw-le-intro__wrap{max-width:760px;margin:0 auto;}
.plw-le-intro__wrap p{font-family:var(--font-body,Georgia,serif);font-size:clamp(16px,2vw,19px);
  line-height:1.85;color:var(--color-text-primary,#2D2D2D);margin:0 0 1.3em;}
.plw-le-intro__wrap p:first-of-type::first-letter{font-family:var(--font-heading,'Playfair Display',serif);
  font-size:3.6em;line-height:.8;float:left;margin:6px 14px 0 0;color:var(--color-gold,#C6A564);}

/* CARATTERISTICHE + MOMENTI */
.plw-le-feat{padding:clamp(50px,8vw,100px) 24px;background:var(--color-bg-white,#fff);}
.plw-le-feat__grid{max-width:var(--container-max-width,1280px);margin:0 auto;display:grid;
  grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);}
.plw-le-feat__h{font-family:var(--font-display,'Montserrat',sans-serif);font-size:11px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:var(--color-gold,#C6A564);
  border-bottom:1px solid var(--color-border,#CBCBCB);padding-bottom:14px;margin:0 0 22px;}
.plw-le-feat__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.plw-le-feat__list li{font-family:var(--font-heading,'Playfair Display',serif);
  font-size:clamp(17px,2.2vw,21px);color:var(--color-text-primary,#2D2D2D);display:flex;align-items:baseline;gap:12px;}
.plw-le-feat__dot{width:7px;height:7px;border-radius:50%;background:var(--color-yellow,#FFC824);flex:0 0 auto;}
.plw-le-feat__list--moment li{font-style:italic;color:var(--color-text-secondary,#626262);}
.plw-le-feat__list--moment li::before{content:'\2014';color:var(--color-gold,#C6A564);margin-right:6px;font-style:normal;}

/* GALLERY */
.plw-le-gallery{padding:0 0 clamp(50px,8vw,90px);background:var(--color-bg-white,#fff);}
.plw-le-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  max-width:var(--container-max-width,1280px);margin:0 auto;padding:0 24px;}
.plw-le-gallery__item{display:block;overflow:hidden;border-radius:var(--border-radius-card,6px);
  aspect-ratio:4/5;cursor:zoom-in;}
.plw-le-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.plw-le-gallery__item:hover img{transform:scale(1.05);}
.plw-le-gallery__item:focus-visible{outline:3px solid var(--color-gold,#C6A564);outline-offset:3px;}

/* VIDEO */
.plw-le-video{padding:0 24px clamp(50px,8vw,90px);background:var(--color-bg-white,#fff);}
.plw-le-video__el{display:block;width:auto;max-width:100%;max-height:80vh;margin:0 auto;
  border-radius:var(--border-radius-card,6px);background:#000;}

/* INFO / MAPPA */
.plw-le-info{background:var(--color-bg-dark,#2D2D2D);}
.plw-le-info__grid{display:grid;grid-template-columns:1fr 1fr;min-height:440px;}
.plw-le-info__text{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(50px,7vw,90px) clamp(24px,5vw,70px);}
.plw-le-info__eyebrow{font-family:var(--font-display,'Montserrat',sans-serif);font-size:11px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;color:var(--color-yellow,#FFC824);margin-bottom:14px;}
.plw-le-info__h{font-family:var(--font-heading,'Playfair Display',serif);font-weight:400;
  font-size:clamp(26px,3.5vw,40px);color:#fff;margin:0 0 18px;line-height:1.15;}
.plw-le-info__addr{font-family:var(--font-body,Georgia,serif);font-size:16px;line-height:1.6;
  color:rgba(255,255,255,.75);margin:0 0 8px;}
.plw-le-info__tel{margin:0 0 30px;}
.plw-le-info__tel a{font-family:var(--font-body-light,'Nunito',sans-serif);font-size:16px;
  color:var(--color-yellow,#FFC824);text-decoration:none;}
.plw-le-info__btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;
  background:var(--color-gold,#C6A564);color:#fff;font-family:var(--font-display,'Montserrat',sans-serif);
  font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:15px 38px;
  border-radius:var(--border-radius-btn,10px);text-decoration:none;transition:transform .2s ease,background .3s ease;}
.plw-le-info__btn:hover{transform:translateY(-2px);background:var(--color-yellow,#FFC824);color:var(--color-text-primary,#2D2D2D);}
.plw-le-info__map{position:relative;min-height:360px;}
.plw-le-info__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* LIGHTBOX */
.plw-le-lb{position:fixed;inset:0;z-index:9999;background:rgba(20,20,20,.92);
  display:flex;align-items:center;justify-content:center;padding:30px;}
.plw-le-lb[hidden]{display:none;}
.plw-le-lb__img{max-width:92vw;max-height:88vh;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.plw-le-lb__close{position:absolute;top:20px;right:26px;background:none;border:none;color:#fff;
  font-size:44px;line-height:1;cursor:pointer;opacity:.8;}
.plw-le-lb__close:hover{opacity:1;}

/* ===== ARCHIVIO ===== */
.plw-le-arch{background:var(--color-bg-warm,#FFF6ED);padding:clamp(50px,8vw,110px) 24px;}
.plw-le-arch__head{text-align:center;max-width:720px;margin:0 auto clamp(40px,6vw,70px);}
.plw-le-arch__eyebrow{font-family:var(--font-display,'Montserrat',sans-serif);font-size:12px;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;color:var(--color-gold,#C6A564);display:block;margin-bottom:16px;}
.plw-le-arch__title{font-family:var(--font-heading,'Playfair Display',serif);font-weight:400;
  font-size:clamp(34px,5.5vw,60px);color:var(--color-text-primary,#2D2D2D);margin:0 0 18px;line-height:1.05;}
.plw-le-arch__sub{font-family:var(--font-body,Georgia,serif);font-size:clamp(15px,2vw,18px);line-height:1.7;
  color:var(--color-text-secondary,#626262);margin:0;}
.plw-le-arch__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);
  max-width:var(--container-max-width,1280px);margin:0 auto;}
.plw-le-card{display:block;text-decoration:none;border-radius:var(--border-radius-card,6px);overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease;}
.plw-le-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(45,45,45,.18);}
.plw-le-card:focus-visible{outline:3px solid var(--color-gold,#C6A564);outline-offset:3px;}
.plw-le-card__img{position:relative;aspect-ratio:4/5;background-size:cover;background-position:center;
  background-color:var(--color-border,#CBCBCB);display:flex;flex-direction:column;justify-content:flex-end;}
.plw-le-card__grad{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(45,45,45,.85) 0%,rgba(45,45,45,.15) 55%,transparent 100%);}
.plw-le-card__badge{position:absolute;top:16px;left:16px;z-index:2;background:var(--color-yellow,#FFC824);
  color:var(--color-text-primary,#2D2D2D);font-family:var(--font-display,'Montserrat',sans-serif);font-size:10px;
  font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 13px;border-radius:3px;}
.plw-le-card__info{position:relative;z-index:2;padding:20px 18px 18px;}
.plw-le-card__name{font-family:var(--font-heading,'Playfair Display',serif);font-weight:400;
  font-size:clamp(20px,2.2vw,26px);color:#fff;margin:0 0 6px;line-height:1.1;}
.plw-le-card__sub{font-family:var(--font-body-light,'Nunito',sans-serif);font-size:14px;
  color:rgba(255,255,255,.85);margin:0 0 10px;}
.plw-le-card__loc{font-family:var(--font-display,'Montserrat',sans-serif);font-size:11px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;color:var(--color-yellow,#FFC824);}
.plw-le-arch__empty{text-align:center;font-family:var(--font-heading,'Playfair Display',serif);font-style:italic;
  font-size:20px;color:var(--color-text-secondary,#626262);}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .plw-le-feat__grid{grid-template-columns:1fr;gap:40px;}
  .plw-le-info__grid{grid-template-columns:1fr;}
  .plw-le-info__map{min-height:320px;order:-1;}
  .plw-le-gallery__grid{grid-template-columns:repeat(2,1fr);}
  .plw-le-arch__grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .plw-le-arch__grid{grid-template-columns:1fr;}
  .plw-le-gallery__grid{grid-template-columns:1fr;}
  .plw-le-hero{min-height:74svh;min-height:74dvh;}
}

/* ===== REDUCED MOTION ===== */
@media(prefers-reduced-motion:reduce){
  .plw-le-gallery__item img,.plw-le-card{transition:none!important;}
  .plw-le-gallery__item:hover img,.plw-le-card:hover{transform:none;}
}
