.elementor-7883 .elementor-element.elementor-element-26c3919{text-align:left;}.elementor-7883 .elementor-element.elementor-element-26c3919 .elementor-image img{width:100%;}.elementor-7883 .elementor-element.elementor-element-0719740{text-align:center;}.elementor-7883 .elementor-element.elementor-element-0719740.elementor-widget-heading .elementor-heading-title{color:#498c0d;}.elementor-7883 .elementor-element.elementor-element-0719740 .elementor-heading-title{font-size:21px;line-height:2.6em;letter-spacing:0.3px;text-shadow:0px 0px 0px rgba(0,0,0,0.3);mix-blend-mode:multiply;}.elementor-7883 .elementor-element.elementor-element-0719740 > .elementor-widget-container{margin:-13px -13px -13px -13px;}.elementor-7883 .elementor-element.elementor-element-5044f2d .elementor-text-editor{text-align:left;column-gap:0px;}.elementor-7883 .elementor-element.elementor-element-5044f2d{color:#000000;}.elementor-7883 .elementor-element.elementor-element-5044f2d > .elementor-widget-container{margin:5px 5px 5px 5px;padding:-5px -5px -5px -5px;border-radius:2px 2px 2px 2px;}.elementor-7883 .elementor-element.elementor-element-41dba2a a.elementor-button, .elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button{text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#ffffff;color:#ffffff;background-color:#aa0b00;border-radius:4px 4px 4px 4px;}.elementor-7883 .elementor-element.elementor-element-41dba2a a.elementor-button:hover, .elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button:hover, .elementor-7883 .elementor-element.elementor-element-41dba2a a.elementor-button:focus, .elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button:focus{color:#aa0b00;background-color:rgba(0,0,0,0);border-color:#aa0b00;}.elementor-7883 .elementor-element.elementor-element-41dba2a a.elementor-button:hover svg, .elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button:hover svg, .elementor-7883 .elementor-element.elementor-element-41dba2a a.elementor-button:focus svg, .elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button:focus svg{fill:#aa0b00;}.elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button{border-style:solid;border-width:2px 2px 2px 2px;border-color:#aa0b00;}.elementor-7883 .elementor-element.elementor-element-41dba2a > .elementor-widget-container{margin:25px 0px 0px 0px;}.elementor-7883 .elementor-element.elementor-element-fece2ef .elementor-text-editor{text-align:left;column-gap:0px;}.elementor-7883 .elementor-element.elementor-element-fece2ef{color:#000000;}.elementor-7883 .elementor-element.elementor-element-fece2ef > .elementor-widget-container{margin:5px 5px 5px 5px;padding:-5px -5px -5px -5px;border-radius:2px 2px 2px 2px;}.elementor-7883 .elementor-element.elementor-element-4b6e0af{color:#000000;line-height:1.2em;}.elementor-7883 .elementor-element.elementor-element-4b6e0af .elementor-text-editor{column-gap:0px;}body:not(.rtl) .elementor-7883 .elementor-element.elementor-element-4b6e0af .elementor-drop-cap{margin-right:10px;}body.rtl .elementor-7883 .elementor-element.elementor-element-4b6e0af .elementor-drop-cap{margin-left:10px;}.elementor-7883 .elementor-element.elementor-element-6168a33.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-7883 .elementor-element.elementor-element-6168a33.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-7883 .elementor-element.elementor-element-6168a33.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-6168a33 .elementor-image-box-wrapper .elementor-image-box-img{width:50%;}.elementor-7883 .elementor-element.elementor-element-6168a33 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-7883 .elementor-element.elementor-element-6168a33 .elementor-image-box-title{margin-bottom:1px;}.elementor-7883 .elementor-element.elementor-element-6168a33 .elementor-image-box-content .elementor-image-box-title{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-6168a33 .elementor-image-box-content .elementor-image-box-description{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-888acff.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-7883 .elementor-element.elementor-element-888acff.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-7883 .elementor-element.elementor-element-888acff.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-888acff .elementor-image-box-wrapper .elementor-image-box-img{width:50%;}.elementor-7883 .elementor-element.elementor-element-888acff .elementor-image-box-img img{transition-duration:0.3s;}.elementor-7883 .elementor-element.elementor-element-888acff .elementor-image-box-title{margin-bottom:1px;}.elementor-7883 .elementor-element.elementor-element-888acff .elementor-image-box-content .elementor-image-box-title{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-888acff .elementor-image-box-content .elementor-image-box-description{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-cc67288.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-7883 .elementor-element.elementor-element-cc67288.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-7883 .elementor-element.elementor-element-cc67288.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-cc67288 .elementor-image-box-wrapper .elementor-image-box-img{width:50%;}.elementor-7883 .elementor-element.elementor-element-cc67288 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-7883 .elementor-element.elementor-element-cc67288 .elementor-image-box-title{margin-bottom:1px;}.elementor-7883 .elementor-element.elementor-element-cc67288 .elementor-image-box-content .elementor-image-box-title{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-cc67288 .elementor-image-box-content .elementor-image-box-description{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-bf9290c.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-7883 .elementor-element.elementor-element-bf9290c.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-7883 .elementor-element.elementor-element-bf9290c.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-bf9290c .elementor-image-box-wrapper .elementor-image-box-img{width:50%;}.elementor-7883 .elementor-element.elementor-element-bf9290c .elementor-image-box-img img{transition-duration:0.3s;}.elementor-7883 .elementor-element.elementor-element-bf9290c .elementor-image-box-title{margin-bottom:1px;}.elementor-7883 .elementor-element.elementor-element-bf9290c .elementor-image-box-content .elementor-image-box-title{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-bf9290c .elementor-image-box-content .elementor-image-box-description{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-88de5bb.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-7883 .elementor-element.elementor-element-88de5bb.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-7883 .elementor-element.elementor-element-88de5bb.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-88de5bb .elementor-image-box-wrapper .elementor-image-box-img{width:50%;}.elementor-7883 .elementor-element.elementor-element-88de5bb .elementor-image-box-img img{transition-duration:0.3s;}.elementor-7883 .elementor-element.elementor-element-88de5bb .elementor-image-box-title{margin-bottom:1px;}.elementor-7883 .elementor-element.elementor-element-88de5bb .elementor-image-box-content .elementor-image-box-title{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-88de5bb .elementor-image-box-content .elementor-image-box-description{color:#0c0c0c;}.elementor-7883 .elementor-element.elementor-element-dbd7d6c{text-align:center;}.elementor-7883 .elementor-element.elementor-element-dbd7d6c.elementor-widget-heading .elementor-heading-title{color:#007715;}.elementor-7883 .elementor-element.elementor-element-17ab7c4{text-align:center;}.elementor-7883 .elementor-element.elementor-element-17ab7c4.elementor-widget-heading .elementor-heading-title{color:#3b3b3b;}.elementor-7883 .elementor-element.elementor-element-7f672e2 .elementor-button .elementor-align-icon-right{margin-left:7px;}.elementor-7883 .elementor-element.elementor-element-7f672e2 .elementor-button .elementor-align-icon-left{margin-right:7px;}.elementor-7883 .elementor-element.elementor-element-fe6ead3{text-align:center;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-group.recaptcha_v3-bottomleft, .elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-group > label, .elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-subgroup label{color:#167c00;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-7883 .elementor-element.elementor-element-da5c63d .elementor-button{background-color:#007715;}body.elementor-page-7883 h1.entry-title, .elementor-page-title{display:none;}@media(max-width:767px){.elementor-7883 .elementor-element.elementor-element-41dba2a a.elementor-button, .elementor-7883 .elementor-element.elementor-element-41dba2a .elementor-button{font-size:14px;}.elementor-7883 .elementor-element.elementor-element-6168a33 .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-6168a33 > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-7883 .elementor-element.elementor-element-888acff .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-888acff > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-7883 .elementor-element.elementor-element-cc67288 .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-bf9290c .elementor-image-box-img{margin-bottom:15px;}.elementor-7883 .elementor-element.elementor-element-88de5bb .elementor-image-box-img{margin-bottom:15px;}}@media(min-width:768px){.elementor-7883 .elementor-element.elementor-element-1b71319{width:50.877%;}.elementor-7883 .elementor-element.elementor-element-38851e3{width:45.891%;}}/* Start custom CSS for text-editor, class: .elementor-element-fece2ef */<section class="dlsw-weekend" id="dlsw-weekend">
  <style>
    .dlsw-weekend,
    .dlsw-weekend * {
      box-sizing: border-box;
    }

    .dlsw-weekend {
      position: relative;
      clear: both;
      overflow: hidden;
      background: #fbfff8;
      color: #24301f;
      font-family: Arial, sans-serif;
      line-height: 1.6;
    }

    .dlsw-weekend a {
      text-decoration: none;
    }

    .dlsw-wrap {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 40px 15px;
    }

    .dlsw-hero {
      position: relative;
      overflow: hidden;
      min-height: 480px;
      display: flex;
      align-items: center;
      padding: 52px 42px;
      background:
        linear-gradient(
          90deg,
          rgba(25, 48, 18, 0.84) 0%,
          rgba(25, 48, 18, 0.62) 52%,
          rgba(25, 48, 18, 0.2) 100%
        ),
        url("ВСТАВТЕ_URL_ЛІТНЬОГО_ФОТО") center center / cover no-repeat;
      border-radius: 28px;
      box-shadow: 0 12px 34px rgba(45, 86, 14, 0.14);
      isolation: isolate;
    }

    .dlsw-hero::after {
      position: absolute;
      inset: auto -80px -110px auto;
      width: 330px;
      height: 330px;
      content: "";
      border-radius: 50%;
      background: rgba(255, 218, 87, 0.2);
      filter: blur(2px);
      z-index: -1;
    }

    .dlsw-hero-content {
      position: relative;
      z-index: 2;
      max-width: 820px;
    }

    .dlsw-label {
      display: inline-block;
      margin-bottom: 18px;
      padding: 8px 18px;
      background: #498c0d;
      color: #ffffff;
      font-size: 14px;
      font-weight: 700;
      letter-spacing: 0.4px;
      border-radius: 30px;
    }

    .dlsw-hero h1 {
      max-width: 800px;
      margin: 0 0 20px;
      color: #ffffff;
      font-size: clamp(34px, 5vw, 54px);
      line-height: 1.08;
      text-shadow: 0 3px 16px rgba(0, 0, 0, 0.22);
    }

    .dlsw-hero p {
      max-width: 790px;
      margin: 0 0 16px;
      color: #ffffff;
      font-size: 18px;
      line-height: 1.65;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.24);
    }

    .dlsw-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 22px;
    }

    .dlsw-btn {
      min-height: 52px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 13px 26px;
      border: 0;
      border-radius: 30px;
      background: #498c0d;
      color: #ffffff !important;
      font: inherit;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      transition: 0.25s ease;
    }

    .dlsw-btn:hover {
      background: #376f08;
      color: #ffffff !important;
      transform: translateY(-2px);
    }

    .dlsw-btn-light {
      border: 1px solid rgba(255, 255, 255, 0.55);
      background: rgba(255, 255, 255, 0.14);
      backdrop-filter: blur(4px);
    }

    .dlsw-btn-light:hover {
      background: rgba(255, 255, 255, 0.24);
    }

    .dlsw-decor {
      position: absolute;
      z-index: 1;
      pointer-events: none;
      filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.16));
      animation: dlswFloat 7s ease-in-out infinite;
    }

    .dlsw-decor-1 {
      top: 30px;
      right: 7%;
      font-size: 36px;
    }

    .dlsw-decor-2 {
      right: 19%;
      bottom: 38px;
      font-size: 30px;
      animation-delay: 1.5s;
    }

    .dlsw-decor-3 {
      top: 43%;
      right: 3%;
      font-size: 27px;
      animation-delay: 3s;
    }

    @keyframes dlswFloat {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-14px) rotate(7deg); }
    }

    .dlsw-box {
      margin-top: 30px;
      padding: 30px;
      background: #ffffff;
      border-radius: 22px;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    }

    .dlsw-box h2 {
      margin: 0 0 16px;
      color: #24301f;
      font-size: 28px;
      line-height: 1.25;
    }

    .dlsw-intro {
      max-width: 950px;
      margin: 0;
      color: #4d5948;
      font-size: 17px;
    }

    .dlsw-program {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 20px;
      margin-top: 22px;
    }

    .dlsw-program-item {
      position: relative;
      min-height: 215px;
      padding: 25px 22px;
      overflow: hidden;
      background: #f4f9ef;
      border: 1px solid #e0edd6;
      border-radius: 18px;
      transition: 0.25s ease;
    }

    .dlsw-program-item::after {
      position: absolute;
      right: -30px;
      bottom: -34px;
      width: 100px;
      height: 100px;
      content: "";
      border-radius: 50%;
      background: rgba(255, 213, 74, 0.13);
    }

    .dlsw-program-item:hover {
      transform: translateY(-4px);
      box-shadow: 0 10px 22px rgba(73, 140, 13, 0.1);
    }

    .dlsw-program-icon {
      display: block;
      margin-bottom: 12px;
      font-size: 34px;
      line-height: 1;
    }

    .dlsw-program-item h3 {
      position: relative;
      z-index: 1;
      margin: 0 0 8px;
      color: #376f08;
      font-size: 20px;
      line-height: 1.25;
    }

    .dlsw-program-item p {
      position: relative;
      z-index: 1;
      margin: 0;
      color: #4d5948;
      font-size: 15px;
      line-height: 1.55;
    }

    .dlsw-workshops {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
      margin-top: 22px;
    }

    .dlsw-workshop {
      position: relative;
      overflow: hidden;
      min-height: 280px;
      padding: 30px;
      border-radius: 20px;
      color: #ffffff;
      background: linear-gradient(135deg, #498c0d 0%, #376f08 100%);
    }

    .dlsw-workshop:nth-child(2) {
      background: linear-gradient(135deg, #376f08 0%, #24301f 100%);
    }

    .dlsw-workshop::before {
      position: absolute;
      top: -50px;
      right: -35px;
      width: 175px;
      height: 175px;
      content: "";
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.1);
    }

    .dlsw-workshop-icon {
      position: relative;
      z-index: 1;
      display: block;
      margin-bottom: 15px;
      font-size: 43px;
    }

    .dlsw-workshop h3 {
      position: relative;
      z-index: 1;
      margin: 0 0 12px;
      color: #ffffff;
      font-size: 24px;
      line-height: 1.2;
    }

    .dlsw-workshop p,
    .dlsw-workshop li {
      position: relative;
      z-index: 1;
      color: #ffffff;
    }

    .dlsw-workshop p {
      margin: 0 0 14px;
    }

    .dlsw-workshop ul {
      margin: 0;
      padding-left: 20px;
    }

    .dlsw-game-shell {
      display: grid;
      grid-template-columns: 0.75fr 1.25fr;
      gap: 30px;
      align-items: center;
      margin-top: 30px;
      padding: 30px;
      overflow: hidden;
      border-radius: 24px;
      background:
        radial-gradient(circle at 10% 12%, rgba(255, 218, 87, 0.4), transparent 25%),
        linear-gradient(135deg, #f4f9ef 0%, #eaf5df 100%);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
    }

    .dlsw-game-copy h2 {
      margin: 0 0 12px;
      color: #24301f;
      font-size: 29px;
      line-height: 1.2;
    }

    .dlsw-game-copy p {
      margin: 0 0 14px;
      color: #4d5948;
    }

    .dlsw-game-points {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 18px 0;
    }

    .dlsw-game-points span {
      padding: 7px 11px;
      border: 1px solid #d6e8c8;
      border-radius: 30px;
      background: #ffffff;
      color: #376f08;
      font-size: 13px;
      font-weight: 700;
    }

    .dlsw-game {
      position: relative;
      overflow: hidden;
      height: 370px;
      border: 4px solid #ffffff;
      border-radius: 22px;
      background:
        radial-gradient(circle at 75% 18%, rgba(255, 226, 104, 0.75) 0 32px, transparent 33px),
        linear-gradient(180deg, #ccecae 0%, #ecf9dd 70%, #bddb98 70%, #a5cc7b 100%);
      box-shadow: 0 12px 28px rgba(45, 86, 14, 0.13);
      touch-action: none;
      user-select: none;
    }

    .dlsw-game::before,
    .dlsw-game::after {
      position: absolute;
      bottom: 29%;
      content: "";
      width: 125px;
      height: 95px;
      border-radius: 50% 50% 0 0;
      background: rgba(73, 140, 13, 0.22);
    }

    .dlsw-game::before { left: -30px; }
    .dlsw-game::after { right: -35px; }

    .dlsw-game-topbar {
      position: absolute;
      z-index: 6;
      top: 12px;
      left: 12px;
      right: 12px;
      display: flex;
      justify-content: space-between;
      gap: 10px;
      pointer-events: none;
    }

    .dlsw-score,
    .dlsw-time {
      padding: 7px 12px;
      border-radius: 30px;
      background: rgba(255, 255, 255, 0.9);
      color: #24301f;
      font-size: 14px;
      font-weight: 700;
      box-shadow: 0 4px 12px rgba(36, 48, 31, 0.08);
    }

    .dlsw-falling-item {
      position: absolute;
      z-index: 4;
      top: -42px;
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      font-size: 29px;
      line-height: 1;
      filter: drop-shadow(0 4px 4px rgba(36, 48, 31, 0.16));
      will-change: transform;
    }

    .dlsw-basket {
      position: absolute;
      z-index: 5;
      left: 50%;
      bottom: 14px;
      width: 92px;
      height: 64px;
      display: grid;
      place-items: center;
      font-size: 58px;
      line-height: 1;
      transform: translateX(-50%);
      filter: drop-shadow(0 6px 5px rgba(36, 48, 31, 0.22));
      will-change: left;
    }

    .dlsw-game-message {
      position: absolute;
      z-index: 7;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 28px;
      text-align: center;
      background: rgba(36, 48, 31, 0.58);
      color: #ffffff;
      backdrop-filter: blur(3px);
    }

    .dlsw-game-message strong {
      margin-bottom: 6px;
      font-size: 25px;
    }

    .dlsw-game-message span {
      max-width: 330px;
      margin-bottom: 15px;
    }

    .dlsw-game-message .dlsw-btn {
      min-height: 46px;
      padding: 10px 21px;
      background: #ffffff;
      color: #376f08 !important;
    }

    .dlsw-columns {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 30px;
      margin-top: 30px;
    }

    .dlsw-columns .dlsw-box {
      height: 100%;
      margin-top: 0;
    }

    .dlsw-green {
      background: #498c0d;
      color: #ffffff;
    }

    .dlsw-green h2,
    .dlsw-green p,
    .dlsw-green li {
      color: #ffffff;
    }

    .dlsw-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .dlsw-list li {
      margin-bottom: 14px;
    }

    .dlsw-list li:last-child {
      margin-bottom: 0;
    }

    .dlsw-date {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 25px;
      margin-top: 30px;
      padding: 30px;
      border-radius: 22px;
      background: linear-gradient(135deg, #498c0d 0%, #376f08 100%);
      color: #ffffff;
    }

    .dlsw-date-content h2 {
      margin: 0 0 12px;
      color: #ffffff;
      font-size: 28px;
    }

    .dlsw-date-content p {
      margin: 7px 0;
      color: #ffffff;
      font-size: 17px;
    }

    .dlsw-date .dlsw-btn {
      flex: 0 0 auto;
      margin: 0;
      background: #ffffff;
      color: #376f08 !important;
    }

    .dlsw-date .dlsw-btn:hover {
      background: #eef6e7;
      color: #294f07 !important;
    }

    .dlsw-final {
      position: relative;
      overflow: hidden;
      margin-top: 30px;
      padding: 40px 30px;
      text-align: center;
      border-radius: 24px;
      background: #f0f8e9;
    }

    .dlsw-final::before,
    .dlsw-final::after {
      position: absolute;
      content: "";
      width: 130px;
      height: 130px;
      border-radius: 50%;
      background: rgba(255, 218, 87, 0.19);
    }

    .dlsw-final::before { top: -65px; left: -40px; }
    .dlsw-final::after { right: -45px; bottom: -70px; }

    .dlsw-final h2 {
      position: relative;
      z-index: 1;
      margin: 0 0 12px;
      color: #24301f;
      font-size: 30px;
      line-height: 1.25;
    }

    .dlsw-final p {
      position: relative;
      z-index: 1;
      max-width: 850px;
      margin: 0 auto;
      color: #4d5948;
      font-size: 17px;
    }

    .dlsw-final .dlsw-btn {
      position: relative;
      z-index: 1;
      margin-top: 20px;
    }

    @media (max-width: 900px) {
      .dlsw-program {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .dlsw-game-shell {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 768px) {
      .dlsw-wrap {
        padding: 28px 12px;
      }

      .dlsw-hero {
        min-height: 430px;
        padding: 35px 22px;
        border-radius: 22px;
        background-position: 62% center;
      }

      .dlsw-hero p {
        font-size: 16px;
      }

      .dlsw-program,
      .dlsw-workshops,
      .dlsw-columns {
        grid-template-columns: 1fr;
        gap: 18px;
      }

      .dlsw-box,
      .dlsw-game-shell {
        padding: 24px 20px;
      }

      .dlsw-box h2,
      .dlsw-game-copy h2 {
        font-size: 24px;
      }

      .dlsw-program-item {
        min-height: 0;
      }

      .dlsw-date {
        flex-direction: column;
        align-items: flex-start;
        padding: 26px 22px;
      }

      .dlsw-date .dlsw-btn {
        width: 100%;
      }

      .dlsw-final {
        padding: 32px 20px;
      }

      .dlsw-final h2 {
        font-size: 25px;
      }

      .dlsw-decor {
        display: none;
      }
    }

    @media (max-width: 480px) {
      .dlsw-game {
        height: 340px;
      }

      .dlsw-actions,
      .dlsw-actions .dlsw-btn {
        width: 100%;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .dlsw-decor,
      .dlsw-program-item,
      .dlsw-btn {
        animation: none;
        transition: none;
      }
    }
  </style>

  <div class="dlsw-wrap">
    <div class="dlsw-hero">
      <span class="dlsw-decor dlsw-decor-1" aria-hidden="true">☀️</span>
      <span class="dlsw-decor dlsw-decor-2" aria-hidden="true">🍃</span>
      <span class="dlsw-decor dlsw-decor-3" aria-hidden="true">✨</span>

      <div class="dlsw-hero-content">
        <span class="dlsw-label">29–30 серпня 2026 року</span>
        <h1>Літо триває у «Діброва Клаб»</h1>
        <p>Два дні біля води, барбекю, літня тераса та вечори під зорями. Не поспішайте прощатися з літом — проведіть його фінальні вихідні серед природи.</p>

        <div class="dlsw-actions">
          <a class="dlsw-btn" href="/room/booking">Забронювати вікенд</a>
          <a class="dlsw-btn dlsw-btn-light" href="#dlsw-program">Переглянути програму</a>
        </div>
      </div>
    </div>

    <div class="dlsw-box">
      <h2>Ще два справжні літні дні</h2>
      <p class="dlsw-intro">Зберіть родину або друзів і залиште міську метушню позаду. На вас чекають освіжаючі напої, творчі заняття, відпочинок біля води, смачне барбекю та теплі вечори, які захочеться зберегти у пам’яті.</p>
    </div>

    <div class="dlsw-box" id="dlsw-program">
      <h2>Програма літнього вікенду</h2>

      <div class="dlsw-program">
        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🍋</span>
          <h3>Лимонад власноруч</h3>
          <p>Готуємо два освіжаючі смаки — цитрусовий і фруктовий — та обираємо свій улюблений літній рецепт.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🫙</span>
          <h3>Баночка щасливих моментів</h3>
          <p>Створюємо особливу баночку з теплими словами, бажаннями й маленькими спогадами про це літо.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🌊</span>
          <h3>Відпочинок біля води</h3>
          <p>Сонце, свіже повітря та спокійний відпочинок у мальовничому куточку серед природи.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🔥</span>
          <h3>Барбекю серед природи</h3>
          <p>Смачні страви на вогні, затишні альтанки та час для живого спілкування з близькими.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🍹</span>
          <h3>Літня тераса</h3>
          <p>Сезонні страви, прохолодні напої та неспішний обід або вечеря просто неба.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">✨</span>
          <h3>Вечір під зорями</h3>
          <p>Тепла атмосфера, тиша природи та фінальні літні вечори, проведені без поспіху.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🍽️</span>
          <h3>Спеціальне літнє меню</h3>
          <p>Сезонні страви, авторські напої та легкі поєднання смаків для приємного літнього відпочинку.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🧖</span>
          <h3>Відпочинок у сауні</h3>
          <p>Можливість розслабитися, відновити сили та відпочити від щоденних справ у спокійній атмосфері.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🌳</span>
          <h3>Прогулянки сосновим лісом</h3>
          <p>Свіже повітря, природна тиша та мальовничі маршрути територією заміського комплексу.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🏓</span>
          <h3>Настільний теніс</h3>
          <p>Легка активність для пар, родин і компаній друзів, які хочуть додати трохи руху до спокійного вікенду.</p>
        </article>

        <article class="dlsw-program-item">
          <span class="dlsw-program-icon" aria-hidden="true">🏡</span>
          <h3>Номери та котеджі</h3>
          <p>Комфортне проживання серед природи, де можна виспатися, відновити сили та почати ранок без поспіху.</p>
        </article>
      </div>
    </div>

    <div class="dlsw-box">
      <h2>Літні майстер-класи</h2>

      <div class="dlsw-workshops">
        <article class="dlsw-workshop">
          <span class="dlsw-workshop-icon" aria-hidden="true">🍋🍓</span>
          <h3>Майстер-клас із приготування лимонаду</h3>
          <p>Змішуємо літні смаки та разом створюємо два види домашнього лимонаду.</p>
          <ul>
            <li>цитрусовий — свіжий і яскравий;</li>
            <li>фруктовий — ароматний і солодкий;</li>
            <li>дегустація готових напоїв.</li>
          </ul>
        </article>

        <article class="dlsw-workshop">
          <span class="dlsw-workshop-icon" aria-hidden="true">🫙💛</span>
          <h3>Майстер-клас «Баночка щасливих моментів»</h3>
          <p>Кожен учасник створить власну баночку, яка допоможе зберегти найтепліші спогади.</p>
          <ul>
            <li>оформлення баночки;</li>
            <li>записки з приємними моментами;</li>
            <li>особливий сувенір із вікенду.</li>
          </ul>
        </article>
      </div>
    </div>

    <div class="dlsw-game-shell">
      <div class="dlsw-game-copy">
        <h2>Гра «Спіймай літо»</h2>
        <p>Керуйте кошиком і ловіть усе, що нагадує про літо: листочки, квіти та смаколики. За 30 секунд зберіть якомога більше літніх моментів.</p>

        <div class="dlsw-game-points" aria-label="Кількість балів за предмети">
          <span>🍃 +1 бал</span>
          <span>🌼 +2 бали</span>
          <span>🍓 +3 бали</span>
          <span>🍋 +3 бали</span>
        </div>

        <p><strong>Керування:</strong> рухайте мишкою або пальцем по ігровому полю. На клавіатурі використовуйте стрілки ← →.</p>
      </div>

      <div class="dlsw-game" id="dlsw-game" tabindex="0" role="application" aria-label="Гра Спіймай літо">
        <div class="dlsw-game-topbar">
          <span class="dlsw-score">Рахунок: <b id="dlsw-score">0</b></span>
          <span class="dlsw-time">Час: <b id="dlsw-time">30</b> с</span>
        </div>

        <div class="dlsw-basket" id="dlsw-basket" aria-hidden="true">🧺</div>

        <div class="dlsw-game-message" id="dlsw-game-message">
          <strong>Спіймайте літо!</strong>
          <span>Ловіть листочки, квіти та смаколики своїм кошиком.</span>
          <button class="dlsw-btn" id="dlsw-game-start" type="button">Почати гру</button>
        </div>
      </div>
    </div>

    <div class="dlsw-columns">
      <div class="dlsw-box dlsw-green">
        <h2>Настрій цих вихідних</h2>
        <ul class="dlsw-list">
          <li>☀️ Останні теплі дні літа без поспіху.</li>
          <li>💛 Нові враження для всієї родини.</li>
          <li>📵 Менше гаджетів — більше живого спілкування.</li>
          <li>✨ Моменти, які хочеться зберегти.</li>
        </ul>
      </div>

      <div class="dlsw-box">
        <h2>Для кого цей вікенд</h2>
        <ul class="dlsw-list">
          <li>💑 Для пар, які хочуть провести час разом.</li>
          <li>👨‍👩‍👧‍👦 Для родин із дітьми.</li>
          <li>🧑‍🤝‍🧑 Для компаній друзів.</li>
          <li>🌿 Для всіх, хто хоче відпочити від міста.</li>
        </ul>
      </div>
    </div>

    <div class="dlsw-date" id="dlsw-booking">
      <div class="dlsw-date-content">
        <h2>Дата та місце проведення</h2>
        <p>📅 <strong>29–30 серпня 2026 року</strong></p>
        <p>🌳 <strong>«Діброва Клаб»</strong></p>
        <p>Кількість номерів, котеджів та місць на майстер-класах обмежена.</p>
      </div>

      <a class="dlsw-btn" href="https://dibrovaclub.com.ua/nomery-dubravushka/">Обрати номер</a>
    </div>

    <div class="dlsw-final">
      <h2>Не поспішайте прощатися з літом</h2>
      <p>Проведіть фінальні літні вихідні біля води, створіть власні щасливі спогади та заберіть із собою справжній літній настрій.</p>
      <a class="dlsw-btn" href="/room/booking">Забронювати вікенд</a>
    </div>
  </div>

  <script>
    (function () {
      var root = document.getElementById("dlsw-weekend");
      if (!root || root.dataset.gameReady === "1") return;
      root.dataset.gameReady = "1";

      var game = root.querySelector("#dlsw-game");
      var basket = root.querySelector("#dlsw-basket");
      var startButton = root.querySelector("#dlsw-game-start");
      var message = root.querySelector("#dlsw-game-message");
      var scoreOutput = root.querySelector("#dlsw-score");
      var timeOutput = root.querySelector("#dlsw-time");

      if (!game || !basket || !startButton || !message) return;

      var symbols = [
        { icon: "🍃", points: 1 },
        { icon: "🍂", points: 1 },
        { icon: "🌼", points: 2 },
        { icon: "🌸", points: 2 },
        { icon: "🍓", points: 3 },
        { icon: "🍋", points: 3 },
        { icon: "🍉", points: 3 }
      ];

      var playing = false;
      var score = 0;
      var timeLeft = 30;
      var basketX = 0.5;
      var objects = [];
      var lastFrame = 0;
      var lastSpawn = 0;
      var timerId = null;
      var animationId = null;

      function setBasket(normalizedX) {
        basketX = Math.max(0.1, Math.min(0.9, normalizedX));
        basket.style.left = (basketX * 100) + "%";
      }

      function clearObjects() {
        objects.forEach(function (item) {
          if (item.element.parentNode) item.element.parentNode.removeChild(item.element);
        });
        objects = [];
      }

      function spawnObject() {
        var data = symbols[Math.floor(Math.random() * symbols.length)];
        var element = document.createElement("span");
        element.className = "dlsw-falling-item";
        element.textContent = data.icon;
        element.setAttribute("aria-hidden", "true");
        game.appendChild(element);

        objects.push({
          element: element,
          x: 0.05 + Math.random() * 0.86,
          y: -48,
          speed: 95 + Math.random() * 85,
          sway: 8 + Math.random() * 16,
          phase: Math.random() * Math.PI * 2,
          points: data.points
        });
      }

      function finishGame() {
        playing = false;
        clearInterval(timerId);
        cancelAnimationFrame(animationId);
        clearObjects();
        message.style.display = "flex";
        message.querySelector("strong").textContent = "Ваш результат: " + score + " балів";
        message.querySelector("span").textContent = score >= 25
          ? "Чудово! Ви зібрали справжній кошик літніх моментів."
          : "Спробуйте ще раз і зберіть ще більше літа.";
        startButton.textContent = "Зіграти ще раз";
      }

      function animate(timestamp) {
        if (!playing) return;

        var delta = lastFrame ? Math.min((timestamp - lastFrame) / 1000, 0.034) : 0;
        lastFrame = timestamp;

        if (timestamp - lastSpawn > 620) {
          spawnObject();
          lastSpawn = timestamp;
        }

        var gameRect = game.getBoundingClientRect();
        var basketRect = basket.getBoundingClientRect();

        objects = objects.filter(function (item) {
          item.y += item.speed * delta;
          var swayX = Math.sin(timestamp / 380 + item.phase) * item.sway;
          item.element.style.left = (item.x * 100) + "%";
          item.element.style.transform = "translate(" + swayX + "px," + item.y + "px) rotate(" + (item.y * 0.35) + "deg)";

          var itemRect = item.element.getBoundingClientRect();
          var caught =
            itemRect.bottom >= basketRect.top + 12 &&
            itemRect.top <= basketRect.bottom &&
            itemRect.right >= basketRect.left + 8 &&
            itemRect.left <= basketRect.right - 8;

          if (caught) {
            score += item.points;
            scoreOutput.textContent = score;
            item.element.remove();
            return false;
          }

          if (itemRect.top > gameRect.bottom) {
            item.element.remove();
            return false;
          }

          return true;
        });

        animationId = requestAnimationFrame(animate);
      }

      function startGame() {
        clearObjects();
        clearInterval(timerId);
        cancelAnimationFrame(animationId);

        playing = true;
        score = 0;
        timeLeft = 30;
        lastFrame = 0;
        lastSpawn = 0;
        scoreOutput.textContent = "0";
        timeOutput.textContent = "30";
        message.style.display = "none";
        setBasket(0.5);
        game.focus();

        timerId = setInterval(function () {
          timeLeft -= 1;
          timeOutput.textContent = timeLeft;
          if (timeLeft <= 0) finishGame();
        }, 1000);

        animationId = requestAnimationFrame(animate);
      }

      function moveFromPointer(event) {
        if (!playing) return;
        var rect = game.getBoundingClientRect();
        setBasket((event.clientX - rect.left) / rect.width);
      }

      game.addEventListener("pointermove", moveFromPointer);
      game.addEventListener("pointerdown", function (event) {
        moveFromPointer(event);
        game.setPointerCapture(event.pointerId);
      });

      game.addEventListener("keydown", function (event) {
        if (!playing) return;
        if (event.key === "ArrowLeft") {
          event.preventDefault();
          setBasket(basketX - 0.07);
        }
        if (event.key === "ArrowRight") {
          event.preventDefault();
          setBasket(basketX + 0.07);
        }
      });

      startButton.addEventListener("click", startGame);
    })();
  </script>
</section>/* End custom CSS */