/* ============================================================
   Señor Taco – Grad Catering Widget
   Palette  : Teal  #1a6b5c  |  Red   #c8222a  |  Gold  #f0a500
              Cream #f5efe0  |  Dark  #1a2e2a
   ============================================================ */

/* ── Google Fonts (load via PHP enqueue; fallback stack here) ── */
.st-grad-widget {
  --st-teal          : #1a6b5c;
  --st-red           : #c8222a;
  --st-gold          : #f0a500;
  --st-cream         : #f5efe0;
  --st-dark          : #1a2e2a;
  --st-white         : #ffffff;
  --st-radius        : 0px;
  --st-ribbon-shadow : #0d3d32;

  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto auto;
  gap: 0;
  background-color: var(--st-cream);
  border-radius: var(--st-radius);
  overflow: hidden;
  font-family: 'Nunito', 'Helvetica Neue', Arial, sans-serif;
  color: var(--st-dark);
  width: 100%;
  min-height: clamp(480px, 55vw, 620px);
}

/* ── Palm leaf decorations ── */
.st-grad__palm {
  position: absolute;
  width: 120px;
  height: 160px;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
}
.st-grad__palm--tl {
  top: -12px;
  left: -10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 845.5 1412'%3E%3Cpath fill='%231a6b5c' opacity='.55' d='M712.57,260.12c-107.62-35.65-185.08,12.36-233.54,63.99,29.31-64.45,44.22-154.36-29.71-240.31C409.18,37.13,346.55,7.76,303.68,0c0,0,6.29,15.32,15.58,40.49,7.03,19.01,18.72,36,34.18,49.1.11.09.22.18.33.28,16.04,13.53,34.54,23.74,53.05,33.67-21.82-1.66-42.7-5.23-62.42-10.68,1.47,4.56,2.96,9.19,4.44,13.9,3.81,12.07,9.49,23.51,17.12,33.6,1.49,1.98,3.04,3.91,4.63,5.82,12.44,14.9,27.65,27.17,42.92,39.19-16.23-4.16-31.65-9.4-46.19-15.69,1.94,7.2,3.84,14.45,5.67,21.75,1.71,6.82,4.35,13.39,8.07,19.37.19.31.39.62.58.91,7.67,11.87,18.49,21.57,29.4,31.08-9.89-2.27-19.26-5.01-28.09-8.2,3.25,15.62,6.07,31.15,8.3,46.31-32.51-65.93-94.03-134.36-209.42-135-65.5-.37-132.81,29.4-168.97,58.4,0,0,16.69,5.66,43.38,15.76,20.16,7.64,41.96,10.12,63.27,6.85.15-.02.3-.05.45-.07,22.07-3.43,43.18-11.16,64.08-19.07-16.57,16.35-34.02,30.62-52.17,42.65,4.68,1.99,9.45,4.04,14.27,6.14,12.35,5.37,25.49,8.8,38.92,9.72,2.63.18,5.26.29,7.9.34,20.65.42,41.12-3.22,61.43-7.08-14.67,10.13-29.65,18.85-44.84,26.12,7.14,3.47,14.28,7.02,21.42,10.64,6.67,3.39,13.79,5.85,21.18,7.05.39.06.77.11,1.14.17,14.88,2.13,30.22.22,45.48-1.9-8.73,6.35-17.47,11.97-26.2,16.82,13.07,7.33,25.85,14.87,38.11,22.6-71.67-20.01-166-20.34-243.84,68.17C23.57,478.38,1.85,548.7,0,595.02c0,0,15.22-8.88,40.36-22.39,18.99-10.19,35.17-25.02,46.7-43.24.09-.13.16-.26.24-.39,11.89-18.9,19.93-39.89,27.67-60.86,1.46,23.23.78,45.76-2.06,67.35,4.58-2.22,9.24-4.47,14-6.73,12.16-5.79,23.37-13.46,32.88-22.99,1.87-1.87,3.68-3.78,5.44-5.74,13.87-15.3,24.56-33.14,34.97-51-1.99,17.72-5.23,34.74-9.72,50.98,7.3-3.11,14.67-6.17,22.09-9.18,6.93-2.81,13.47-6.57,19.22-11.36.3-.25.59-.5.88-.75,11.37-9.83,20-22.66,28.41-35.56-.93,10.75-2.44,21.03-4.5,30.81,31.01-11.12,61.88-20.46,90.73-26.51-32.87,35.98-60.68,76.58-82.04,120.27-198.52,406.17,91.12,788.8-5.92,844.3h333.75c-144.08-27.93-180.76-140.67-214.79-214.87-77.26-168.7-124.44-362.19-75.02-545.27,5.21-19.47,11.82-39.29,19.3-58.02,20.22-50.62,48.22-98.66,84.06-139.87,11.49,37.69,17.25,84.73,19.51,133.54,8.25-5.63,17.18-10.92,26.77-15.89-8.72,12.69-17.3,25.56-22.07,39.81-.12.36-.24.73-.35,1.1-2.25,7.14-3.23,14.61-3.19,22.1.05,8,.02,15.98-.08,23.91,13.31-10.32,27.82-19.81,43.43-28.39-12.55,16.43-24.98,33.1-33.85,51.75-1.13,2.38-2.21,4.78-3.23,7.22-5.2,12.43-8.02,25.71-8.75,39.16-.28,5.25-.59,10.43-.9,15.51,18.89-10.84,39.46-20.05,61.5-27.54-16.44,15.14-32.8,30.56-45.75,48.75-.09.12-.18.24-.27.37-12.46,17.59-20.01,38.19-22.22,59.64-2.91,28.39-5.33,45.85-5.33,45.85,42.13-19.35,98.89-66.19,127.9-124.91,52.18-105.62,16.04-192.68-29.7-251.34,11.45,8.17,22.92,16.85,34.3,25.86,1.17-9.92,3.04-20.14,5.59-30.62,3.85,14.91,7.93,29.82,15.55,42.78.19.32.39.65.59.98,3.92,6.38,8.91,12.03,14.58,16.91,6.07,5.22,12.07,10.48,17.99,15.76.94-16.83,3.31-34,7.09-51.41,4.15,20.25,8.59,40.56,16.82,59.5,1.06,2.42,2.16,4.81,3.33,7.18,5.96,12.07,14.14,22.92,23.8,32.29,3.77,3.66,7.48,7.28,11.11,10.86,4.22-21.36,10.77-42.93,19.58-64.48.64,22.34,1.53,44.81,6.76,66.51.04.15.07.3.11.44,5.09,20.95,15.68,40.17,30.42,55.91,19.5,20.83,31.09,34.11,31.09,34.11,13.05-44.47,14.97-118.05-10.3-178.48-44.51-106.46-131.21-137.31-204.56-142.27,14.88-3.71,30.3-7.02,45.99-9.95-6.31-6.95-12.41-14.57-18.28-22.86,12.95,6.47,26.04,12.78,39.93,15.36.35.06.7.13,1.06.18,6.94,1.16,14.02,1.11,20.98.1,7.45-1.09,14.88-2.09,22.27-3.04-11.35-11.04-22.06-23.32-32.08-36.74,16.92,9.55,34.06,18.94,52.58,24.78,2.37.75,4.74,1.43,7.14,2.06,12.25,3.22,24.97,4.11,37.59,3.04,4.93-.41,9.78-.81,14.55-1.18-12.54-16.17-23.8-34.12-33.64-53.66,16.23,13.33,32.72,26.55,51.33,36.24.13.06.25.13.38.2,18.01,9.31,38.16,13.66,58.41,12.91,26.81-.98,43.37-1,43.37-1-23.5-36.69-74.49-83.43-132.93-102.79Z'/%3E%3C/svg%3E");
  transform: rotate(10deg) scaleX(-1);
}
.st-grad__palm--tr {
  top: -12px;
  right: -10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 845.5 1412'%3E%3Cpath fill='%231a6b5c' opacity='.55' d='M712.57,260.12c-107.62-35.65-185.08,12.36-233.54,63.99,29.31-64.45,44.22-154.36-29.71-240.31C409.18,37.13,346.55,7.76,303.68,0c0,0,6.29,15.32,15.58,40.49,7.03,19.01,18.72,36,34.18,49.1.11.09.22.18.33.28,16.04,13.53,34.54,23.74,53.05,33.67-21.82-1.66-42.7-5.23-62.42-10.68,1.47,4.56,2.96,9.19,4.44,13.9,3.81,12.07,9.49,23.51,17.12,33.6,1.49,1.98,3.04,3.91,4.63,5.82,12.44,14.9,27.65,27.17,42.92,39.19-16.23-4.16-31.65-9.4-46.19-15.69,1.94,7.2,3.84,14.45,5.67,21.75,1.71,6.82,4.35,13.39,8.07,19.37.19.31.39.62.58.91,7.67,11.87,18.49,21.57,29.4,31.08-9.89-2.27-19.26-5.01-28.09-8.2,3.25,15.62,6.07,31.15,8.3,46.31-32.51-65.93-94.03-134.36-209.42-135-65.5-.37-132.81,29.4-168.97,58.4,0,0,16.69,5.66,43.38,15.76,20.16,7.64,41.96,10.12,63.27,6.85.15-.02.3-.05.45-.07,22.07-3.43,43.18-11.16,64.08-19.07-16.57,16.35-34.02,30.62-52.17,42.65,4.68,1.99,9.45,4.04,14.27,6.14,12.35,5.37,25.49,8.8,38.92,9.72,2.63.18,5.26.29,7.9.34,20.65.42,41.12-3.22,61.43-7.08-14.67,10.13-29.65,18.85-44.84,26.12,7.14,3.47,14.28,7.02,21.42,10.64,6.67,3.39,13.79,5.85,21.18,7.05.39.06.77.11,1.14.17,14.88,2.13,30.22.22,45.48-1.9-8.73,6.35-17.47,11.97-26.2,16.82,13.07,7.33,25.85,14.87,38.11,22.6-71.67-20.01-166-20.34-243.84,68.17C23.57,478.38,1.85,548.7,0,595.02c0,0,15.22-8.88,40.36-22.39,18.99-10.19,35.17-25.02,46.7-43.24.09-.13.16-.26.24-.39,11.89-18.9,19.93-39.89,27.67-60.86,1.46,23.23.78,45.76-2.06,67.35,4.58-2.22,9.24-4.47,14-6.73,12.16-5.79,23.37-13.46,32.88-22.99,1.87-1.87,3.68-3.78,5.44-5.74,13.87-15.3,24.56-33.14,34.97-51-1.99,17.72-5.23,34.74-9.72,50.98,7.3-3.11,14.67-6.17,22.09-9.18,6.93-2.81,13.47-6.57,19.22-11.36.3-.25.59-.5.88-.75,11.37-9.83,20-22.66,28.41-35.56-.93,10.75-2.44,21.03-4.5,30.81,31.01-11.12,61.88-20.46,90.73-26.51-32.87,35.98-60.68,76.58-82.04,120.27-198.52,406.17,91.12,788.8-5.92,844.3h333.75c-144.08-27.93-180.76-140.67-214.79-214.87-77.26-168.7-124.44-362.19-75.02-545.27,5.21-19.47,11.82-39.29,19.3-58.02,20.22-50.62,48.22-98.66,84.06-139.87Z'/%3E%3C/svg%3E");
  transform: rotate(-10deg);
}

