/* Rediseño integral de Fiestas Patrias */
:root {
  --patria-green: #14633f;
  --patria-green-deep: #0d3e2d;
  --patria-red: #a5283b;
  --patria-red-deep: #711c2b;
  --patria-cream: #fff9e8;
  --patria-paper: #f5efdc;
  --patria-gold: #d0a64b;
}

body {
  overflow-x: hidden;
  background: var(--patria-paper);
}

.season-announcement {
  min-height: 46px;
  padding: 11px 24px;
  background: linear-gradient(90deg, var(--patria-green-deep) 0 38%, #f5efdc 38% 62%, var(--patria-red-deep) 62% 100%);
  color: #fff;
  font-size: 12px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.season-announcement a {
  padding: 4px 18px;
  border-radius: 99px;
  background: rgba(13, 62, 45, .9);
  box-shadow: 0 7px 20px rgba(21, 32, 26, .18);
}

.season-announcement a > span,
.season-announcement strong {
  color: #f2cf75;
}

.contact-bar {
  background: var(--patria-red-deep);
}

.site-header {
  min-height: 108px;
  background: var(--patria-cream);
}

.site-header:after {
  height: 5px;
  background: linear-gradient(90deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%);
}

.brand-mark,
.brand-script {
  color: var(--patria-red-deep);
}

.brand-mark:after {
  background: var(--patria-green);
}

.brand-small,
.desktop-nav a {
  color: var(--patria-green-deep);
}

.desktop-nav .season-nav,
.mobile-menu .season-nav {
  color: var(--patria-red);
  font-weight: 850;
}

.desktop-nav .season-nav:after {
  height: 3px;
  background: var(--patria-green);
}

.wa-button,
.wa-button--header {
  background: linear-gradient(135deg, var(--patria-green), #1e7b51);
  box-shadow: 0 15px 34px rgba(13, 62, 45, .22);
}

.hero {
  width: 100%;
  min-height: 750px;
  padding: 68px max(32px, calc((100vw - 1380px) / 2)) 82px;
  gap: clamp(55px, 7vw, 120px);
  background: linear-gradient(90deg, var(--patria-paper) 0 54%, var(--patria-green-deep) 54% 100%);
  position: relative;
  overflow: hidden;
}

.hero:before {
  content: "";
  position: absolute;
  left: 54%;
  top: 0;
  bottom: 0;
  width: 9px;
  background: linear-gradient(90deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%);
}

.hero-visual {
  height: 620px;
}

.hero-frame {
  border: 2px solid var(--patria-green);
  box-shadow: 18px 18px 0 rgba(165, 40, 59, .12);
}

.hero-frame:before {
  border-color: rgba(208, 166, 75, .6);
}

.hero-photo--main {
  border: 8px solid #fffdf3;
  box-shadow: 0 30px 75px rgba(13, 62, 45, .18);
}

.hero-photo--accent {
  border: 9px solid var(--patria-red);
  outline: 6px solid #fffdf3;
}

.hero-seal {
  background: var(--patria-red-deep);
  border: 3px solid var(--patria-gold);
  color: #fff;
}

.hero-seal small {
  color: #f8dc8c;
}

.hero-copy {
  color: var(--patria-cream);
}

.hero-patria-badge {
  width: max-content;
  margin-bottom: 26px;
  display: flex;
  align-items: stretch;
  border: 1px solid rgba(255, 249, 232, .4);
  color: var(--patria-cream);
  box-shadow: 0 14px 35px rgba(0, 0, 0, .16);
}

.hero-patria-badge > span {
  min-width: 76px;
  padding: 10px 15px 8px;
  display: grid;
  place-items: center;
  background: var(--patria-red);
  color: #fff;
  font-family: var(--display);
  font-size: 50px;
  line-height: 1;
}

.hero-patria-badge > div {
  padding: 11px 18px 9px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
}

.hero-patria-badge small {
  color: #f2cf75;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hero-patria-badge strong {
  margin-top: 3px;
  font-family: var(--display);
  font-size: 20px;
  font-weight: 600;
}

.hero .eyebrow {
  color: #f2cf75;
}

.hero .eyebrow:before {
  background: var(--patria-red);
}

.hero h1 {
  color: var(--patria-cream);
  font-size: clamp(60px, 5.8vw, 90px);
}

.hero h1 em {
  color: #f2cf75;
}

.hero-text {
  color: rgba(255, 249, 232, .82);
}

.hero .wa-button {
  background: linear-gradient(135deg, var(--patria-red), var(--patria-red-deep));
  box-shadow: 0 16px 38px rgba(42, 5, 12, .25);
}

.hero .text-link {
  color: var(--patria-cream);
  border-bottom-color: #f2cf75;
}

.hero-phone,
.hero-phone strong,
.shipping-note {
  color: rgba(255, 249, 232, .82);
}

.shipping-note:before {
  background: #f2cf75;
  box-shadow: 0 0 0 4px rgba(242, 207, 117, .14);
}

.signature-strip {
  width: min(100% - 64px, 1320px);
  margin-top: -28px;
  background: #fffdf3;
  border: 0;
  box-shadow: 0 20px 60px rgba(13, 62, 45, .17);
}

.signature-strip:after {
  border-color: rgba(208, 166, 75, .5);
}

.signature-strip > div {
  border-top: 6px solid var(--patria-green);
}

.signature-strip > div:nth-child(2) {
  border-top-color: var(--patria-gold);
}

.signature-strip > div:nth-child(3) {
  border-top-color: var(--patria-red);
}

.signature-strip > div:nth-child(4) {
  border-top-color: var(--patria-green-deep);
}

.signature-strip span,
.signature-strip strong {
  color: var(--patria-green-deep);
}

.seasonal-section {
  margin-top: 85px;
  background: linear-gradient(120deg, var(--patria-red-deep), #8b2335 58%, #5b1523);
}

.seasonal-section:before {
  background: radial-gradient(circle, rgba(208, 166, 75, .3), rgba(208, 166, 75, 0) 70%);
}

.seasonal-section:after {
  background: radial-gradient(circle, rgba(13, 62, 45, .55), rgba(13, 62, 45, 0) 70%);
}

.seasonal-pattern {
  height: 42px;
  background: linear-gradient(135deg, var(--patria-green) 25%, transparent 25%) -21px 0/42px 42px,
              linear-gradient(225deg, var(--patria-green) 25%, transparent 25%) -21px 0/42px 42px,
              linear-gradient(315deg, #fffdf3 25%, transparent 25%) 0 0/42px 42px,
              linear-gradient(45deg, #fffdf3 25%, var(--patria-red) 25%) 0 0/42px 42px;
}

.seasonal-kicker,
.seasonal-kicker:before {
  color: #f5d681;
}

.seasonal-kicker:before {
  background: #f5d681;
}

.seasonal-details span {
  background: rgba(255, 249, 232, .08);
  border-color: rgba(245, 214, 129, .5);
}

.wa-button--season {
  background: linear-gradient(135deg, var(--patria-green), var(--patria-green-deep));
}

.seasonal-photo--main {
  border: 8px solid #fffdf3;
}

.seasonal-photo--accent {
  border-color: var(--patria-green-deep);
}

.seasonal-plaque {
  border: 3px solid var(--patria-gold);
}

.seasonal-plaque strong {
  color: var(--patria-red);
}

.seasonal-plaque span,
.seasonal-plaque small {
  color: var(--patria-green);
}

.collections {
  padding-top: 125px;
  padding-bottom: 135px;
  position: relative;
}

.collections:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 42px;
  width: 130px;
  height: 6px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%);
}

.collections .section-kicker,
.essence-section .section-kicker,
.contact-section .section-kicker {
  color: var(--patria-green);
}

.collections h2,
.essence-section h2,
.contact-section h2 {
  color: var(--patria-green-deep);
}

.collection-card {
  border: 0;
  border-top: 7px solid var(--patria-green);
  background: #fffdf3;
  box-shadow: 0 20px 50px rgba(13, 62, 45, .12);
}

.collection-card:nth-child(2) {
  border-top-color: var(--patria-red);
}

.collection-card:nth-child(3) {
  border-top-color: var(--patria-gold);
}

.collection-card .collection-content > span,
.collection-card .collection-content a {
  color: var(--patria-green);
}

.collection-card:nth-child(2) .collection-content > span,
.collection-card:nth-child(2) .collection-content a {
  color: var(--patria-red);
}

.collection-content h3 {
  color: var(--patria-green-deep);
}

.gallery-section {
  background: var(--patria-green-deep);
  border-top: 10px solid var(--patria-red);
  border-bottom: 10px solid var(--patria-gold);
}

.gallery-section .section-kicker {
  color: #f3ce73;
}

.gallery-section h2 {
  color: var(--patria-cream);
}

.gallery-section .section-heading--split > p {
  color: rgba(255, 249, 232, .75);
}

.gallery-item {
  border: 4px solid rgba(255, 253, 243, .82);
  background: #fffdf3;
}

.gallery-item:nth-child(3n + 1) {
  border-color: rgba(67, 138, 98, .95);
}

.gallery-item:nth-child(3n) {
  border-color: rgba(187, 68, 82, .95);
}

.essence-section {
  position: relative;
}

.essence-section:before {
  content: "";
  position: absolute;
  left: 0;
  top: 110px;
  bottom: 110px;
  width: 8px;
  background: linear-gradient(180deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%);
}

.essence-image:before {
  border-color: var(--patria-green);
}

.essence-image span {
  background: var(--patria-red-deep);
  border-color: var(--patria-gold);
  color: #fff8df;
}

.essence-copy .text-link {
  color: var(--patria-red);
  border-bottom-color: var(--patria-green);
}

.catalog-panel {
  background: linear-gradient(125deg, var(--patria-red-deep), #8f2437);
  border-left: 12px solid var(--patria-green);
  border-right: 12px solid #fffdf3;
}

.catalog-copy .section-kicker {
  color: #f3ce73;
}

.catalog-sheet--back {
  background: var(--patria-green);
}

.catalog-sheet--front {
  background: var(--patria-cream);
  color: var(--patria-red-deep);
}

.coming-soon {
  border-color: rgba(243, 206, 115, .55);
  color: #f8da89;
}

.contact-section {
  border-top: 0;
  position: relative;
  background: linear-gradient(90deg, #f4efdf, #fffdf5 50%, #f7e8e8);
}

.contact-section:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 8px;
  background: linear-gradient(90deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%);
}

.delivery-callout {
  border-left-color: var(--patria-red);
  background: #fffdf3;
}

.contact-card {
  border: 2px solid var(--patria-green);
  background: #fffdf3;
  box-shadow: 16px 16px 0 rgba(165, 40, 59, .1);
}

.contact-card > div > span {
  background: #e3efe7;
  color: var(--patria-green);
}

.contact-card > div:nth-child(2) > span {
  background: #f3e4e5;
  color: var(--patria-red);
}

.contact-socials a {
  color: var(--patria-green);
}

footer {
  border-top: 10px solid transparent;
  border-image: linear-gradient(90deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%) 1;
  background: var(--patria-green-deep);
}

.brand--footer .brand-mark {
  color: #f2cf75;
}

.brand--footer .brand-script,
.brand--footer .brand-small {
  color: #fffdf3;
}

@media (max-width: 1120px) {
  .hero {
    padding-inline: max(20px, calc((100vw - 1000px) / 2));
    gap: 42px;
  }

  .hero:before {
    left: 52%;
  }

  .hero h1 {
    font-size: clamp(53px, 6vw, 72px);
  }
}

@media (max-width: 760px) {
  .season-announcement {
    min-height: 52px;
    padding: 8px 12px;
    background: linear-gradient(90deg, var(--patria-green-deep) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red-deep) 66.666%);
  }

  .season-announcement a {
    padding: 7px 12px;
    background: rgba(13, 62, 45, .93);
    font-size: 10px;
  }

  .contact-bar {
    background: var(--patria-red-deep);
  }

  .site-header {
    width: 100%;
    min-height: 84px;
    padding: 0 16px;
  }

  .site-header:after {
    height: 5px;
  }

  .mobile-menu summary {
    border: 2px solid var(--patria-green);
    background: #fffdf3;
  }

  .mobile-menu nav {
    width: 260px;
    border: 0;
    border-top: 6px solid var(--patria-red);
    background: #fffdf3;
  }

  .hero {
    width: 100%;
    padding: 36px 20px 66px;
    gap: 34px;
    background: var(--patria-green-deep);
  }

  .hero:before {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: auto;
    height: 9px;
    background: linear-gradient(90deg, var(--patria-green) 0 33.333%, #fffdf3 33.333% 66.666%, var(--patria-red) 66.666%);
  }

  .hero-copy {
    text-align: center;
  }

  .hero-patria-badge {
    margin: 0 auto 24px;
  }

  .hero-patria-badge > span {
    min-width: 68px;
    font-size: 44px;
  }

  .hero-patria-badge > div {
    padding-inline: 14px;
    text-align: left;
  }

  .hero-patria-badge strong {
    font-size: 18px;
  }

  .hero .eyebrow {
    justify-content: center;
    color: #f2cf75;
  }

  .hero h1 {
    color: #fffdf3;
    font-size: clamp(49px, 14.5vw, 66px);
  }

  .hero h1 em {
    color: #f2cf75;
  }

  .hero-text {
    color: rgba(255, 249, 232, .84);
    font-size: 16px;
  }

  .hero .text-link {
    color: #fffdf3;
    border-bottom-color: #f2cf75;
  }

  .hero-phone,
  .hero-phone strong,
  .shipping-note {
    color: rgba(255, 249, 232, .82);
  }

  .hero-visual {
    height: 440px;
  }

  .hero-frame {
    inset: 3% 1% 0 4%;
    border-color: #f2cf75;
    box-shadow: 12px 12px 0 rgba(165, 40, 59, .55);
  }

  .hero-photo--main {
    left: 7%;
    width: 80%;
    height: 92%;
    border-width: 6px;
  }

  .hero-photo--accent {
    width: 42%;
    height: 35%;
    border: 6px solid var(--patria-red);
    outline: 4px solid #fffdf3;
  }

  .hero-seal {
    right: 1%;
    background: var(--patria-red-deep);
    border-color: #f2cf75;
  }

  .signature-strip {
    width: calc(100% - 30px);
    margin-top: -26px;
    background: #fffdf3;
  }

  .signature-strip > div,
  .signature-strip > div:nth-child(2),
  .signature-strip > div:nth-child(3),
  .signature-strip > div:nth-child(4) {
    border-top: 0;
    border-left: 6px solid var(--patria-green);
  }

  .signature-strip > div:nth-child(2) {
    border-left-color: var(--patria-gold);
  }

  .signature-strip > div:nth-child(3) {
    border-left-color: var(--patria-red);
  }

  .signature-strip > div:nth-child(4) {
    border-left-color: var(--patria-green-deep);
  }

  .seasonal-section {
    margin-top: 70px;
    background: linear-gradient(155deg, var(--patria-red-deep), #8c2638 65%, #56131f);
  }

  .seasonal-pattern {
    height: 34px;
    background-size: 34px 34px;
  }

  .seasonal-copy {
    text-align: center;
  }

  .seasonal-kicker {
    justify-content: center;
  }

  .seasonal-details {
    justify-content: center;
  }

  .seasonal-visual {
    height: 455px;
  }

  .seasonal-photo--main {
    inset: 0 12% 0 0;
    border-width: 6px;
  }

  .seasonal-plaque {
    right: 0;
    width: 160px;
    border-width: 2px;
  }

  .collections {
    padding-top: 100px;
  }

  .collections:before {
    top: 43px;
    width: 120px;
  }

  .collection-card {
    border-top-width: 7px;
  }

  .collection-image {
    height: 355px;
  }

  .gallery-section {
    border-top-width: 8px;
    border-bottom-width: 8px;
  }

  .gallery-section .section-heading {
    text-align: center;
  }

  .gallery-section .section-heading--split > p {
    color: rgba(255, 249, 232, .72);
  }

  .gallery-item {
    border-width: 3px;
  }

  .essence-section:before {
    left: -5px;
    top: 70px;
    bottom: 70px;
    width: 6px;
  }

  .essence-image span {
    max-width: 230px;
    text-align: center;
    line-height: 1.25;
  }

  .catalog-panel {
    border-left: 7px solid var(--patria-green);
    border-right: 7px solid #fffdf3;
    background: linear-gradient(155deg, var(--patria-red-deep), #8f2437);
  }

  .catalog-copy {
    text-align: center;
  }

  .catalog-copy .wa-button {
    margin-inline: auto;
  }

  .contact-section {
    background: linear-gradient(160deg, #f1ead4, #fffdf5 60%, #f5e0e2);
  }

  .contact-copy {
    text-align: center;
  }

  .delivery-callout {
    border-left: 0;
    border-top: 5px solid var(--patria-red);
    text-align: left;
  }

  .contact-card {
    box-shadow: 9px 9px 0 rgba(165, 40, 59, .12);
  }

  .wa-float {
    background: linear-gradient(90deg, var(--patria-green), #21885a);
    border: 2px solid #fffdf3;
    box-shadow: 0 14px 36px rgba(13, 62, 45, .38);
  }

  footer {
    border-top-width: 8px;
  }
}

@media (max-width: 390px) {
  .hero-patria-badge > span {
    min-width: 60px;
    padding-inline: 12px;
    font-size: 40px;
  }

  .hero-patria-badge small {
    font-size: 9px;
  }

  .hero-patria-badge strong {
    font-size: 16px;
  }

  .hero-visual {
    height: 400px;
  }

  .seasonal-visual {
    height: 410px;
  }
}
