/* Página de catálogo de macetas: comparte la identidad visual de la portada. */
.catalog-page { background: var(--paper); }
.catalog-page .main-nav a[aria-current="page"] { color: var(--terracotta-dark); }
.catalog-page .main-nav a[aria-current="page"]::after { right: 0; }
.catalog-hero {
  min-height: 480px; position: relative; overflow: hidden; display: flex; align-items: center;
  padding: 75px clamp(28px, 10vw, 150px); background: var(--cream);
}
.catalog-hero-copy { position: relative; z-index: 2; max-width: 650px; }
.catalog-hero .eyebrow { margin-bottom: 22px; }
.catalog-kicker, .custom-kicker { margin: 0 0 13px; color: #8a786a; font: italic 17px var(--serif); }
.catalog-hero h1 { max-width: 620px; font-size: clamp(52px, 6.2vw, 82px); }
.catalog-hero h1 em { display: block; }
.catalog-intro { max-width: 480px; margin: 24px 0 28px; color: #6f6a5e; font-size: 14px; line-height: 1.9; }
.catalog-cta { display: inline-flex; align-items: center; gap: 15px; padding-bottom: 8px; color: #805b49; border-bottom: 1px solid #c69a7d; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.catalog-cta span { font-size: 17px; }
.catalog-side-note { position: absolute; bottom: 27px; left: clamp(28px, 10vw, 150px); color: #988b7c; font-size: 8px; letter-spacing: .24em; }
.catalog-ornament { position: absolute; width: 370px; height: 370px; right: clamp(25px, 10vw, 150px); top: 50%; transform: translateY(-50%); border-radius: 50%; background: #e9dfd2; }
.catalog-ornament::before, .catalog-ornament::after { content: ''; position: absolute; border: 1px solid rgba(157,119,91,.35); border-radius: 50%; inset: 25px; }
.catalog-ornament::after { inset: 52px; border-color: rgba(157,119,91,.24); }
.ornament-orbit { position: absolute; z-index: 1; display: block; border: 1px solid rgba(157,119,91,.5); border-radius: 50%; }
.orbit-one { width: 255px; height: 255px; left: 57px; top: 57px; }
.orbit-two { width: 178px; height: 178px; left: 96px; top: 96px; border-color: rgba(135,151,125,.55); }
.ornament-flower { position: absolute; z-index: 2; color: #c47f79; font-size: 66px; line-height: 1; text-shadow: 0 8px 20px rgba(117,82,65,.08); }
.flower-one { left: 76px; top: 81px; transform: rotate(-15deg); }
.flower-two { right: 70px; bottom: 72px; color: #87977d; font-size: 54px; transform: rotate(15deg); }
.ornament-label { position: absolute; z-index: 2; inset: 0; display: grid; place-content: center; text-align: center; color: #786d5f; font-size: 10px; letter-spacing: .24em; line-height: 1.8; }
.collection-section { padding: 98px clamp(24px, 7vw, 110px) 110px; }
.section-heading { max-width: 620px; margin: 0 auto 48px; text-align: center; }
.section-heading .eyebrow { justify-content: center; margin-bottom: 19px; }
.section-heading h2 { font-size: clamp(43px, 4.8vw, 64px); }
.section-heading > p:last-child { max-width: 520px; margin: 19px auto 0; color: #797164; font-size: 13px; line-height: 1.9; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 42px); max-width: 1260px; margin: 0 auto; align-items: start; }
.product-card { min-width: 0; background: #fffdfa; border: 1px solid rgba(120,96,77,.13); box-shadow: 0 14px 38px rgba(77,61,45,.055); }
.product-photo { position: relative; display: block; overflow: hidden; background: #eee9e2; aspect-ratio: 4 / 4.7; }
.product-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.product-photo:hover img { transform: scale(1.035); }
.photo-number { position: absolute; left: 17px; top: 17px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(251,248,243,.9); color: #8a6e5d; font: 13px var(--serif); }
.product-info { padding: 26px 25px 27px; }
.product-category { margin: 0 0 10px; color: #987d69; font-size: 8px; font-weight: 600; letter-spacing: .21em; }
.product-info h3 { margin: 0; color: #4a463c; font: 400 clamp(25px, 2.3vw, 31px)/1.15 var(--serif); }
.product-info > p:not(.product-category) { min-height: 76px; margin: 14px 0 20px; color: #777064; font-size: 12px; line-height: 1.8; }
.product-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; padding: 14px 0; border-top: 1px solid rgba(112,98,80,.18); border-bottom: 1px solid rgba(112,98,80,.18); color: #817668; font-size: 10px; }
.product-meta strong { color: #514b40; font-size: 11px; font-weight: 600; text-align: right; }
.product-contact { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; padding-bottom: 7px; border-bottom: 1px solid #c69a7d; color: #835b47; font-size: 9px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.product-contact span { font-size: 15px; }
.custom-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .88fr); align-items: center; gap: clamp(35px, 7vw, 100px); padding: 90px clamp(24px, 10vw, 150px); background: #e9e8dc; }
.custom-photo-wrap { position: relative; min-height: 420px; overflow: hidden; background: #d9d9cf; }
.custom-photo-wrap img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: center 53%; }
.custom-photo-caption { position: absolute; right: 17px; bottom: 16px; padding: 9px 13px; background: rgba(251,248,243,.88); color: #6e6558; font: italic 12px var(--serif); }
.custom-copy { max-width: 500px; }
.custom-copy .eyebrow { margin-bottom: 18px; }
.custom-copy h2 { font-size: clamp(43px, 4.6vw, 62px); }
.custom-copy > p:not(.eyebrow):not(.custom-kicker) { margin: 22px 0 25px; color: #6e7062; font-size: 13px; line-height: 1.95; }
.custom-meta { margin-top: 25px; }
.catalog-end { padding: 84px 20px 91px; text-align: center; background: var(--paper); }
.catalog-end .eyebrow { justify-content: center; margin-bottom: 17px; }
.catalog-end h2 { font-size: clamp(43px, 4.8vw, 62px); }
.catalog-end > p:not(.eyebrow) { margin: 17px 0 25px; color: #797164; font-size: 13px; }
.catalog-end .whatsapp-link { display: inline-flex; }
@media (max-width: 1000px) {
  .catalog-ornament { right: 4%; width: 310px; height: 310px; }
  .catalog-ornament::before { inset: 20px; }
  .catalog-ornament::after { inset: 43px; }
  .orbit-one { width: 220px; height: 220px; left: 45px; top: 45px; }
  .orbit-two { width: 155px; height: 155px; left: 77px; top: 77px; }
  .flower-one { left: 57px; top: 68px; font-size: 56px; }
  .flower-two { right: 55px; bottom: 57px; font-size: 48px; }
  .catalog-hero { padding-left: 7%; }
  .catalog-side-note { left: 7%; }
  .product-grid { gap: 18px; }
  .product-info { padding: 22px 19px; }
  .custom-section { padding-inline: 7%; }
}
@media (max-width: 760px) {
  .catalog-hero { min-height: 520px; padding: 70px 8% 90px; align-items: flex-start; }
  .catalog-hero-copy { max-width: 560px; }
  .catalog-hero h1 { font-size: clamp(49px, 10vw, 68px); }
  .catalog-ornament { width: 190px; height: 190px; top: auto; bottom: -76px; right: -22px; transform: none; opacity: .8; }
  .catalog-ornament::before { inset: 14px; }
  .catalog-ornament::after { inset: 30px; }
  .orbit-one { width: 140px; height: 140px; left: 25px; top: 25px; }
  .orbit-two { width: 95px; height: 95px; left: 48px; top: 48px; }
  .ornament-flower { font-size: 34px; }
  .flower-one { left: 38px; top: 41px; }
  .flower-two { right: 35px; bottom: 35px; font-size: 30px; }
  .ornament-label { font-size: 6px; }
  .catalog-side-note { bottom: 24px; left: 8%; }
  .collection-section { padding: 74px 7% 80px; }
  .product-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
  .product-info > p:not(.product-category) { min-height: auto; }
  .custom-section { grid-template-columns: 1fr; gap: 33px; padding: 70px 8%; }
  .custom-photo-wrap, .custom-photo-wrap img { min-height: 360px; max-height: 560px; }
  .custom-copy { max-width: 650px; }
}
@media (max-width: 520px) {
  .catalog-hero { min-height: 490px; padding-top: 61px; }
  .catalog-hero h1 { font-size: 49px; }
  .catalog-intro { max-width: 330px; font-size: 13px; }
  .product-grid { grid-template-columns: 1fr; gap: 27px; max-width: 420px; }
  .product-photo { aspect-ratio: 4 / 4.4; }
  .product-info { padding: 24px 23px 26px; }
  .product-info h3 { font-size: 29px; }
  .product-info > p:not(.product-category) { min-height: 0; }
  .custom-photo-wrap, .custom-photo-wrap img { min-height: 300px; }
  .catalog-end { padding: 68px 8% 74px; }
}