/* ── Left column: space-between distribuye bloques uniformemente ── */
.st-grad__left {
  grid-column: 1;
  grid-row: 1 / 2;
  padding: clamp(28px, 4vw, 52px) clamp(20px, 3vw, 40px) clamp(28px, 4vw, 44px) clamp(28px, 4vw, 52px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
  position: relative;
  z-index: 1;
}

/* ── Right column: sin padding, imagen llena todo el área ── */
.st-grad__right {
  grid-column: 2;
  grid-row: 1 / 2;
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 1;
  background-color: var(--st-cream);
}

/* ── Hero text ── */
.st-grad__eyebrow {
  font-family: 'Pacifico', 'Dancing Script', cursive;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
  color: var(--st-red);
  margin: 0;
  line-height: 1;
}
.st-grad__headline {
  font-family: 'Bebas Neue', 'Impact', sans-serif;
  font-size: clamp(4rem, 9vw, 7.5rem);
  color: var(--st-teal);
  margin: 0;
  line-height: .88;
  letter-spacing: 3px;
  text-shadow: 4px 4px 0 rgba(26,107,92,.12);
}

/* ── Ribbon ── */
.st-grad__ribbon {
  background-color: var(--st-teal);
  color: var(--st-white);
  padding: 10px 20px 8px;
  border-radius: 4px;
  position: relative;
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  clip-path: polygon(0 0, 100% 0, 97% 100%, 3% 100%);
}
.st-grad__ribbon::before,
.st-grad__ribbon::after {
  content: '';
  position: absolute;
  bottom: -8px;
  width: 0;
  height: 0;
  border-style: solid;
}
.st-grad__ribbon::before {
  left: 6px;
  border-width: 8px 8px 0 0;
  border-color: var(--st-ribbon-shadow, #0d3d32) transparent transparent transparent;
}
.st-grad__ribbon::after {
  right: 6px;
  border-width: 8px 0 0 8px;
  border-color: var(--st-ribbon-shadow, #0d3d32) transparent transparent transparent;
}
.st-grad__ribbon-label {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.st-grad__ribbon-script {
  font-family: 'Pacifico', cursive;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  color: var(--st-gold);
}

/* ── Body title ── */
.st-grad__body-title {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(.9rem, 1.6vw, 1.15rem);
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--st-dark);
  margin: 0;
  line-height: 1.45;
}
.st-grad__body-title strong,
.st-grad__body-title em {
  color: var(--st-red);
  font-style: normal;
}

/* ── Features ── */
.st-grad__features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.st-grad__feature-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  flex: 1;
  text-align: center;
  padding: 0 10px;
  position: relative;
}
/* separador vertical entre features */
.st-grad__feature-item + .st-grad__feature-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1.5px;
  background-color: rgba(26,46,42,.18);
}
.st-grad__feature-icon {
  width: clamp(38px, 4vw, 52px);
  height: clamp(38px, 4vw, 52px);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(26,107,92,.08);
  border-radius: 50%;
  padding: 8px;
  flex-shrink: 0;
}
.st-grad__feature-icon svg {
  width: 100%;
  height: 100%;
  fill: var(--st-teal);
}
.st-grad__feature-label {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: clamp(.68rem, .9vw, .8rem);
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--st-dark);
  line-height: 1.25;
}

