/**
 * Theme Name: Regina 2026
 * Template:   blocksy
 * Author: Iryna Lesyk
 * Author URI:
 * Version: 1
 */

/* ===== 1. Прив'язка наших токенів до палітри Blocksy ===== */
:root{
  --navy: var(--theme-palette-color-4);
  --navy-soft: var(--theme-palette-color-7);
  --ivory: var(--theme-palette-color-6);
  --ivory-dim: var(--theme-palette-color-5);
  --brass: var(--theme-palette-color-1);
  --brass-hover: var(--theme-palette-color-2);
  --muted: var(--theme-palette-color-3);
  --muted-light: #9AA2B4; /* окремо, бо в палітрі лишень 8 слотів і всі вже зайняті */
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --sans: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --script: 'Pinyon Script', 'Brush Script MT', cursive;
}

/* Header */
.ct-header .ct-icon {
  fill: var(--ivory-dim);
}

/* ===== 3. Лого в шапці (монограма + рукописний вордмарк) ===== */
.brand-name, .site-title, .ct-logo-text{
  font-family: var(--script) !important;
  font-size: 1.85rem;
  line-height: 1;
  color: var(--ivory) !important;
}
.script-text-font{
  font-family: var(--script) !important;
}
.brand-role, .site-tagline{
  font-family: var(--sans) !important;
  font-size: .7rem;
  letter-spacing: .18em;
  color: var(--muted-light) !important;
}
.monogram{
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--brass);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--script);font-size:1.45rem;color:var(--ivory);
}

/* ===== 5. Кнопки ===== */
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
  border-width: 1px !important;
}

/* ===== 6. Тонкі лінії-розділювачі замість карток/тіней ===== */
.ct-container hr, .wp-block-separator{
  border: none;
  border-top: 1px solid var(--ivory-dim);
}

/* ===== 7. Секція-цитата (Press quote на темному фоні) ===== */
.quote{background:var(--navy);color:var(--ivory);}
.quote blockquote{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(1.3rem,3.2vw,1.95rem);line-height:1.45;
}
.quote cite{font-family:var(--sans);font-style:normal;font-size:.8rem;color:var(--muted-light);}

/**/
.ct-footer {
  background: var(--navy) !important;
}
.ct-footer .ct-container{
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.ct-footer .widget_text {
  margin: 0 !important;
}

.ct-footer .widget_text .wp-block-paragraph a {
  text-decoration: none;
  border-bottom: 1px solid var(--brass);
  padding-bottom: 2px;
}

.ct-footer .widget_text .wp-block-paragraph a:hover {
  border-bottom-color: transparent;
}

.ct-footer [data-row*="bottom"] .ct-container {
  border-top: 1px solid rgba(242, 238, 230, .14);
  padding-top: 1.2rem;
  padding-bottom: 1.5rem;
}

/**/
.wp-block-group.is-style-wrap{
  padding-top: clamp(3.5rem, 7vw, 6rem);
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
  margin-top: 0;
  margin-bottom: 0;
}
#tribe-events{
  padding-top: clamp(3.5rem, 7vw, 6rem) !important;
  padding-bottom: clamp(3.5rem, 7vw, 6rem) !important;
  margin-top: 0;
  margin-bottom: 0;
}
.wp-block-group.is-style-page-head{
  padding-top: clamp(2.4rem, 5vw, 3.5rem);
  padding-bottom: clamp(2.4rem, 5vw, 3.5rem);
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  background: var(--navy);
  color: var(--ivory);

  .wp-block-heading {
    color: var(--ivory);
    font-size: clamp(2.1rem, 4.6vw, 3.2rem);
    margin: 0;
  }
}

h2.wp-block-heading:not(.has-medium-font-size):not([style*="font-size"]) {
  font-size: clamp(1.7rem, 3.6vw, 2.4rem) !important;
}

