:root{
  --bg:#f5efe7;
  --white:#fffaf4;
  --text:#161311;
  --muted:#6e665d;
  --gold:#b69362;
  --wine:#6e2435;
  --line:rgba(0,0,0,.08);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:Georgia, serif;
  overflow-x:hidden;
}

.header{
  position:fixed;
  top:0;
  width:100%;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 42px;
  z-index:100;
  backdrop-filter:blur(16px);
  background:rgba(245,239,231,.72);
}

.logo{
  font-size:12px;
  letter-spacing:.35em;
  white-space:nowrap;
}

.nav{
  display:flex;
  gap:30px;
}

.nav a{
  text-decoration:none;
  color:var(--text);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.headerActions{
  display:flex;
  align-items:center;
  gap:14px;
}

.searchBox{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
}

.searchBtn{
  border:0;
  background:transparent;
  cursor:pointer;
  color:var(--text);
}

.searchBox input{
  width:0;
  opacity:0;
  pointer-events:none;
  border:1px solid var(--line);
  background:var(--white);
  border-radius:999px;
  padding:10px 0;
  font-family:Arial;
  transition:.35s ease;
}

.searchBox.active input{
  width:190px;
  opacity:1;
  pointer-events:auto;
  padding:10px 16px;
}

.translateBtn{
  border:1px solid var(--line);
  background:var(--white);
  border-radius:999px;
  padding:10px 14px;
  font-size:12px;
  cursor:pointer;
}

.cartWrap{
  position:relative;
}

.cartBtn{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 16px;
  background:var(--white);
  cursor:pointer;
}

.cartBtn span{
  background:transparent;
  color:var(--text);
  padding:0;
  margin:0;
}

.cartBtn strong{
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  background:black;
  color:white;
  border-radius:999px;
  font-size:12px;
  line-height:1;
}

.cartDropdown{
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  width:260px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(0,0,0,.14);
  padding:18px;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.3s ease;
  z-index:200;
}

.cartWrap.active .cartDropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.cartDropdown h4{
  font-size:18px;
  font-weight:400;
  margin-bottom:14px;
}

.cartItem{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-family:Arial;
  font-size:13px;
}

.cartItem small{
  color:var(--muted);
}

.cartCheckout{
  display:block;
  margin-top:16px;
  text-align:center;
  background:black;
  color:white;
  text-decoration:none;
  border-radius:999px;
  padding:12px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.mobileBtn{
  display:none;
  border:0;
  background:none;
  cursor:pointer;
}

.mobileBtn i{
  display:block;
  width:24px;
  height:1px;
  background:black;
  margin:6px 0;
}

/* HERO */

.hero{
  min-height:280vh;
  position:relative;
  overflow:visible;
  background:var(--bg);
  z-index:1;
}

.heroStage{
  position:sticky;
  top:0;
  width:100%;
  height:100vh;
  overflow:hidden;
  background:var(--bg);
  z-index:2;
}

.heroImage{
  position:absolute;
  top:90px;
  left:24px;
  width:calc(100% - 48px);
  height:calc(100vh - 114px);
  background:
    linear-gradient(rgba(27, 27, 27, 0.18), rgba(0, 0, 0, 0.425)),
    url('./images/art_2.png') center/cover no-repeat;
  border-radius:0 0 120px 120px;
  z-index:1;
}

.heroTextOverlay{
  position:absolute;
  top:90px;
  left:24px;
  width:calc(100% - 48px);
  height:calc(100vh - 114px);
  z-index:2;
  pointer-events:none;
  border-radius:0 0 120px 120px;
  background:
    linear-gradient(
      rgba(0,0,0,.28),
      rgba(0,0,0,.38)
    ),
    radial-gradient(
      circle at center,
      rgba(0,0,0,.18),
      rgba(0,0,0,.55)
    );
}

.heroGradient{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 40%, rgba(255,180,190,.15), transparent 30%),
    radial-gradient(circle at 80% 30%, rgba(182,147,98,.18), transparent 30%);
}

.heroContent{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:4;
  text-align:center;
  max-width:900px;
  width:100%;
  padding:0 20px;
  will-change:opacity, transform;
}

.heroContent .btn{
  pointer-events:auto;
}

.eyebrow,
.sectionLabel{
  display:inline-block;
  margin-bottom:26px;
  font-size:11px;
  letter-spacing:.28em;
  color:#b69362;
}

.hero h1{
  color:white;
  font-size:clamp(60px,10vw,132px);
  line-height:.82;
  font-weight:400;
}

.hero em{
  display:block;
  color:#ffd6dc;
  font-style:italic;
}

.hero p{
  margin:30px auto 0;
  max-width:620px;
  line-height:1.8;
  font-family:Arial;
  color:white;
}

.heroButtons{
  margin-top:38px;
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

/* FLORAL CURTAINS */

.floralCurtains{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  overflow:hidden;
}

.curtain{
  position:absolute;
  top:0;
  width:34vw;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  align-items:center;
  will-change:transform;
}

.curtain img{
  width:clamp(180px, 18vw, 320px);
  height:auto;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.18));
  opacity:.95;
}