/* ── Tag box ── */
.st-grad__tag-box {
  background-color: var(--st-dark);
  color: var(--st-white);
  border-radius: 6px;
  padding: 12px 18px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.st-grad__tag-bold {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(.88rem, 1.4vw, 1.05rem);
  text-transform: uppercase;
  letter-spacing: .6px;
  margin: 0;
  color: var(--st-white);
  line-height: 1.3;
}
.st-grad__tag-sub {
  font-family: 'Nunito', sans-serif;
  font-weight: 800;
  font-size: clamp(.8rem, 1.25vw, .95rem);
  margin: 0;
  background-color: var(--st-teal);
  display: inline-block;
  padding: 3px 10px 4px;
  border-radius: 4px;
  color: var(--st-white);
  align-self: flex-start;
  letter-spacing: .3px;
}

/* ── Badge sticker — overlay esquina superior derecha ── */
.st-grad__badge-sticker {
  background-color: var(--st-red);
  color: var(--st-white);
  border-radius: 50%;
  width: clamp(120px, 14vw, 162px);
  height: clamp(120px, 14vw, 162px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px;
  box-shadow: 0 6px 24px rgba(200,34,42,.4);
  position: absolute;
  /* se posiciona respecto a .st-grad__right que ya tiene padding —
     top/right 0 lo ancla a la esquina del contenido visible */
  top: clamp(12px, 2.5vw, 22px);
  right: clamp(12px, 2.5vw, 22px);
  z-index: 4;
  border: 4px dashed rgba(255,255,255,.45);
  animation: st-pulse 3s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes st-pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.05); }
}
.st-grad__badge-line1 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(.72rem, 1.1vw, .88rem);
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.1;
}
.st-grad__badge-you {
  font-family: 'Bebas Neue', 'Impact', sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  color: var(--st-gold);
  line-height: 1;
  letter-spacing: 2px;
}
.st-grad__badge-line2 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(.72rem, 1.1vw, .88rem);
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.1;
}