.ecs-event-list {
  padding: 0;
  list-style: none;

  .ecs-event {
    border-top: 1px solid var(--ivory-dim);
    display: flex;
    gap: 1.25rem;

    .duration.time {
      order: 0;
      font-family: var(--sans);
      font-size: .85rem;
      color: var(--muted);
      letter-spacing: .02em;
      max-width: 180px;
    }

    .entry-title {
      order: 1;
      font-family: var(--serif);
      font-weight: 400;
      font-size: 1.18rem;
      margin: 0 0 .3rem;
    }

    .duration.venue {
      order: 2;
      margin-left: auto;
      font-family: var(--sans);
      font-size: .85rem;
      color: var(--muted);
      white-space: nowrap;

      em {
        display: none;
      }
    }

    &:last-child {
      border-bottom: 1px solid var(--ivory-dim);
      padding: 1.25rem 0;
    }
  }
}

.ecs-view-all-events {
  text-align: right;
}

.wp-block-breadcrumbs ol {
  justify-content: center;
  margin: 0 0 .9rem;
}
.wp-block-breadcrumbs li {
  font-family: var(--sans);
  font-size: .78rem;
  letter-spacing: .04em;
  color: var(--muted-light);
}

.wp-block-breadcrumbs li a {
  color: var(--muted-light);
}

.bio-section {
  padding: clamp(1.8rem, 4vw, 2.6rem) 0;
  border-top: 1px solid var(--ivory-dim);
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  .wp-block-columns {
    gap: clamp(1.5rem, 4vw, 3rem);
  }
}

.bio-section-body {
  font-family: var(--serif);
  font-weight: 300;
  font-size: 1.05rem;
  line-height: 1.75;
  max-width: 64ch;
}

.bio-section-body p {
  margin: 0;
}

.bio-section-body p  + p {
  margin-top: 1rem;
}

.bio-section .wp-block-column h2.wp-block-heading {
  font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.575), 24px) !important;
}
@media (max-width: 760px){
  .bio-section .wp-block-column .wp-block-heading {
    font-size: 1.35rem !important;
  }
}

.is-style-press-table table {
  border: none;
}

.is-style-press-table td {
  border: none;
  border-top: 1px solid var(--ivory-dim);
  padding: 1.5rem 0;
  font-family: var(--sans);
  font-size: .83rem;
  color: var(--muted);
  font-style: normal;
}

.is-style-press-table td:first-child {
  font-family: var(--sans);
  font-size: .85rem;
  color: var(--muted);
  width: calc(110px + 1.5rem);
  padding-right: 1.5rem
}

@media (max-width: 550px) {
  .is-style-press-table td:first-child {
    width: calc(70px + 0.75rem);
    padding-right: 0.75rem
  }
}

.is-style-press-table td em {
  color: var(--muted-light);
  font-style: normal;
}

.is-style-press-table td strong {
  margin: 0 0 .6rem;
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: 1.12rem;
  line-height: 1.6;
  color: var(--navy);
  display: block;
}
.is-style-press-table td strong + br {
  display: none;
}

.is-style-press-table tr:last-child td{
  border-bottom: 1px solid var(--ivory-dim);
}

/**/
.rep-wrap{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(3rem,6vw,5rem);}
.rep-intro{font-family:var(--serif);font-weight:300;font-size:1.05rem;line-height:1.7;max-width:60ch;margin:0 0 2rem;}

details.rep-category{border-top:1px solid var(--ivory-dim);padding:1.1rem 0;margin: 0;}
details.rep-category:last-of-type{border-bottom:1px solid var(--ivory-dim);}
details.rep-category > summary{
  font-family:var(--serif);font-weight:400;font-size:1.5rem;
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:.6rem;padding:.3rem 0;
  margin-bottom: 0 !important;
}
details.rep-category > summary::-webkit-details-marker{display:none;}
details.rep-category > summary::before{content:'+';color:var(--brass);font-size:1.2rem;width:1em;flex-shrink:0;}
details.rep-category[open] > summary::before{content:'–';}
details.rep-category .rep-count{font-family:var(--sans);font-size:.78rem;color:var(--muted);}
details.rep-category > *:not(summary){margin-left:1.8rem;}

details.rep-composer{border-top:1px solid var(--ivory-dim);padding:.8rem 0;margin-top: 0;margin-bottom: 0}
details.rep-composer > summary{
  font-family:var(--sans);font-weight:500;font-size:.98rem;
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem;color:var(--navy); margin-top: 0; margin-bottom: 0;
}
details.rep-composer > summary::-webkit-details-marker{display:none;}
details.rep-composer > summary::after{content:'⌄';color:var(--brass);font-size:.8rem;position: relative;top: -3px}
details.rep-composer[open] > summary::after{content:'⌃';top: 3px;}

