  /* ==========================================================================
     ESTILOS GLOBALES - Layout con max-width de 1200px
     ========================================================================== */

  /* Asegurar que couple-single siempre sea visible en todos los tamaños */
  .couple-area .couple-single {
      display: block !important;
      width: 100% !important;
      float: none !important;
      visibility: visible !important;
  }

  /* La imagen de la quinceañera siempre debe usar el ancho completo disponible */
  .couple-area .couple-img {
      max-width: 100% !important;
      width: 100% !important;
      margin: 0 auto;
  }

  /* Limitar el ancho del fondo de esperando-section a 1200px */
  .esperando-section {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto;
  }

  /* Limitar el ancho del fondo del footer a 1200px */
  .site-footer {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto;
  }

  /* Limitar el ancho del slider hero a 1200px */
  .hero-slider {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto;
  }

  /* Limitar el ancho de la sección RSVP a 1200px con fondo expandido al 100% */
  .rsvp-area {
      max-width: 1200px !important;
      width: calc(100% + 30px) !important;
      /* Compensar padding del container padre */
      margin-left: -15px !important;
      margin-right: -15px !important;
      background-size: cover !important;
      background-position: center center !important;
  }

  /* Containers con max-width de 1200px y centrados */
  .container {
      max-width: 1200px;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
  }

  /* Secciones con fondo de borde a borde aunque estén dentro de un container */
  .Gift-area {
      width: 100vw;
      max-width: none;
      margin-left: calc(-50vw + 50%);
      position: relative;
  }

  /* El contenido DENTRO de estas secciones sí respeta el max-width de 1200px */
  .Gift-area>.container {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 15px;
      padding-right: 15px;
  }

  /* Restaurar el diseño original del contenedor rosa del footer */
  .site-footer .text {
      max-width: 600px;
      margin: auto;
      border-top-left-radius: 90px;
      border-bottom-right-radius: 90px;
  }

  .site-footer .text:before {
      display: block;
  }

  /* ==========================================================================
     RESPONSIVE BREAKPOINTS
     ========================================================================== */

  /* Pantallas extra grandes: 1920px y superior */
  @media screen and (min-width: 1920px) {}

  /* (1366x768) WXGA Display */

  @media screen and (min-width: 1366px) and (max-width: 1919px) {
      .site-header #navbar>ul .sub-menu {
          width: 190px;
      }
  }

  /* Normal desktop grande :1198px a 1365px. */
  @media (min-width: 1198px) and (max-width: 1365px) {}

  /* Normal desktop :992px. */

  @media (min-width: 992px) and (max-width: 1197px) {

      .event-text h3 {
          margin-bottom: 2px;
          margin-top: 0;
      }

      .event-text p {
          padding: 5px 0;
      }

      .site-header #navbar>ul .sub-menu {
          left: -181px;
      }

      .count-down-area-2 .esperando-section #clock>div {
          padding: 65px 0;
      }
  }

  /* Normal desktop :991px. */

  @media (min-width: 768px) and (max-width: 991px) {

      .story-section .story-timeline img {
          border-radius: 0;
      }

      .story-section .story-timeline img:hover {
          border-radius: 0;
      }

      .event-wrap {
          margin-top: 70px;
          background: none;
      }

      .event-text {
          background: #f9cbd129;
          padding: 20px 40px;
      }

      .story-section .story-timeline h3 {
          font-size: 25px;
      }

      .gta-area .heading {
          margin-bottom: 0;
      }

      .esperando-section #clock>div {
          border-top-left-radius: 30px;
          border-bottom-right-radius: 30px;
      }

      .site-footer h2 {
          font-size: 52px;
      }

      .hero-slider .slide-inner .slide-content {
          max-width: 430px;
          padding: 33px 0 33px;
      }

      .event-text .event-map {
          margin-top: 24px;
          border-radius: 28px;
      }

      .event-text .event-map iframe {
          border-radius: 22px;
          min-height: 240px;
      }

      .hero-style-2 .slide-inner .slide-content {
          max-width: 330px;
          padding: 80px 0;
      }

      .count-down-area-2 .esperando-section #clock>div {
          padding: 50px 0;
      }

      .site-footer-2 .text {
          max-width: 280px;
          border-radius: 50%;
      }

      .site-footer-2 .text:before {
          border-radius: 50%;
          left: -14px;
          top: -14px;
      }

      .page-title {
          height: 450px;
      }
  }

  /* small mobile :576px. */

  @media (min-width: 576px) and (max-width: 767px) {

      .story-section .story-timeline img {
          border-radius: 0;
      }

      .story-section .story-timeline img:hover {
          border-radius: 0;
      }

      .event-wrap {
          margin-top: 70px;
          background: none;
      }

      .event-text {
          background: #f9cbd129;
          padding: 20px 40px;
      }

      .story-section .story-timeline h3 {
          font-size: 25px;
      }

      .gta-area .heading {
          margin-bottom: 0;
      }

      .esperando-section #clock>div {
          border-top-left-radius: 30px;
          border-bottom-right-radius: 30px;
      }

      .site-footer h2 {
          font-size: 48px;
      }

      /* Contenedor semitransparente del footer - ajuste para tablets pequeñas */
      .site-footer .text {
          max-width: calc(100% - 60px);
          margin-left: 30px;
          margin-right: 30px;
          padding: 50px 30px;
          border-top-left-radius: 70px;
          border-bottom-right-radius: 70px;
      }

      .site-footer .text:before {
          left: -10px;
          top: -10px;
          width: calc(100% + 20px);
          height: calc(100% + 20px);
          border-top-left-radius: 70px;
          border-bottom-right-radius: 70px;
      }

      .hero-slider .slide-inner .slide-content {
          max-width: 430px;
          padding: 33px 0 33px;
      }

      .groomsmen-bridesmaid-area .Groomsman-wrap .row {
          flex-direction: column;
          align-items: center;
      }

      .couple-wrap .grid {
          width: 50%;
          float: left;
      }

      .count-down-clock {
          margin: 0 10px;
      }

      .nav-tabs>.event-content>a {
          margin-right: 14px;
      }

      .hero-slider .slide-inner .slide-content {
          border-top-right-radius: 40px;
          border-bottom-left-radius: 40px;
      }

      .hero-style-1 .slide-subtitle h4,
      .hero-style-2 .slide-subtitle h4,
      .hero-style-3 .slide-subtitle h4 {
          font-size: 16px;
      }

      .hero-slider .slide-inner .slide-content {
          padding: 50px 20px 40px;
      }

      .event-text .event-map {
          margin-top: 22px;
          border-radius: 24px;
      }

      .event-text .event-map iframe {
          border-radius: 20px;
          min-height: 220px;
      }

      .rsvp-wrap {
          max-width: 500px;
          margin: auto;
          padding: 50px 30px;
      }

      .hero-style-2 .slide-inner .slide-content {
          border-radius: 50%;
          max-width: 450px;
          padding: 60px 25px;
      }

      .count-down-area-2 .esperando-section #clock>div {
          padding: 50px 0;
      }

      .site-footer-2 .text {
          max-width: 280px;
          border-radius: 50%;
      }

      .site-footer-2 .text:before {
          border-radius: 50%;
          left: -14px;
          top: -14px;
      }

      .page-title {
          height: 350px;
      }
  }

  /* extra small mobile 320px. */

  @media (max-width: 575px) {

      /* Centrar horizontalmente los elementos de Mis Padres/Padrinos */
      .groomsmen-bridesmaid-area .Groomsman-wrap .row {
          flex-direction: column;
          align-items: center;
      }

      /* Botones de la sección esperando - mostrar en columna */
      .esperando-section .container {
          display: flex;
          flex-direction: column;
          align-items: center;
      }

      .esperando-section .btn {
          display: block;
          width: 100%;
          max-width: 250px;
          margin: 5px auto;
      }

      /* Reloj countdown - mantener 4 elementos en una línea */
      .esperando-section #clock {
          gap: 8px;
          flex-wrap: nowrap;
          justify-content: center;
      }

      .esperando-section #clock>div {
          width: auto;
          min-width: 60px;
          padding: 10px 8px;
          margin: 0;
          margin-bottom: 0;
          border-radius: 10px;
      }

      .esperando-section #clock>div+div {
          margin-left: 0;
      }

      .esperando-section #clock .box>div {
          font-size: 32px;
      }

      .esperando-section #clock .box span {
          font-size: 10px;
      }

      .nav-tabs>.event-content>a {
          width: 90px;
          height: 90px;
          font-size: 14px;
          margin-right: 10px;
          line-height: 40px;
      }

      .event-text {
          padding: 20px;
          padding-top: 0px;
      }

      .event-text.dyc-wrap,
      .event-text.dyc-wrap-2 {
          padding: 20px 15px;
          padding-top: 25px;
      }

      /* Ajustar padding lateral en sección "Cuándo y Dónde" para móviles */
      .event-section .container {
          padding-left: 10px;
          padding-right: 10px;
      }

      .event-section .groomsmen-bridesmaid-area-menu {
          padding: 0;
          margin: 0;
      }

      .event-section .groomsmen-bridesmaid-area-menu>.col-md-7,
      .event-section .groomsmen-bridesmaid-area-menu>.col-12 {
          padding-left: 0;
          padding-right: 0;
          width: 100%;
          max-width: 100%;
      }

      .event-text .event-map {
          margin-top: 20px;
          border-radius: 20px;
      }

      .event-text .event-map iframe {
          border-radius: 16px;
          min-height: 200px;
          aspect-ratio: 4 / 3;
      }

      .section-title:before {
          width: 260px;
          height: 86px;
          bottom: -52px;
      }

      .story-section .story-timeline img {
          border-radius: 0;
      }

      .story-section .story-timeline img:hover {
          border-radius: 0;
      }

      .story-section .story-timeline h3 {
          font-size: 25px;
      }

      .hero-slider .slide-inner .slide-content {
          border-top-right-radius: 40px;
          border-bottom-left-radius: 40px;
      }

      .hero-style-1 .slide-subtitle h4,
      .hero-style-2 .slide-subtitle h4,
      .hero-style-3 .slide-subtitle h4 {
          font-size: 16px;
      }

      .hero-slider .slide-inner .slide-content {
          padding: 50px 20px 40px;
      }

      .couple-img-2 {
          margin-top: 30px;
      }

      .section-padding {
          padding: 70px 0;
      }

      .cta-content p {
          padding: 20px 0px 30px;
      }

      .cta-content {
          padding: 30px 0 45px;
      }

      .event-section {
          padding: 70px 0;
      }

      .groomsmen-bridesmaid-area {
          padding: 70px 0 40px;
      }

      .gallery-section .gallery-filters ul .current {
          margin-bottom: 10px;
      }

      .rsvp-wrap {
          padding: 40px 28px;
      }

      .rsvp-wrap:before {
          display: none;
      }

      .rsvp-wrap:after {
          display: none;
      }

      .rsvp-area {
          padding: 70px 0;
      }

      .gta-area {
          padding: 70px 0;
      }

      .Gift-area {
          padding-top: 65px;
      }

      .site-footer h2 {
          font-size: 36px;
      }

      /* Contenedor semitransparente del footer - ajuste para móviles pequeños */
      .site-footer .text {
          max-width: calc(100% - 40px);
          margin-left: 20px;
          margin-right: 20px;
          padding: 40px 20px;
          border-top-left-radius: 50px;
          border-bottom-right-radius: 50px;
      }

      .site-footer .text:before {
          left: -8px;
          top: -8px;
          width: calc(100% + 16px);
          height: calc(100% + 16px);
          border-top-left-radius: 50px;
          border-bottom-right-radius: 50px;
      }

      .section-title h2 {
          font-size: 34px;
      }

      .count-down-area-2 .esperando-section #clock>div {
          padding: 35px 0;
          border-radius: 0;
      }

      .hero-style-2 .slide-inner .slide-content {
          border-radius: 50%;
          max-width: 450px;
          padding: 50px 25px;
      }

      .site-footer-2 .text {
          max-width: 170px;
          border-radius: 50%;
      }

      .site-footer-2 .text:before {
          border-radius: 50%;
          left: -10px;
          top: -8px;
      }

      .page-title {
          height: 250px;
      }
  }

  /* Large Mobile :480px. */
  @media only screen and (min-width: 325px) and (max-width: 590px) {

      /* Reloj countdown - mantener 4 elementos en una línea */
      .esperando-section #clock {
          gap: 6px;
          flex-wrap: nowrap;
          justify-content: center;
      }

      .esperando-section #clock>div {
          width: auto;
          min-width: 55px;
          padding: 10px 6px;
          margin: 0;
          margin-bottom: 0;
          border-radius: 10px;
      }

      .esperando-section #clock>div+div {
          margin-left: 0;
      }

      .esperando-section #clock .box>div {
          font-size: 28px;
      }

      .esperando-section #clock .box span {
          font-size: 9px;
      }

      .nav-tabs>.event-content>a {
          display: block;
          width: 94px;
          height: 90px;
          margin-right: 9px;
      }

      .cta-content h2 {
          font-size: 46px;
      }

      .count-down-area-2 .esperando-section #clock>div {
          padding: 35px 0;
          border-radius: 0;
      }

      .site-footer-2 .text {
          max-width: 215px;
          border-radius: 50%;
          padding: 60px 0;
      }

      .site-footer-2 .text:before {
          border-radius: 50%;
          left: -10px;
          top: -11px;
      }
  }