/* ── Food image: absolute, derecha-abajo, sin padding ni espacio ── */
.st-grad__food-img {
  position: absolute;
  inset: 0;
  line-height: 0;
}
.st-grad__food-img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(-6px 0 20px rgba(0,0,0,.12));
}

/* ── CTA bar ── */
.st-grad__cta-bar {
  grid-column: 1 / -1;
  grid-row: 2;
  background-color: var(--st-red);
  display: flex;
  align-items: center;
  gap: 18px;
  padding: clamp(14px, 2.5vw, 22px) clamp(24px, 4vw, 52px);
  position: relative;
  z-index: 2;
}
.st-grad__cta-icon {
  width: clamp(40px, 5vw, 58px);
  height: clamp(40px, 5vw, 58px);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.st-grad__cta-icon svg {
  width: 100%;
  height: 100%;
  fill: var(--st-white);
}
.st-grad__cta-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.st-grad__cta-link {
  font-family: 'Bebas Neue', 'Impact', sans-serif;
  font-size: clamp(1.4rem, 2.8vw, 2.1rem);
  color: var(--st-white);
  text-decoration: none;
  letter-spacing: 1.5px;
  transition: color .2s;
  line-height: 1;
}
.st-grad__cta-link:hover { color: var(--st-gold); }
.st-grad__cta-link strong { font-weight: 400; }
.st-grad__cta-link strong em {
  color: var(--st-gold);
  font-style: normal;
}
.st-grad__cta-text p {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(.78rem, 1.2vw, .95rem);
  color: rgba(255,255,255,.92);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-weight: 700;
}

/* ── Footer strip ── */
.st-grad__footer-strip {
  grid-column: 1 / -1;
  grid-row: 3;
  background-color: var(--st-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 24px;
  position: relative;
  z-index: 1;
}
.st-grad__footer-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
}
.st-grad__footer-icon svg {
  width: 100%;
  height: 100%;
  fill: var(--st-gold);
}
.st-grad__footer-text {
  font-family: 'Nunito', sans-serif;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--st-white);
}
.st-grad__footer-star {
  color: var(--st-gold);
  font-size: 1rem;
}

