/*
Theme Name: Twenty Twenty-Five Child
Theme URI: 
Author: sooda
Author URI: 
Description: 子テーマ
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: twenty-twenty-five-child
Tags: 
*/

/* top - main-visual */
.main-visual {
   position: relative;
   overflow: hidden;
}

.main-visual::before {
   content: "";
   position: absolute;
   bottom: 0;
   left: 0;
   background: var(--wp--preset--color--accent-1);

   /* 逆向きカーブ（上側） */
   border-top-left-radius: 1000px 200px;
   border-top-right-radius: 1000px 200px;

   height: 400px;
   max-height: 70vh;

   /* 横は素直にはみ出させる */
   left: 50%;
   width: 120%;
   transform: translateX(-50%);

   z-index: -1;
}

.main-visual-inner {
   overflow: hidden;
   position: relative;

   &::before {
      content: "";
      display: block;
      width: 5px;
      height: 100%;
      background: var(--wp--preset--color--accent-1);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
   }
}

@media (max-width: 768px) {
   .main-visual-inner {
      height: 70vh;

      &::before {
         transform: rotate(90deg);
      }

      .wp-block-column {
         height: 50%;
      }

      img {
         height: 100%;
      }
   }
}

/* top - tomodachi */
@media (max-width: 600px) {

   .grid-tomodachi ul {
      grid-template-columns: repeat(2, 1fr) !important;
   }
}


/* footer */
.wp-block-template-part {
   margin-top: 0;
}

/* search result */
.event-search-summary {
   max-width: 100%;
   box-sizing: border-box;
   padding: 20px;
   background: #f1f1f1;
   border-radius: 10px;
}

.event-result {
   max-width: 100%;
   box-sizing: border-box;
   list-style: none;
   padding: 0;
   margin: 0;
}

.event-result-item {
   border: 1px solid var(--wp--preset--color--accent-1);
   border-radius: 20px;
   margin: 0;

   a {
      text-decoration: none;
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 20px;
      padding: 30px;
   }
}

.event-result-meta {
   font-size: 18px;
   font-weight: bold;
}

.event-result-ttl {
   font-size: 32px;
   color: var(--wp--preset--color--accent-1);
   margin-top: 10px;
   margin-bottom: 0;
}

.event-result-ttl-en {
   font-size: 22px;
   font-weight: bold;
   color: var(--wp--preset--color--accent-1);
}

.event-result-summary {
   margin-top: 20px;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
   line-clamp: 3;
   overflow: hidden;
}

.event-result-meta,
.event-result-date {
   display: flex;
   align-items: center;
   gap: 10px;
}

.event-result-thumb {
   aspect-ratio: 4/3;
   margin: 0 !important;
}

.event-result-arrow {
   color: var(--wp--preset--color--accent-1);
   text-align: right;
   margin-top: 20px;
   font-weight: bold;
   font-size: 18px;
}

.event-result-back {
   min-width: 100%;
   margin: 20px 0;

   button {
      display: inline-block;
      background: #fff;
      padding: 12px;
      border: 1px solid var(--wp--preset--color--accent-1);
      color: var(--wp--preset--color--accent-1);
      cursor: pointer;
      border-radius: 8px;
   }
}

/* 検索 */
.acf-taxonomy-search {
   display: grid;
   grid-template-columns: 1fr 1fr 220px;
   gap: 15px;
   align-items: end;

   fieldset {
      margin: 0;
      padding: 0;
      border: none;
   }

   legend {
      font-weight: bold;
   }


   input,
   select {
      background: #fff;
      display: block;
      width: 100%;
      padding: 15px;
      border: 1px solid var(--wp--preset--color--accent-1);
      border-radius: 30px;
      cursor: pointer;
      box-sizing: border-box;
   }

   button {
      display: inline-block;
      background: var(--wp--preset--color--accent-1);
      display: inline-block;
      padding: 15px;
      border-radius: 30px;
      border: none;
      color: #fff;
      cursor: pointer;
      font-weight: bold;
   }
}

.acf-search-date {
   input[type=date] {
      position: relative;

      &::-webkit-inner-spin-button {
         -webkit-appearance: none;
      }


      &::-webkit-clear-button {
         -webkit-appearance: none;
      }

      &::-webkit-calendar-picker-indicator {
         position: absolute;
         width: 100%;
         height: 100%;
         opacity: 0;
         cursor: pointer;
      }
   }
}

.result-found {
   min-width: 100%;
   margin: 1em 0;
   text-align: right;
}

/* form */
.btn-request {
   background: var(--wp--preset--color--accent-1);
   display: block;
   color: #fff;
   text-align: center;
   font-size: 18px;
   border-radius: 30px;
   text-decoration: none;
   padding: 1em;
   font-weight: bold;
}

.wpforms-submit.form-submit {
   width: 100%;
   max-width: 400px;
   display: block;
   margin: 0 auto;
   text-align: center;
   border-radius: 8px !important;
}

.wpforms-error {
   margin-top: 8px;
}

#wpforms-4553 {
   margin: 0;
}

#wpforms-confirmation-4553 {
   border-radius: 10px;
   margin: 0;
}

@media (max-width: 768px) {

   /* page header */
   .wp-block-cover {
      h1 {
         font-size: 40px !important;
      }
   }


   .event-result-item {
      a {

         grid-template-columns: 1fr;
         padding: 20px;
      }
   }

   .event-result-meta {
      font-size: 14px;
   }

   .event-result-ttl {
      font-size: 22px;
   }

   .event-result-ttl-en {
      font-size: 16px;
   }

   .acf-taxonomy-search {
      grid-template-columns: 1fr;
   }

   .wpforms-field-row.wpforms-field-large {
      flex-direction: column !important;
   }

   .wpforms-field-row-block.wpforms-one-half.wpforms-first,
   .wpforms-field-row-block.wpforms-one-half {
      width: 100% !important;
      padding: 0 !important;
   }

   .wpforms-one-half.wpforms-first,
   .wpforms-one-half {
      width: 100% !important;
      margin: 0 !important;
   }

   .wpforms-field-row-block.wpforms-one-half {
      margin-top: 15px;
   }
}