ul.rep-works{list-style:none;margin:.8rem 0 0;padding:0;}
ul.rep-works li{
  font-family:var(--serif);font-weight:300;font-size:.98rem;color:var(--muted);
  padding:.4rem 0 .4rem 1rem;border-left:1px solid var(--ivory-dim);
}

/**/
.hero-section {
  width: 100% !important;
  max-width: 100% !important;
  background:var(--navy);
  color:var(--ivory);
  padding-top:clamp(2.4rem,5vw,3.5rem);padding-bottom:clamp(2.4rem,5vw,3.5rem);
  text-align:center;
}
.hero-section .entry-header {
  margin-inline: auto;
  width: var(--theme-container-width);
  max-width: var(--theme-block-max-width);
}

.hero-section .entry-header .page-title {
  color:var(--ivory);
  text-align:center;
}
/* ===== Хлібна крихта "« All Events" ===== */
.tribe-events-back{
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  margin-bottom: 1.5rem;
}
.tribe-events-back a{
  color: var(--muted) !important;
  text-decoration: none !important;
}
.tribe-events-back a:hover{ color: var(--brass) !important; }

/* ===== Заголовок події ===== */
h1.tribe-events-single-event-title{
  font-family: var(--serif) !important;
  font-weight: 300 !important;
  font-size: clamp(2rem, 4.5vw, 3rem) !important;
  color: var(--navy) !important;
  line-height: 1.1 !important;
  margin: 0 0 1rem !important;
}

/* ===== Дата / ціна під заголовком ===== */
.tribe-events-schedule{
  font-family: var(--sans) !important;
  font-size: .92rem !important;
  color: var(--muted) !important;
  margin-bottom: 1.8rem !important;
}
.tribe-events-cost{
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  color: var(--navy) !important;
  background: var(--ivory-dim);
  padding: .2rem .7rem;
  margin-left: .6rem;
}

/* ===== Опис події ===== */
.tribe-events-single-event-description p{
  font-family: var(--serif) !important;
  font-weight: 300 !important;
  font-size: 1.08rem !important;
  line-height: 1.75 !important;
  color: var(--navy) !important;
  max-width: 68ch;
}

/* ===== Кнопка "Add to calendar" ===== */
.tribe-events-c-subscribe-dropdown__button{
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  border: 1px solid var(--brass) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--navy) !important;
  padding: .7rem 1.2rem !important;
}
.tribe-events-c-subscribe-dropdown__button-icon path,
.tribe-events-c-subscribe-dropdown__export-icon path{
  fill: var(--brass) !important;
  stroke: var(--brass) !important;
}
.tribe-events-c-subscribe-dropdown__content{
  background: var(--ivory) !important;
  border: 1px solid var(--ivory-dim) !important;
  border-radius: 0 !important;
}
.tribe-events-c-subscribe-dropdown__list-item-link{
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  color: var(--navy) !important;
}
.tribe-events-c-subscribe-dropdown__list-item-link:hover{ color: var(--brass) !important; }

/* ===== Details / Venue блоки ===== */
.tribe-events-single-section{
  border-top: 1px solid var(--ivory-dim);
  padding-top: 2rem;
  margin-top: 2.5rem;
}
h2.tribe-events-single-section-title{
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: .06em !important;
  color: var(--muted) !important;
  text-transform: none !important;
  margin-bottom: 1rem !important;
}
.tribe-events-meta-list{
  list-style: none !important;
  margin: 0 !important; padding: 0 !important;
}
.tribe-events-meta-item{
  font-family: var(--serif) !important;
  font-size: .98rem !important;
  color: var(--navy) !important;
  padding: .5rem 0 !important;
  border-top: 1px solid var(--ivory-dim);
}
.tribe-events-meta-item:first-child{ border-top: none; }
.tribe-events-meta-label{
  font-family: var(--sans) !important;
  font-size: .78rem !important;
  color: var(--muted) !important;
  display: block !important;
  margin-bottom: .2rem !important;
}
.tribe-events-address{ font-style: normal !important; }
.tribe-events-gmap{
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  color: var(--brass) !important;
}