/* ── Responsive ── */
@media (max-width: 680px) {
  .st-grad-widget {
    grid-template-columns: 1fr;
    grid-template-rows: 300px auto auto auto;
    min-height: unset;
  }

  /* imagen arriba, col 1 */
  .st-grad__right {
    grid-column: 1;
    grid-row: 1;
    height: 300px;
    padding: 0;
  }

  /* contenido debajo */
  .st-grad__left {
    grid-column: 1;
    grid-row: 2;
    padding: 22px 22px 22px;
    justify-content: space-between;
    gap: 0;
  }

  .st-grad__cta-bar {
    grid-row: 3;
    padding: 14px 22px;
    flex-wrap: wrap;
    gap: 12px;
  }

  .st-grad__footer-strip {
    grid-row: 4;
  }

  /* badge esquina superior derecha sobre la imagen */
  .st-grad__badge-sticker {
    width: 110px;
    height: 110px;
    top: 12px;
    right: 12px;
  }

  .st-grad__food-img img {
    object-position: center bottom;
  }

  .st-grad__features {
    gap: 0;
  }

  .st-grad__feature-item {
    padding: 0 6px;
  }

  .st-grad__palm {
    width: 72px;
    height: 96px;
  }

  .st-grad__tag-box {
    margin-top: 0;
  }
}