.curtainLeft{
  left:-10vw;
}

.curtainRight{
  right:-10vw;
}

.curtainRight img{
  transform:scaleX(-1);
}

/* BUTTONS */

.btn{
  text-decoration:none;
  padding:14px 28px;
  border-radius:999px;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.1em;
  display:inline-block;
  cursor:pointer;
  border:0;
}

.btn.dark{
  background:black;
  color:white;
}

.btn.light{
  border:1px solid rgba(255,255,255,.3);
  color:white;
  background:rgba(255,255,255,.12);
}

/* ARTIST */

.artistSection{
  padding:140px 8vw;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
}

.artistImageWrap{
  position:relative;
  min-height:700px;
  perspective:1000px;
}

.artistMainImage{
  position:absolute;
  width:72%;
  height:580px;
  left:0;
  top:40px;
  background:url('./images/regina-portrait.png') center/cover;
  box-shadow:0 40px 100px rgba(0,0,0,.14);
  border:14px solid var(--white);
  transform:rotateY(-8deg);
}

.artistFloatingCard{
  position:absolute;
  width:42%;
  height:260px;
  right:0;
  bottom:60px;
  background:url('./images/imagen_base.jpg') center/cover;
  border:12px solid var(--white);
  box-shadow:0 30px 80px rgba(0,0,0,.16);
  animation:floating 5s ease-in-out infinite;
}

.artistContent h2,
.sectionHeader h2{
  font-size:clamp(44px,6vw,82px);
  line-height:.95;
  font-weight:400;
}

.artistContent p,
.workshopCard p{
  margin-top:28px;
  line-height:1.9;
  font-family:Arial;
  color:var(--muted);
}

.textLink{
  display:inline-block;
  margin-top:34px;
  text-decoration:none;
  color:black;
  border-bottom:1px solid black;
  padding-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
}

/* GALLERY */

.gallerySection{
  padding:20px 8vw 120px;
}

.sectionHeader{
  margin-bottom:50px;
}

.sectionHeader .sectionLabel{
  color:var(--wine);
}

.galleryGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.artCard{
  transition:.4s ease;
}

.artCard:hover{
  transform:translateY(-12px);
}

.artImage{
  height:420px;
  margin-bottom:20px;
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}

.art1{
  background-image:url('./images/virgen.png');
}

.art2{
  background-image:url('./images/art_3.png');
}

.art3{
  background-image:url('./images/detalles.png');
}

.art4{
  background-image:url('./images/montaje.png');
}

.artOverlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.34);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  opacity:0;
  transition:.35s ease;
}

.artImage:hover .artOverlay{
  opacity:1;
}