/* ===== Google map — легкий приглушений вигляд замість яскравих кольорів карти ===== */
.tribe-events-venue-map iframe{
  filter: grayscale(35%) contrast(0.95);
  border: 1px solid var(--ivory-dim) !important;
}

/* ===== Навігація prev/next подія ===== */
.tribe-events-nav-pagination{
  border-top: 1px solid var(--ivory-dim);
  padding-top: 1.2rem;
  margin-top: 2.5rem;
}
.tribe-events-sub-nav{ list-style: none !important; padding: 0 !important; margin: 0 !important; }
.tribe-events-sub-nav a{
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  color: var(--muted) !important;
  text-decoration: none !important;
}
.tribe-events-sub-nav a:hover{ color: var(--brass) !important; }

/* ===== Details / Venue / Map — правильний grid замість float-колонок ===== */
.tribe-events-single-section.tribe-events-event-meta.primary{
  display: grid !important;
  grid-template-columns: 200px 240px 1fr !important;
  gap: 2.5rem !important;
  align-items: start !important;
  width: 100%;
}

.tribe-events-meta-group{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.tribe-events-meta-group-gmap{
  width: 100% !important;
  height: 100%;
}
.tribe-events-venue-map{
  width: 100% !important;
  height: calc(100% - var(--tec-spacer-7) - var(--tec-spacer-5))
}
.tribe-events-venue-map iframe{
  width: 100% !important;
  height: 320px !important;
  display: block !important;
}
@media (min-width: 768px) {
  .tribe-events-venue-map iframe {
    height: 100% !important;
    max-height: unset !important;
  }
}

/* ===== Прибрати підкреслення в датах (це <abbr>, браузер додає сам) ===== */
.tribe-events-abbr{
  text-decoration: none !important;
  border-bottom: none !important;
  cursor: default !important;
}

/* ===== Мобільна версія — назад у стовпчик ===== */
@media (max-width: 780px){
  .tribe-events-single-section.tribe-events-event-meta.primary{
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

.tribe-events-address .tribe-address {
  display: block;
}

.wpcf7 form .field-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
}
.wpcf7 form .field{
  margin: 0 0 1.1rem;
}
.wpcf7 form .field label{
  display: block;
  font-family: var(--sans);
  font-size: .8rem;
  font-weight: 500;
  color: var(--muted);
  margin-bottom: .4rem;
}
.wpcf7 form .wpcf7-form-control{
  width: 100%;
  font-family: var(--sans);
  font-size: .95rem;
  color: var(--navy);
  background: transparent;
  border: 1px solid rgba(16,26,49,.22);
  border-radius: 0;
  padding: .75rem .85rem;
}
.wpcf7 form textarea.wpcf7-form-control{
  min-height: 130px;
  resize: vertical;
}
.wpcf7 form select.wpcf7-form-control{
  width: 100%;
  font-family: var(--sans);
  font-size: .95rem;
  color: var(--navy);
  background-color: transparent;
  border: 1px solid rgba(16,26,49,.22);
  border-radius: 0;
  padding: .75rem 2.2rem .75rem .85rem;
  height: auto;
  min-height: 0;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23A98A4B' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  background-size: 10px 7px;
}
.wpcf7 form select.wpcf7-form-control::-ms-expand{
  display: none;
}
.wpcf7 form .wpcf7-form-control:focus{
  border-color: var(--brass);
  outline: none;
}
.wpcf7-form-control-wrap{ display:block; }

/* кнопка */
.wpcf7 form input.btn{
  font-family: var(--sans);
  font-size: .88rem;
  font-weight: 500;
  padding: .8rem 1.5rem;
  background: var(--brass);
  color: var(--navy);
  border: 1px solid var(--brass);
  cursor: pointer;
}
.wpcf7 form input.btn:hover{ background: var(--brass-hover); }

/* повідомлення про помилку/успіх */
.wpcf7-not-valid-tip{
  font-family: var(--sans);
  font-size: .78rem;
  color: #b3402f;
  margin-top: .3rem;
}
.wpcf7-response-output{
  font-family: var(--sans);
  font-size: .85rem;
  border-radius: 0 !important;
  margin-top: 1.5rem !important;
}

@media (max-width: 620px){
  .wpcf7 form .field-row{ grid-template-columns: 1fr; }
}
.wpcf7 form br{
  display: none;
}