.previewBtn,
.artLink{
  border:0;
  cursor:pointer;
  border-radius:999px;
  padding:12px 18px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.previewBtn{
  width:46px;
  height:46px;
  padding:0;
  background:var(--white);
  color:black;
  font-size:20px;
}

.artLink{
  background:black;
  color:white;
}

.artCard h3{
  font-size:30px;
  font-weight:400;
}

.artCard p,
.artCard span{
  margin-top:8px;
  display:block;
  color:var(--muted);
  font-family:Arial;
}

/* EDITORIAL */

/* =========================================================
   EDITORIAL SECTION
========================================================= */

.editorialSection{
  position:relative;

  min-height:950px;

  display:flex;
  align-items:center;
  justify-content:flex-end;

  padding:90px 70px;

  background:#ECE8E3;

  overflow:hidden;
}


/* =========================================================
   IMAGE LAYER
========================================================= */

.editorialImage{
  position:absolute;
  left:40px;
  bottom:40px;
  width:62%;
  height:720px;
  z-index:1;
  box-shadow:0 40px 100px rgba(0,0,0,.12);
  background:
    linear-gradient(
      to right,
      rgba(255,255,255,.06),
      rgba(255,255,255,.24)
    ),
    url('./images/art_2.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}


/* =========================================================
   CONTENT CARD
========================================================= */

.editorialContent{
  position:relative;

  width:min(720px, 55%);

  padding:110px 90px;

  background:#F7F6F4;

  z-index:2;
}


/* =========================================================
   EYEBROW
========================================================= */

.editorialEyebrow{
  display:block;

  margin-bottom:28px;

  font-size:11px;

  letter-spacing:.38em;

  text-transform:uppercase;

  color:#7B5A5A;

  font-weight:500;
}


/* =========================================================
   TITLE
========================================================= */

.editorialTitle{
  margin:0 0 38px;

  font-family:'Playfair Display', serif;

  font-size:clamp(56px, 7vw, 94px);

  line-height:.95;

  font-weight:400;

  color:#111;
}


/* =========================================================
   TEXT
========================================================= */

.editorialText{
  max-width:580px;

  margin-bottom:42px;

  font-size:20px;

  line-height:1.9;

  color:#666;
}


/* =========================================================
   BUTTON
========================================================= */

.editorialButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:180px;
  height:60px;

  padding:0 34px;

  border-radius:999px;

  background:#000;

  color:#fff;

  text-decoration:none;

  font-size:13px;

  letter-spacing:.18em;

  font-weight:600;

  transition:.35s ease;
}

.editorialButton:hover{
  transform:translateY(-2px);

  background:#111;
}


/* =========================================================
   RESPONSIVE 1200
========================================================= */

@media (max-width:1200px){

  .editorialSection{
    padding:70px 40px;
  }

  .editorialImage{
    width:65%;
    height:620px;
  }

  .editorialContent{
    width:min(680px, 62%);

    padding:90px 60px;
  }

  .editorialTitle{
    font-size:72px;
  }

}


/* =========================================================
   RESPONSIVE 992
========================================================= */

@media (max-width:992px){

  .editorialSection{
    display:flex;
    flex-direction:column;

    min-height:auto;

    padding:0;

    background:#F7F6F4;
  }

  .editorialImage{
    position:relative;

    left:auto;
    bottom:auto;

    width:100%;
    height:500px;
  }

  .editorialContent{
    width:100%;

    padding:70px 32px 90px;
  }

  .editorialTitle{
    font-size:58px;
  }

  .editorialText{
    font-size:18px;
  }

}


/* =========================================================
   RESPONSIVE 640
========================================================= */

@media (max-width:640px){

  .editorialImage{
    height:360px;
  }

  .editorialContent{
    padding:60px 24px 80px;
  }

  .editorialTitle{
    font-size:46px;

    line-height:1;
  }

  .editorialText{
    font-size:16px;

    line-height:1.7;
  }

  .editorialButton{
    width:100%;
  }

}

/* WORKSHOPS */

.workshopsSection{
  padding:120px 8vw;
  background:#efe7dc;
}

.workshopGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:50px;
}

.workshopCard{
  background:rgba(255,255,255,.7);
  border:1px solid var(--line);
  padding:42px;
  min-height:280px;
}

.workshopCard span{
  color:var(--wine);
  font-size:12px;
}

.workshopCard h3{
  margin-top:80px;
  font-size:32px;
  font-weight:400;
}

/* QUOTE / FOOTER */

.quoteSection{
  min-height:70vh;
  display:grid;
  place-items:center;
  padding:100px 8vw;
  background:#161311;
  color:white;
  text-align:center;
}

.quoteSection p{
  max-width:1000px;
  font-size:clamp(44px,8vw,92px);
  line-height:.94;
}

.footer{
  padding:50px 8vw;
  background:#161311;
  border-top:1px solid rgba(255,255,255,.08);
  color:white;
  display:flex;
  justify-content:space-between;
  gap:20px;
}

.footer p,
.footer a{
  margin-top:10px;
  font-family:Arial;
  color:rgba(255,255,255,.65);
  text-decoration:none;
}

.footerLinks{
  display:flex;
  gap:20px;
}

/* LIGHTBOX */

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(22,19,17,.82);
  backdrop-filter:blur(12px);
  z-index:500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  opacity:0;
  visibility:hidden;
  transition:.35s ease;
}

.lightbox.active{
  opacity:1;
  visibility:visible;
}

.lightboxContent{
  width:min(1100px, 100%);
  background:var(--white);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:620px;
}

.lightboxImage{
  background-size:cover;
  background-position:center;
}

.lightboxInfo{
  padding:70px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.lightboxInfo .sectionLabel{
  color:var(--wine);
}

.lightboxInfo h3{
  font-size:clamp(42px,5vw,72px);
  font-weight:400;
  line-height:.95;
}

.lightboxInfo p{
  margin-top:24px;
  line-height:1.8;
  font-family:Arial;
  color:var(--muted);
}

.lightboxInfo ul{
  list-style:none;
  margin:28px 0;
  font-family:Arial;
  color:var(--muted);
}

.lightboxInfo li{
  margin-bottom:10px;
}

.lightboxClose{
  position:absolute;
  top:28px;
  right:32px;
  width:46px;
  height:46px;
  border-radius:50%;
  border:0;
  background:var(--white);
  font-size:28px;
  cursor:pointer;
}

/* REVEAL */

.reveal{
  opacity:0;
  transform:translateY(60px);
  transition:1s ease;
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* ANIMATIONS */

@keyframes floating{
  0%,100%{
    transform:translateY(0) rotateY(8deg);
  }

  50%{
    transform:translateY(-20px) rotateY(2deg);
  }
}

/* RESPONSIVE */

@media(max-width:980px){

  .artistSection,
  .galleryGrid,
  .workshopGrid{
    grid-template-columns:1fr;
  }



  .nav{
    display:none;
  }

  .mobileBtn{
    display:block;
  }

  .headerActions{
    gap:10px;
  }

  .searchBox.active input{
    width:150px;
  }
}

@media(max-width:768px){

  .header{
    padding:0 20px;
  }

  .logo{
    font-size:10px;
    letter-spacing:.22em;
  }

  .searchBox,
  .translateBtn,
  .cartWrap{
    display:none;
  }

  .hero{
    min-height:240vh;
  }

  .heroImage,
  .heroTextOverlay{
    top:76px;
    left:14px;
    width:calc(100% - 28px);
    height:calc(100vh - 96px);
    border-radius:0 0 70px 70px;
  }

  .hero h1{
    font-size:clamp(48px,16vw,82px);
  }

  .hero p{
    font-size:14px;
    padding:0 10px;
  }

  .curtain{
    width:46vw;
  }

  .curtain img{
    width:clamp(150px, 34vw, 240px);
  }

  .curtainLeft{
    left:-24vw;
  }

  .curtainRight{
    right:-24vw;
  }


  .artistImageWrap{
    min-height:520px;
  }

  .artistMainImage{
    height:430px;
  }

  .artistSection,
  .workshopsSection{
    padding:90px 6vw;
  }

  .editorialSection{
    padding:0;
  }

  .editorialImage{
    height:360px;
  }

  

  .lightbox{
    padding:18px;
  }

  .lightboxContent{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .lightboxImage{
    height:360px;
  }

  .lightboxInfo{
    padding:36px;
  }

  .footer{
    flex-direction:column;
  }
}
/* =========================
   CART FUNCTIONAL
========================= */

.cartItems{
  max-height:260px;
  overflow:auto;
}

.emptyCart{
  font-family:Arial;
  color:var(--muted);
  font-size:13px;
  padding:12px 0;
}

.cartProduct{
  padding:12px 0;
  border-bottom:1px solid var(--line);
}

.cartProductTop{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-family:Arial;
  font-size:13px;
}

.cartProductControls{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.qtyControls{
  display:flex;
  align-items:center;
  gap:8px;
}

.qtyControls button,
.removeCartItem{
  border:1px solid var(--line);
  background:var(--white);
  border-radius:50%;
  width:28px;
  height:28px;
  cursor:pointer;
}

.removeCartItem{
  border-radius:999px;
  width:auto;
  padding:0 10px;
  font-size:11px;
}

.cartSummary{
  display:flex;
  justify-content:space-between;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-family:Arial;
}

.cartCheckout{
  width:100%;
  margin-top:16px;
  text-align:center;
  background:black;
  color:white;
  border:0;
  border-radius:999px;
  padding:12px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  cursor:pointer;
}

/* =========================
   CHECKOUT
========================= */

.checkoutSection{
  display:none;
  padding:130px 8vw;
  background:var(--bg);
}

.checkoutSection.active{
  display:block;
}

.checkoutHeader{
  max-width:760px;
  margin-bottom:60px;
}

.checkoutHeader .sectionLabel{
  color:var(--wine);
}

.checkoutHeader h2{
  font-size:clamp(44px,6vw,82px);
  font-weight:400;
  line-height:.95;
}

.checkoutHeader p{
  margin-top:22px;
  font-family:Arial;
  color:var(--muted);
}

.checkoutGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
}

.checkoutForm,
.checkoutSummary{
  background:var(--white);
  border:1px solid var(--line);
  padding:42px;
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}

.formGroup{
  margin-bottom:20px;
}

.formGroup label{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.formGroup input,
.formGroup textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  padding:14px 16px;
  font-family:Arial;
}

.formGroup textarea{
  min-height:120px;
  resize:vertical;
}

.formRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.checkoutSummary h3{
  font-size:34px;
  font-weight:400;
  margin-bottom:24px;
}

.checkoutItem{
  display:flex;
  justify-content:space-between;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-family:Arial;
}

.checkoutTotal{
  display:flex;
  justify-content:space-between;
  margin-top:24px;
  font-size:20px;
}

.paypalBtn{
  width:100%;
  margin-top:28px;
  border:0;
  border-radius:999px;
  background:#ffc439;
  color:#111;
  padding:15px;
  font-weight:bold;
  cursor:pointer;
}

.checkoutSummary small{
  display:block;
  margin-top:14px;
  font-family:Arial;
  color:var(--muted);
}

/* =========================
   CLASS LIGHTBOX
========================= */

.workshopPreview{
  cursor:pointer;
}

.classLightbox{
  position:fixed;
  inset:0;
  z-index:600;
  background:rgba(22,19,17,.82);
  backdrop-filter:blur(12px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  opacity:0;
  visibility:hidden;
  transition:.35s ease;
}

.classLightbox.active{
  opacity:1;
  visibility:visible;
}

.classLightboxContent{
  width:min(1180px,100%);
  background:var(--white);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  min-height:650px;
}

.classGallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:10px;
}

.classImage{
  background-size:cover;
  background-position:center;
}

.classImage1{
  grid-row:span 2;
  background-image:url('./images/imagen_base.jpg');
}

.classImage2{
  background-image:url('./images/art_2.png');
}

.classImage3{
  background-image:url('./images/regina-portrait.png');
}

.classInfo{
  padding:70px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.classInfo .sectionLabel{
  color:var(--wine);
}

.classInfo h3{
  font-size:clamp(42px,5vw,72px);
  line-height:.95;
  font-weight:400;
}

.classInfo p{
  margin-top:24px;
  font-family:Arial;
  line-height:1.8;
  color:var(--muted);
}

.scheduleBox{
  margin:30px 0;
  padding:24px;
  background:#f5efe7;
}

.scheduleBox h4{
  font-weight:400;
  font-size:22px;
  margin-bottom:14px;
}

.scheduleBox ul{
  list-style:none;
  font-family:Arial;
  color:var(--muted);
}

.scheduleBox li{
  margin-bottom:10px;
}

.classLightboxClose{
  position:absolute;
  top:28px;
  right:32px;
  width:46px;
  height:46px;
  border-radius:50%;
  border:0;
  background:var(--white);
  font-size:28px;
  cursor:pointer;
}

.whatsappBtn{
  width:max-content;
}

@media(max-width:768px){
  .checkoutGrid,
  .classLightboxContent{
    grid-template-columns:1fr;
  }

  .checkoutSection{
    padding:90px 6vw;
  }

  .checkoutForm,
  .checkoutSummary,
  .classInfo{
    padding:34px;
  }

  .formRow{
    grid-template-columns:1fr;
  }

  .classGallery{
    height:420px;
  }

  .classLightbox{
    padding:18px;
    overflow:auto;
  }

  .classLightboxContent{
    min-height:auto;
  }
}
/* Content assets and the requested navbar typography. */
.header .logo {display:flex; flex-direction:column; gap:4px; letter-spacing:0;}
.header .logo span {font-family:Georgia, 'Times New Roman', serif; font-size:32px; font-weight:400; line-height:1; text-transform:none;}
.header .logo small {font-family:Arial,sans-serif; font-size:9px; letter-spacing:2px; line-height:1.3;}
.header .nav a {font-family:Arial,sans-serif;}
.header .cartBtn {text-decoration:none; color:var(--text);}
.artLink {text-decoration:none; font-family:Arial,sans-serif;}
.artistMainImage {background-position:center;}
.editorialImage {background-image:url('./images/anuncio_awars.png');background-size:contain;background-color:var(--white);}
@media(max-width:768px){.header .logo span{font-size:30px;} .header .logo small{font-size:8px;letter-spacing:1.8px;}.header .translateBtn{display:block;}}

/* Open the existing mobile menu using the header palette. */
@media(max-width:1100px){.nav.active{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;padding:24px 20px;gap:22px;background:var(--bg);border-bottom:1px solid var(--line);}.header .nav a{font-size:13px;}}


/* =========================================
   REGINA WEST — WORKSHOPS EXTENSION
   ========================================= */

.workshopsSection .workshopGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workshopsSection .workshopCard {
  cursor: pointer;
  transition: transform .3s ease, box-shadow .3s ease;
}

.workshopsSection .workshopCard:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(40, 25, 20, .09);
}

.workshopsSection .workshopCard:focus-visible {
  outline: 2px solid var(--wine);
  outline-offset: 4px;
}

/* Próximas fechas */

.workshopDatesBanner {
  margin-top: 55px;
  padding: clamp(35px, 6vw, 75px);
  text-align: center;
  background: #f7f1e9;
  border: 1px solid var(--line);
}

.workshopDatesBanner h3 {
  max-width: 720px;
  margin: 18px auto;
  font-size: clamp(32px, 4vw, 58px);
  font-weight: 400;
  line-height: 1.1;
}

.workshopDatesBanner p {
  max-width: 560px;
  margin: 0 auto 28px;
  font-family: Arial, sans-serif;
  color: var(--muted);
  line-height: 1.7;
}

.workshopDatesBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 25px;
  background: var(--wine);
  color: #fff;
  text-decoration: none;
  transition: opacity .25s ease, transform .25s ease;
}

.workshopDatesBtn:hover {
  color: #fff;
  opacity: .88;
  transform: translateY(-2px);
}

/* Contenido del modal */

#workshopDetailBox {
  max-height: 240px;
  overflow-y: auto;
}

#workshopDetailBox h4 {
  margin: 0 0 8px;
  font-size: 19px;
}

#workshopDetailBox p {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.65;
}

#workshopDetailBox p:last-child {
  margin-bottom: 0;
}

/* Responsive */

@media (max-width: 992px) {
  .workshopsSection .workshopGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .workshopsSection .workshopGrid {
    grid-template-columns: 1fr;
  }

  .workshopDatesBanner {
    margin-top: 35px;
    padding: 35px 22px;
  }

  #workshopDetailBox {
    max-height: none;
  }
}

/* RECONOCIMIENTO */

.rwRecognition {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(36px, 5vw, 90px);
  padding: clamp(70px, 8vw, 140px) 6vw;
  background: #ece8e3;
  color: #161311;
}

.rwRecognition__content {
  max-width: 560px;
}

.rwRecognition__eyebrow {
  display: block;
  margin-bottom: 28px;
  color: #6e2435;
  font-size: 11px;
  letter-spacing: .3em;
  line-height: 1.8;
  text-transform: uppercase;
}

.rwRecognition__content h2 {
  margin: 0 0 30px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5.5vw, 84px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.rwRecognition__content p {
  margin: 0;
  color: #6e665d;
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.8;
}

.rwRecognition__link {
  display: inline-block;
  margin-top: 34px;
  padding: 18px 28px;
  border: 1px solid #161311;
  border-radius: 999px;
  background: #161311;
  color: #fffaf4;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: .06em;
  text-align: center;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.rwRecognition__link:hover {
  background: transparent;
  color: #161311;
}

.rwRecognition__link:focus-visible {
  outline: 2px solid #6e2435;
  outline-offset: 5px;
}

/* Dos fotos completas, sin recortar las obras */

.rwRecognition__photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(14px, 2vw, 30px);
}

.rwRecognition__photo {
  margin: 0;
  padding: clamp(8px, 1vw, 14px);
  background: #fffaf4;
  box-shadow: 0 20px 50px rgba(22, 19, 17, .09);
}

.rwRecognition__photo:nth-child(2) {
  margin-top: 70px;
}

.rwRecognition__photo img {
  display: block;
  width: 100%;
  height: auto;
}

/* Tablet y móvil */

@media (max-width: 900px) {
  .rwRecognition {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .rwRecognition__content {
    max-width: 650px;
  }

  .rwRecognition__photos {
    width: 100%;
    max-width: 720px;
    justify-self: center;
  }

  .rwRecognition__photo:nth-child(2) {
    margin-top: 40px;
  }
}

@media (max-width: 480px) {
  .rwRecognition {
    padding: 64px 6vw;
  }

  .rwRecognition__eyebrow {
    margin-bottom: 20px;
    letter-spacing: .2em;
  }

  .rwRecognition__content h2 {
    font-size: 44px;
    margin-bottom: 24px;
  }

  .rwRecognition__photos {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .rwRecognition__photo:nth-child(2) {
    margin-top: 0;
  }
}