/* ========================================
   EVENTS PUBLIC
======================================== */

body.events-public-body{
    margin:0;
    background:var(--events-bg,#F9FAF7);
    color:var(--events-text,#414d64);
    font-family:Inter,Arial,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.events-public-page{
    width:100%;
    max-width:820px;
    margin:0 auto;
    min-height:100vh;
    background:var(--events-bg,#F9FAF7);
    box-shadow:0 0 50px rgba(65,77,100,.08);
    overflow:visible;
    box-sizing:border-box;
}

.events-public-sections{
    padding:18px 18px 42px;
    box-sizing:border-box;
}

.events-section{
    padding:16px 0;
    text-align:center;
}

/* ========================================
   CARD
======================================== */

.events-card{
    background:var(--events-card-bg,#fff);
    border:1px solid var(--events-border,#DCE9E7);
    border-radius:28px;
    padding:22px;
    box-shadow:0 6px 18px rgba(65,77,100,.08);
    box-sizing:border-box;
}

.events-card h2{
    margin:0 0 18px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    line-height:1.2;
    font-weight:400;
    color:var(--events-text,#414d64);
}

.events-text{
    font-size:18px;
    line-height:1.75;
    color:var(--events-text,#414d64);
}

.events-address{
    font-size:18px;
    line-height:1.75;
    color:var(--events-text,#414d64);
}

.events-text-details{
    text-align:left;
}

/* ========================================
   HERO
======================================== */

.events-hero,
.events-default-hero{
    position:relative;
    overflow:hidden;
    color:#fff;
    border-radius:18px;
}

.events-default-hero{
    min-height:460px;
}

.events-hero-img{
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    border-radius: 28px;
}

.events-hero-content{
    position:absolute;
    left:50%;
    z-index:2;

    display:inline-flex;
    flex-direction:column;

    width:max-content;
    max-width:calc(100% - 40px);

    padding:8px 12px;

    transform:translateX(-50%);

    border-radius:18px;

    background:rgba(255,255,255,.22);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    box-shadow:0 8px 22px rgba(0,0,0,.08);

    box-sizing:border-box;
    text-align:center;

    overflow-wrap:anywhere;
    word-break:break-word;
}

.events-hero-content-top{
    top:18px;
}

.events-hero-content-middle{
    top:50%;
    transform:translate(-50%,-50%);
}

.events-hero-content-bottom{
    bottom:18px;
}

.events-hero h1{
    margin:0 0 8px;

    font-family:Georgia,"Times New Roman",serif;
    font-size:50px;
    line-height:1.08;
    font-weight:400;

    color:var(--events-text,#414d64);

    text-wrap:pretty;
}

.events-hero p,
.events-date-text{
    margin:0;
    color:var(--events-text,#414d64);
}

.events-hero p{
    font-size:21px;
}

.events-date-text{
    font-size:18px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

/* ========================================
   IMAGES
======================================== */

.events-card img,
.events-final-image img{
    display:block;
    width:100%;
    height:auto;
    border-radius:18px;
}

.events-final-image{
    position:relative;
    overflow:hidden;
}

.events-final-image-caption{
    position:absolute;
    left:50%;
    z-index:2;

    transform:translateX(-50%);

    width:max-content;
    max-width:calc(100% - 40px);

    padding:8px 12px;

    border-radius:18px;

    background:rgba(255,255,255,.22);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    box-shadow:0 8px 22px rgba(0,0,0,.08);

    text-align:center;
    box-sizing:border-box;

    overflow-wrap:anywhere;
    word-break:break-word;
}

.events-final-image-top .events-final-image-caption{
    top:18px;
}

.events-final-image-middle .events-final-image-caption{
    top:50%;
    transform:translate(-50%,-50%);
}

.events-final-image-bottom .events-final-image-caption{
    bottom:18px;
}

/* ========================================
   BUTTON
======================================== */

.events-public-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:11px 20px;
    margin-top:14px;

    border:0;
    border-radius:12px;

    background:var(--events-accent,#6FA5A0);
    color:#fff;

    text-decoration:none;
    font-size:15px;
    cursor:pointer;

    transition:.2s ease;
}

.events-public-btn:hover{
    filter:brightness(.92);
    color:#fff;
}

/* ========================================
   PROGRAM
======================================== */

.events-program{
    display:grid;
    gap:0;

    max-width:560px;
    margin:0 auto;

    text-align:left;
}

.events-program-row{
    display:grid;
    grid-template-columns:88px 1fr;
    gap:16px;

    padding:10px 0;

    border-bottom:1px solid var(--events-border,#DCE9E7);

    font-size:17px;
    line-height:1.5;
}

.events-program-row:last-child{
    border-bottom:0;
}

.events-program-row strong{
    color:var(--events-accent,#6FA5A0);
}

/* ========================================
   CALENDAR
======================================== */

.events-calendar{
    margin:0 auto;
}
/*  COMPACT CALENDAR */
.events-calendar-compact{
    max-width:420px;
}

/* WIDE CALENDAR */
.events-calendar-wide{
    width:100%;
    max-width:100%;
}

/* подпись под календарем */
.events-calendar-wide p{
    width:100%;
    max-width:100%;
    margin-top:18px;
    box-sizing:border-box;
}

.events-month{
    font-size:20px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--events-muted,#6D7688);
}

.events-day{
    margin:8px 0;

    font-family:Georgia,"Times New Roman",serif;
    font-size:86px;
    line-height:1;

    color:var(--events-accent,#6FA5A0);
}

.events-weekday{
    font-size:21px;
    color:var(--events-text,#414d64);
}

.events-month-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:6px;

    max-width:420px;
    margin:16px auto 0;
}

.events-week-head{
    font-size:12px;
    font-weight:700;
    color:var(--events-muted,#6D7688);
}

.events-month-day,
.events-day-empty{
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:36px;

    border-radius:10px;
    border:1px solid var(--events-border,#DCE9E7);

    background:var(--events-accent-soft,#F2F7F6);

    box-sizing:border-box;
}

.events-month-day{
    color:var(--events-text,#414d64);
}

.events-day-empty{
    color:transparent;
}

.events-month-day.is-event-day{
    background:var(--events-accent,#6FA5A0);
    border-color:var(--events-accent,#6FA5A0);
    color:#fff;
}

/* ========================================
   TIMER
======================================== */

.events-timer h2{
    color:var(--events-text,#414d64);
}

.events-timer-values{
    display:flex;
    justify-content:center;
    gap:12px;

    width:100%;
    margin-top:16px;

    box-sizing:border-box;
}

.events-timer-unit{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    flex:0 0 84px;

    min-width:84px;
    max-width:84px;

    padding:10px 8px;

    border-radius:18px;
    border:1px solid var(--events-border,#DCE9E7);

    background:var(--events-accent-soft,#F2F7F6);

    box-sizing:border-box;
}

.events-timer-unit.events-days-long{
    flex-basis:100px;
    min-width:100px;
    max-width:100px;
}

.events-timer-number{
    font-size:44px;
    line-height:1;
    font-weight:900;
    color:var(--events-accent,#6FA5A0);
    font-variant-numeric:tabular-nums;
}

.events-timer-label{
    margin-top:4px;

    font-size:18px;
    line-height:1.1;
    font-weight:700;

    color:var(--events-muted,#6D7688);
}

.events-timer-ended .events-timer-values{
    display:block;
    font-size:24px;
    line-height:1.4;
    font-weight:700;
    color:var(--events-accent,#6FA5A0);
}

/* ========================================
   RSVP
======================================== */

.events-rsvp-form{
    display:grid;
    gap:11px;

    max-width:560px;
    margin:0 auto;

    text-align:left;
}

.events-rsvp-form input,
.events-rsvp-form textarea,
.events-rsvp-form select{
    width:100%;
    padding:12px;

    border:1px solid var(--events-border,#DCE9E7);
    border-radius:14px;

    background:var(--events-card-bg,#fff);
    color:var(--events-text,#414d64);

    box-sizing:border-box;
}

.events-rsvp-form input:focus,
.events-rsvp-form textarea:focus,
.events-rsvp-form select:focus{
    outline:none;
    border-color:var(--events-accent,#6FA5A0);
    box-shadow:0 0 0 4px rgba(190,228,225,.45);
}

.events-rsvp-question{
    font-weight:700;
    color:var(--events-text,#414d64);
}

.events-check,
.events-radio-line{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:10px 0;
    cursor:pointer;
    font-size:16px;
    line-height:1.45;
}

.events-check input,
.events-radio-line input{
    width:18px;
    height:18px;
    margin:2px 0 0;
    flex:0 0 18px;
}

.events-rsvp-message{
    font-weight:700;
    text-align:center;
    color:var(--events-accent,#6FA5A0);
}

/* ========================================
   DRESS CODE
======================================== */

.events-colors{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;

    margin-top:22px;
}

.events-colors span{
    display:block;

    width:54px;
    height:54px;

    border-radius:50%;

    border:3px solid #fff;
    box-shadow:
        0 4px 12px rgba(0,0,0,.08),
        0 0 0 1px rgba(65,77,100,.12);

    flex:0 0 54px;
}

/* ========================================
   MAP
======================================== */

.events-map iframe{
    width:100%;
    min-height:260px;

    border:0;
    border-radius:22px;
}

/* ========================================
   PORTFOLIO
======================================== */

.events-portfolio{
    width:100%;
    max-width:1360px;

    margin:0 auto;
    padding:28px 18px;

    box-sizing:border-box;
    min-width:0;
}

.events-portfolio-group{
    margin-bottom:44px;
}

.events-portfolio-group:last-child{
    margin-bottom:0;
}

.events-portfolio-group-title{
    margin:0 0 18px;

    font-size:30px;
    line-height:1.2;
    font-weight:800;

    color:var(--events-text,#414d64);
}

.events-portfolio-grid{
    display:grid;

    width:100%;
    max-width:100%;
    min-width:0;

    grid-template-columns:
    repeat(auto-fit,minmax(clamp(250px,22vw,220px),1fr));

    gap:20px;

    box-sizing:border-box;
    overflow:hidden;
}

.events-portfolio-grid > *{
    min-width:0;
}

.events-portfolio-card{
    display:flex;
    flex-direction:column;

    width:100%;
    min-width:0;

    border-radius:22px;
    overflow:hidden;

    background:#fff;
    border:1px solid rgba(65,77,100,.18);

    box-shadow:0 6px 18px rgba(65,77,100,.08);

    box-sizing:border-box;
}

.events-portfolio-image-link{
    display:block;
    position:relative;

    aspect-ratio:3/2;

    overflow:hidden;
    background:#f4f5f1;
}

.events-portfolio-image{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;
    transition:transform .25s ease;
}

.events-portfolio-card:hover .events-portfolio-image{
    transform:scale(1.03);
}

.events-portfolio-card-body{
    padding:14px;
}

.events-portfolio-title{
    margin:0 0 8px;

    font-size:16px;
    line-height:1.3;
}

.events-portfolio-title a{
    color:var(--events-text,#414d64);
    text-decoration:none;
}

.events-portfolio-title a:hover{
    text-decoration:underline;
}

.events-portfolio-blocks{
    font-size:13px;
    line-height:1.45;
    color:var(--events-muted,#6D7688);
}

/* ========================================
   SAMPLE NAV
======================================== */

.events-sample-nav{
    position:sticky;
    top:0;
    z-index:100;

    padding:8px 10px;

    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);

    border-bottom:1px solid rgba(0,0,0,.08);
}

body.admin-bar .events-sample-nav{
    top:32px;
}

.events-sample-nav-inner{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:14px;

    max-width:1100px;
    margin:0 auto;
}

.events-sample-nav a{
    font-size:14px;
    font-weight:600;

    text-decoration:none;

    transition:opacity .2s ease;
}

.events-sample-nav a:hover{
    opacity:.82;
}

/* ========================================
   RESPONSIVE
======================================== */

@media(max-width:782px){

    body.admin-bar .events-sample-nav{
        top:46px;
    }
}

@media(max-width:640px){

    .events-public-page{
        max-width:none;
        box-shadow:none;
    }

    .events-public-sections{
        padding:12px 12px 32px;
    }

    .events-card{
        padding:18px;
        border-radius:22px;
    }

    .events-hero h1{
        font-size:22px;
    }

    .events-hero p{
        font-size:18px;
    }

    .events-program-row{
        grid-template-columns:74px 1fr;
        gap:12px;
    }

    .events-timer-values{
        gap:8px;
    }

    .events-timer-unit{
        flex:1 1 0;
        min-width:0;
        max-width:none;
    }

    .events-timer-unit.events-days-long{
        flex:1.25 1 0;
        min-width:0;
        max-width:none;
    }

    .events-timer-number{
        font-size:34px;
    }

    .events-timer-label{
        font-size:16px;
    }

    .events-portfolio{
        padding:18px 12px;
    }

    .events-portfolio-group{
        margin-bottom:32px;
    }

    .events-portfolio-group-title{
        font-size:24px;
    }

    .events-portfolio-grid{
        gap:16px;
    }
}

@media(max-width:380px){

    .events-timer-number{
        font-size:30px;
    }

    .events-timer-label{
        font-size:14px;
    }
}

/* ========================================
   COMPACT PORTFOLIO
======================================== */

.events-portfolio-compact .events-portfolio-grid{
    grid-template-columns:
    repeat(auto-fit,minmax(clamp(140px,16vw,222px),1fr)); /*размер портфолио*/

    gap:14px;
}

.events-portfolio-compact .events-portfolio-card{
    border-radius:18px;
}

.events-portfolio-compact .events-portfolio-card-body{
    padding:12px;
}

.events-portfolio-compact .events-portfolio-title{
    font-size:14px;
    line-height:1.25;
}

.events-portfolio-compact .events-portfolio-blocks{
    font-size:12px;
    line-height:1.35;
}

@media(max-width:640px){

    .events-portfolio-compact .events-portfolio-grid{
        grid-template-columns:
        repeat(auto-fit,minmax(140px,1fr));

        gap:12px;
    }
}

/*************************************************
/* Блоки на главной 
/************************************************/
/* ===== ОБЩИЕ БЛОКИ ===== */

.ui-section{
max-width:1100px;
margin:50px auto;
}

.ui-box{
background:#fff;
border-radius:28px;
padding:50px 40px;
box-shadow:0 10px 35px rgba(0,0,0,.05);
border: 3px solid var(--events-border,#DCE9E7);
}

.ui-box-soft{
background:linear-gradient(135deg,#f8fbfb,#eef5f5);
border-radius:28px;
padding:50px 40px;
border: 3px solid var(--events-border,#DCE9E7);
}
/*
.ui-title{
font-size:38px;
line-height:1.3;
margin-bottom:18px;
text-align:center;
}
*/
.ui-subtitle{
font-size:18px;
line-height:1.8;
color:#666;
max-width:760px;
margin:0 auto 25px;
text-align:center;
}

.ui-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:20px;
}

.ui-grid-2{
grid-template-columns:repeat(2,1fr);
max-width:700px;
margin:0 auto;
}

@media (max-width:768px){
.ui-grid-2{
grid-template-columns:1fr;
}
}

.ui-card{
background:#fff;
border-radius:22px;
padding:30px;
box-shadow:0 6px 25px rgba(0,0,0,.05);
}

.ui-card-soft{
background:#fafafa;
border-radius:22px;
padding:20px;
border: 3px solid var(--events-border,#DCE9E7);
}

.ui-center{
text-align:center;
}

.ui-icon{
font-size:42px;
margin-bottom:15px;
}

.ui-note{
font-size:17px;
line-height:1.7;
color:#666;
text-align:center;
margin-top:25px;
}
/*
.ui-badge{
display:inline-block;
padding:10px 18px;
background:#edf6f6;
color:#6f9698;
border-radius:30px;
font-size:15px;
font-weight:600;
margin-bottom:20px;
}
*/
.ui-number{
width:50px;
height:50px;
border-radius:50%;
background:#7ea7aa;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
font-weight:700;
margin:0 auto 18px;
}

.ui-btn{
display:inline-block;
padding:10px 20px;
background:#7ea7aa;
color:#fff;
text-decoration:none;
border-radius:14px;
font-weight:600;
font-size:17px;
transition:.3s;
}

.ui-btn:hover{
opacity:.9;
transform:translateY(-2px);
}

/* ===== ОТЗЫВЫ ===== */

.review-stars{
font-size:24px;
margin-bottom:18px;
}

.review-text{
font-size:17px;
line-height:1.8;
color:#555;
margin-bottom:22px;
}

.review-author{
font-size:16px;
font-weight:600;
color:#7ea7aa;
}

/* ===== FAQ ===== */

.faq-item{
background:#fff;
border-radius:20px;
padding:18px 21px;
box-shadow:0 6px 25px rgba(0,0,0,.05);
border: 3px solid var(--events-border,#DCE9E7);
margin-bottom:18px;
}

.faq-item summary{
cursor:pointer;
font-size:18px;
font-weight:700;
list-style:none;
}

.faq-item summary::-webkit-details-marker{
display:none;
}

.faq-answer{
margin-top:18px;
color:#666;
line-height:1.8;
font-size:17px;
}

/*Отзывы на главной */
.review-stars{
font-size:24px;
}

.review-text{
font-size:17px;
line-height:1.8;
color:#555;
}

.review-author{
font-size:16px;
font-weight:600;
color:#7ea7aa;
margin-bottom:18px;
}


/* ===== 1.0.22 public image block cleanup ===== */
.events-image-block img{display:block;width:100%;height:auto;border-radius:inherit;filter:none!important;image-rendering:auto!important;}
.events-image-block .events-image-text{padding:10px 0;}
.events-image-block .events-image-text h2{margin:0 0 8px;font-size:clamp(24px,5vw,42px);line-height:1.12;}
.events-image-block .events-image-text .events-text{font-size:clamp(16px,3.6vw,20px);line-height:1.55;}
.events-image-text-top{text-align:left;}
.events-image-text-middle{text-align:center;}
.events-image-text-bottom{text-align:right;}
.events-calendar p{font-size:1.12em;font-weight:600;}

/* ===== FINAL IMAGE BLOCK POSITION FIXES 2026-06-02 ===== */
.events-image-block{position:relative;overflow:hidden;}
.events-image-media-wrap{position:relative;width:100%;}
.events-image-media-wrap img{display:block;width:100%;height:auto;filter:none!important;image-rendering:auto!important;}
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  position:absolute;
  left:0;
  right:0;
  z-index:2;
  padding:18px;
  text-align:center;
  color:inherit;
}
.events-image-position-top .events-image-media-wrap .events-image-text{top:0;}
.events-image-position-middle .events-image-media-wrap .events-image-text{top:50%;transform:translateY(-50%);}
.events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:0;}
.events-image-position-above .events-image-text,
.events-image-position-below .events-image-text{padding:10px 0;text-align:center;}
.events-image-block .events-image-text h2{margin:0 0 8px;font-size:clamp(24px,5vw,42px);line-height:1.12;}
.events-image-block .events-image-text .events-text{font-size:clamp(16px,3.6vw,20px);line-height:1.55;}


/* ===== REAL FIXES: readable image text and rounded media ===== */
.events-image-block,
.events-image-media-wrap,
.events-image-block img,
.events-location-block img{
  border-radius:20px!important;
  overflow:hidden!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  left:14px!important;
  right:14px!important;
  width:auto!important;
  max-width:calc(100% - 28px)!important;
  margin:0 auto!important;
  padding:12px 16px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.12)!important;
  text-align:center!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text{top:14px!important;}
.events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:14px!important;}
.events-image-position-middle .events-image-media-wrap .events-image-text{top:50%!important;transform:translateY(-50%)!important;}

/* ===== Client requested public fixes 2026-06-02 ===== */
.events-image-block,
.events-image-media-wrap,
.events-image-block img,
.events-location-block img{
  border-radius:20px!important;
  overflow:hidden!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  left:50%!important;
  right:auto!important;
  width:max-content!important;
  max-width:calc(100% - 28px)!important;
  transform:translateX(-50%)!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.56)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.10)!important;
  text-align:center!important;
}
.events-image-position-middle .events-image-media-wrap .events-image-text{
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text{top:14px!important;}
.events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:14px!important;}
.events-image-position-above .events-image-text,
.events-image-position-below .events-image-text{padding:10px 0;text-align:center;}
.events-contacts-block{
  text-align:left!important;
}
.events-contacts-block p,
.events-contacts-block .events-text{
  margin:4px 0!important;
  line-height:1.35!important;
}
.events-location-block .events-text{margin-bottom:12px!important;}
.events-location-block img{margin:12px 0!important;}


/* === Events 1.0.86 public refinements === */
.events-rsvp-comment-hint,
.events-rsvp-comment-hint p{
  font-size:13px!important;
  line-height:1.35!important;
  color:var(--events-text-soft,#6f7a86)!important;
}
.events-contacts-block h2{
  text-align:center!important;
}
.events-contacts-block{
  text-align:left!important;
}
.events-contacts-block p,
.events-contacts-block .events-text{
  margin:4px 0!important;
  line-height:1.32!important;
}
.events-final-speech-block{
  padding-bottom:12px!important;
}
.events-final-speech-block .events-text,
.events-final-speech-block .events-text p:last-child{
  margin-bottom:0!important;
}
.events-block-final_speech.events-section{
  padding-bottom:4px!important;
}


/* === FINAL FIX: RSVP hint = radio-label size; mobile smaller === */
.events-rsvp-comment-hint,
.events-rsvp-comment-hint p{
  font-size:16px!important;
  line-height:1.45!important;
  margin:4px 0!important;
  color:var(--events-text-soft,#6f7a86)!important;
}
@media(max-width:520px){
  .events-rsvp-comment-hint,
  .events-rsvp-comment-hint p,
  .events-radio-line,
  .events-check{
    font-size:14px!important;
    line-height:1.35!important;
  }
}

/* ===== REAL PUBLIC UI FIXES 1.0.88.1 ===== */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  background:rgba(255,255,255,.42)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.08)!important;
}
.events-image-block .events-image-text .events-text{
  font-size:clamp(18px,3.8vw,22px)!important;
  line-height:1.55!important;
}
.events-sample-nav small,
.events-sample-nav em,
.events-sample-nav div,
.events-important-no-links{
  color:#111!important;
}
@media(max-width:640px){
  .events-public-page,
  .events-section,
  .events-block,
  .events-card{
    padding-top:calc(var(--events-section-pad,24px) * .62)!important;
    padding-bottom:calc(var(--events-section-pad,24px) * .62)!important;
  }
  .events-section{
    margin-bottom:12px!important;
  }
  .events-public-page h1,
  .events-public-page h2,
  .events-public-page h3,
  .events-section-title{
    font-size:calc(1em - 3px)!important;
    line-height:1.25!important;
  }
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text{
    padding:5px 8px!important;
    border-radius:10px!important;
    max-width:calc(100% - 20px)!important;
    background:rgba(255,255,255,.36)!important;
    backdrop-filter:blur(1.5px)!important;
    -webkit-backdrop-filter:blur(1.5px)!important;
  }
  .events-image-block .events-image-text h2{
    font-size:clamp(16px,5vw,24px)!important;
    line-height:1.12!important;
    margin-bottom:4px!important;
  }
  .events-image-block .events-image-text .events-text{
    font-size:clamp(12px,3.5vw,15px)!important;
    line-height:1.32!important;
  }
  .events-public-page button,
  .events-public-page .events-btn,
  .events-public-page input[type="submit"]{
    padding-top:6px!important;
    padding-bottom:6px!important;
    min-height:34px!important;
    font-size:14px!important;
    font-weight:500!important;
  }
  .events-theme-palette-preview span,
  .events-color-circle,
  .events-color-circles .events-color-circle{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
  }
}


/* ===== REAL PUBLIC PATCH 1.0.88.2 — image captions and mobile scale ===== */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  display:inline-block!important;
  left:50%!important;
  right:auto!important;
  width:auto!important;
  max-width:calc(100% - 28px)!important;
  transform:translateX(-50%)!important;
  padding:10px 14px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.32)!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.07)!important;
}
.events-image-position-middle .events-image-media-wrap .events-image-text{
  transform:translate(-50%,-50%)!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text{top:12px!important;}
.events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:12px!important;}
.events-image-block .events-image-text .events-text{
  font-size:clamp(18px,3.8vw,22px)!important;
  line-height:1.5!important;
}
.events-important-no-links,
.events-important-no-links *{
  color:#111!important;
}
@media(max-width:640px){
  .events-public-page,
  .events-section,
  .events-block,
  .events-card{
    padding-top:calc(var(--events-section-pad,24px) * .62)!important;
    padding-bottom:calc(var(--events-section-pad,24px) * .62)!important;
  }
  .events-public-page h1,
  .events-public-page h2,
  .events-public-page h3,
  .events-section-title{
    font-size:calc(1em - 3px)!important;
    line-height:1.25!important;
  }
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text{
    max-width:calc(100% - 18px)!important;
    padding:4px 7px!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.24)!important;
    backdrop-filter:blur(1px)!important;
    -webkit-backdrop-filter:blur(1px)!important;
  }
  .events-image-position-top .events-image-media-wrap .events-image-text{top:8px!important;}
  .events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:8px!important;}
  .events-image-block .events-image-text h2{
    font-size:clamp(16px,5vw,23px)!important;
    line-height:1.1!important;
    margin-bottom:3px!important;
  }
  .events-image-block .events-image-text .events-text{
    font-size:clamp(11px,3.3vw,14px)!important;
    line-height:1.28!important;
  }
  .events-public-page button,
  .events-public-page .events-btn,
  .events-public-page input[type="submit"]{
    min-height:32px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
    font-size:14px!important;
    font-weight:400!important;
  }
}

/* ===== EVENTS REAL FIX 1.0.88.13: textareas, image glow, circles ===== */

/* Normal textarea behavior: all text fields can grow vertically. */
.events-app textarea,
.events-editor textarea,
.events-block-form textarea,
.events-block-editor textarea,
.events-invitation-form textarea,
.events-main-settings textarea,
.events-field textarea,
textarea.events-autogrow {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 96px !important;
  /* height is intentionally not forced: manual vertical resize must work */
  max-height: none !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  overflow-y: auto !important;
  white-space: pre-wrap !important;
}

/* Remove old two-row limits from image text fields and other descriptions. */
.events-block-editor[data-block-type="image"] textarea,
.events-block-editor[data-block-type="image"] textarea[name="description"],
.events-block-editor[data-block-type="location"] textarea,
.events-block-editor textarea[name="text"],
.events-block-editor textarea[name="description"],
.events-block-editor textarea[name="after_text"],
.events-block-editor textarea[name="expired_text"],
.events-block-editor textarea[name="guest_comment_text"] {
  min-height: 104px !important;
  /* height is intentionally not forced: manual vertical resize must work */
  max-height: none !important;
  resize: vertical !important;
  overflow-y: auto !important;
}

/* One reliable circle system for editor color chips.
   Do not let compact rectangular picker styles affect saved color circles. */
.events-color-circles,
.events-block-editor[data-block-type="dresscode"] .events-color-circles,
.events-theme-palette-preview,
.events-theme-manual-settings .events-color-circles {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

.events-color-circles .events-color-circle,
.events-block-editor[data-block-type="dresscode"] .events-color-circles .events-color-circle,
.events-p6010 .events-color-circles .events-color-circle {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  flex: 0 0 52px !important;
  aspect-ratio: 1 / 1 !important;
  display: inline-block !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

/* The compact current color picker remains compact, but its saved colors stay circles. */
.events-block-editor[data-block-type="dresscode"] .events-p6010-current.events-dresscode-color-row .events-p6010-swatch {
  border-radius: 10px !important;
}

/* Palette preview circles remain real circles and cannot turn into ovals. */
.events-theme-palette-preview span {
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Larger, palette-based contrast glow for text placed on images.
   No black outline: the glow uses palette/accent tones and fades outward. */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text {
  background: transparent !important;
  box-shadow: none !important;
}

.events-image-position-top .events-image-media-wrap .events-image-text h2,
.events-image-position-middle .events-image-media-wrap .events-image-text h2,
.events-image-position-bottom .events-image-media-wrap .events-image-text h2,
.events-image-position-top .events-image-media-wrap .events-image-text .events-text,
.events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
.events-image-position-top .events-image-media-wrap .events-image-text p,
.events-image-position-middle .events-image-media-wrap .events-image-text p,
.events-image-position-bottom .events-image-media-wrap .events-image-text p {
  -webkit-text-stroke: 0 !important;
  text-shadow:
    0 0 1px color-mix(in srgb, var(--events-accent, #6FA5A0) 92%, white 8%),
    0 0 4px color-mix(in srgb, var(--events-accent, #6FA5A0) 78%, transparent),
    0 0 9px color-mix(in srgb, var(--events-accent, #6FA5A0) 55%, transparent),
    0 0 16px color-mix(in srgb, var(--events-accent, #6FA5A0) 34%, transparent),
    0 0 26px color-mix(in srgb, var(--events-accent, #6FA5A0) 20%, transparent),
    0 0 38px color-mix(in srgb, var(--events-card, #FFFFFF) 36%, transparent) !important;
}

/* Fallback for browsers without color-mix: still palette-colored, not black. */
@supports not (color: color-mix(in srgb, #000 50%, transparent)) {
  .events-image-position-top .events-image-media-wrap .events-image-text h2,
  .events-image-position-middle .events-image-media-wrap .events-image-text h2,
  .events-image-position-bottom .events-image-media-wrap .events-image-text h2,
  .events-image-position-top .events-image-media-wrap .events-image-text .events-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
  .events-image-position-top .events-image-media-wrap .events-image-text p,
  .events-image-position-middle .events-image-media-wrap .events-image-text p,
  .events-image-position-bottom .events-image-media-wrap .events-image-text p {
    text-shadow:
      0 0 1px rgba(111,165,160,.92),
      0 0 5px rgba(111,165,160,.72),
      0 0 12px rgba(111,165,160,.45),
      0 0 22px rgba(111,165,160,.28),
      0 0 34px rgba(255,255,255,.30) !important;
  }
}

@media (max-width: 640px) {
  .events-color-circles .events-color-circle,
  .events-block-editor[data-block-type="dresscode"] .events-color-circles .events-color-circle,
  .events-p6010 .events-color-circles .events-color-circle {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    flex-basis: 46px !important;
  }

  .events-app textarea,
  .events-editor textarea,
  .events-block-form textarea,
  .events-block-editor textarea,
  .events-invitation-form textarea {
    min-height: 88px !important;
  }
}


/* ===== EVENTS REAL FIX 1.0.88.16: palette halo for text on image ===== */
.events-app textarea,
.events-editor textarea,
.events-block-form textarea,
.events-demo-block-form textarea,
.events-block-editor textarea,
.events-invitation-form textarea,
.events-main-settings textarea,
.events-field textarea,
.events-rsvp-form textarea,
textarea.events-autogrow{
  width:100%!important;
  max-width:100%!important;
  min-height:96px!important;
  max-height:none!important;
  resize:vertical!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text h1,
.events-image-position-middle .events-image-media-wrap .events-image-text h1,
.events-image-position-bottom .events-image-media-wrap .events-image-text h1,
.events-image-position-top .events-image-media-wrap .events-image-text h2,
.events-image-position-middle .events-image-media-wrap .events-image-text h2,
.events-image-position-bottom .events-image-media-wrap .events-image-text h2,
.events-image-position-top .events-image-media-wrap .events-image-text .events-text,
.events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
.events-image-position-top .events-image-media-wrap .events-image-text p,
.events-image-position-middle .events-image-media-wrap .events-image-text p,
.events-image-position-bottom .events-image-media-wrap .events-image-text p{
  color:#fff!important;
  -webkit-text-stroke:0!important;
  text-shadow:
    0 0 .06em color-mix(in srgb, var(--events-accent,#6FA5A0) 92%, white 8%),
    0 0 .14em color-mix(in srgb, var(--events-accent,#6FA5A0) 74%, transparent),
    0 0 .28em color-mix(in srgb, var(--events-accent,#6FA5A0) 52%, transparent),
    0 0 .48em color-mix(in srgb, var(--events-accent,#6FA5A0) 34%, transparent),
    0 0 .76em color-mix(in srgb, var(--events-card-bg,#FFFFFF) 36%, transparent),
    0 0 1.05em color-mix(in srgb, var(--events-bg,#F9FAF7) 26%, transparent)!important;
}
@supports not (color: color-mix(in srgb, #fff 50%, transparent)){
  .events-image-position-top .events-image-media-wrap .events-image-text h1,
  .events-image-position-middle .events-image-media-wrap .events-image-text h1,
  .events-image-position-bottom .events-image-media-wrap .events-image-text h1,
  .events-image-position-top .events-image-media-wrap .events-image-text h2,
  .events-image-position-middle .events-image-media-wrap .events-image-text h2,
  .events-image-position-bottom .events-image-media-wrap .events-image-text h2,
  .events-image-position-top .events-image-media-wrap .events-image-text .events-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
  .events-image-position-top .events-image-media-wrap .events-image-text p,
  .events-image-position-middle .events-image-media-wrap .events-image-text p,
  .events-image-position-bottom .events-image-media-wrap .events-image-text p{
    text-shadow:
      0 0 .06em rgba(111,165,160,.92),
      0 0 .14em rgba(111,165,160,.74),
      0 0 .28em rgba(111,165,160,.52),
      0 0 .48em rgba(111,165,160,.34),
      0 0 .76em rgba(255,255,255,.32),
      0 0 1.05em rgba(249,250,247,.22)!important;
  }
}


/* ===== EVENTS REAL FIX 1.0.88.17: final textarea native resize unlock =====
   Do not set CSS height on textarea: CSS height with !important overrides the
   browser's inline height made by the native mouse resize handle. */
textarea,
.events-app textarea,
.events-editor textarea,
.events-block-form textarea,
.events-demo-block-form textarea,
.events-block-editor textarea,
.events-invitation-form textarea,
.events-main-settings textarea,
.events-field textarea,
.events-rsvp-form textarea,
.events-block-editor[data-block-type="image"] textarea,
.events-block-editor[data-block-type="image"] textarea[name="text"],
.events-block-editor[data-block-type="image"] textarea[name="description"],
.events-block-editor[data-block-type="location"] textarea,
.events-block-editor[data-block-type="zags"] textarea,
.events-block-editor[data-block-type="place"] textarea,
.events-block-editor textarea[name="text"],
.events-block-editor textarea[name="description"],
.events-block-editor textarea[name="map_embed"],
.events-block-editor textarea[name="after_text"],
.events-block-editor textarea[name="expired_text"],
.events-block-editor textarea[name="guest_comment_text"],
textarea.events-autogrow{
  width:100%!important;
  max-width:100%!important;
  min-height:96px!important;
  max-height:none!important;
  resize:vertical!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
}
.events-block-editor[data-block-type="image"] textarea,
.events-block-editor[data-block-type="image"] textarea[name="text"],
.events-block-editor[data-block-type="image"] textarea[name="description"],
.events-block-editor[data-block-type="location"] textarea,
.events-block-editor[data-block-type="zags"] textarea,
.events-block-editor[data-block-type="place"] textarea{
  min-height:112px!important;
}
@media (max-width:640px){
  textarea,
  .events-app textarea,
  .events-editor textarea,
  .events-block-form textarea,
  .events-demo-block-form textarea,
  .events-block-editor textarea,
  .events-invitation-form textarea,
  .events-main-settings textarea,
  .events-field textarea,
  .events-rsvp-form textarea{
    min-height:88px!important;
    max-height:none!important;
    resize:vertical!important;
    overflow-y:auto!important;
  }
}

/* ===== EVENTS REAL FIX 1.0.88.19: palette readable text on images =====
   Text placed over images uses a palette-based soft backdrop and a blurred
   duplicate behind the letters. No black stroke, no hard black shadow. */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text,
.events-hero .events-hero-content{
  --events-readable-text: color-mix(in srgb, var(--events-card-bg, var(--events-card, #FFFFFF)) 92%, var(--events-accent, #6FA5A0) 8%);
  --events-readable-halo-strong: color-mix(in srgb, var(--events-accent, #6FA5A0) 78%, var(--events-card-bg, #FFFFFF) 22%);
  --events-readable-halo-mid: color-mix(in srgb, var(--events-accent, #6FA5A0) 46%, transparent);
  --events-readable-halo-soft: color-mix(in srgb, var(--events-accent, #6FA5A0) 24%, transparent);
  --events-readable-backdrop: color-mix(in srgb, var(--events-accent, #6FA5A0) 24%, var(--events-card-bg, #FFFFFF) 10%, transparent);
  position:absolute!important;
  isolation:isolate!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:var(--events-readable-text)!important;
  overflow:visible!important;
}

.events-image-position-top .events-image-media-wrap .events-image-text::before,
.events-image-position-middle .events-image-media-wrap .events-image-text::before,
.events-image-position-bottom .events-image-media-wrap .events-image-text::before,
.events-hero .events-hero-content::before{
  content:"";
  position:absolute;
  inset:-0.34em -0.56em;
  z-index:0;
  border-radius:0.72em;
  background:
    radial-gradient(ellipse at center,
      color-mix(in srgb, var(--events-accent, #6FA5A0) 22%, var(--events-card-bg, #FFFFFF) 10%, transparent) 0%,
      color-mix(in srgb, var(--events-accent, #6FA5A0) 14%, transparent) 46%,
      transparent 78%);
  filter:blur(0.16em);
  pointer-events:none;
}

.events-image-position-top .events-image-media-wrap .events-image-text::after,
.events-image-position-middle .events-image-media-wrap .events-image-text::after,
.events-image-position-bottom .events-image-media-wrap .events-image-text::after,
.events-hero .events-hero-content::after{
  content:attr(data-events-halo);
  position:absolute;
  inset:0;
  z-index:1;
  padding:inherit;
  border-radius:inherit;
  color:var(--events-readable-halo-strong);
  font:inherit;
  font-weight:800;
  line-height:inherit;
  letter-spacing:inherit;
  white-space:pre-wrap;
  text-align:inherit;
  filter:blur(0.24em);
  opacity:.72;
  pointer-events:none;
}

.events-image-position-top .events-image-media-wrap .events-image-text > *,
.events-image-position-middle .events-image-media-wrap .events-image-text > *,
.events-image-position-bottom .events-image-media-wrap .events-image-text > *,
.events-hero .events-hero-content > *{
  position:relative!important;
  z-index:2!important;
}

.events-image-position-top .events-image-media-wrap .events-image-text h1,
.events-image-position-middle .events-image-media-wrap .events-image-text h1,
.events-image-position-bottom .events-image-media-wrap .events-image-text h1,
.events-image-position-top .events-image-media-wrap .events-image-text h2,
.events-image-position-middle .events-image-media-wrap .events-image-text h2,
.events-image-position-bottom .events-image-media-wrap .events-image-text h2,
.events-image-position-top .events-image-media-wrap .events-image-text .events-text,
.events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
.events-image-position-top .events-image-media-wrap .events-image-text p,
.events-image-position-middle .events-image-media-wrap .events-image-text p,
.events-image-position-bottom .events-image-media-wrap .events-image-text p,
.events-hero .events-hero-content h1,
.events-hero .events-hero-content p,
.events-hero .events-hero-content .events-date-text{
  color:var(--events-readable-text)!important;
  -webkit-text-stroke:0!important;
  text-shadow:
    0 0 .03em var(--events-readable-halo-strong),
    0 0 .12em var(--events-readable-halo-strong),
    0 0 .32em var(--events-readable-halo-mid),
    0 0 .62em var(--events-readable-halo-soft),
    0 0 .95em color-mix(in srgb, var(--events-card-bg, #FFFFFF) 28%, transparent)!important;
}

@supports not (color: color-mix(in srgb, #fff 50%, transparent)){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text,
  .events-hero .events-hero-content{
    --events-readable-text:#fff;
    --events-readable-halo-strong:rgba(111,165,160,.88);
    --events-readable-halo-mid:rgba(111,165,160,.52);
    --events-readable-halo-soft:rgba(111,165,160,.28);
  }
  .events-image-position-top .events-image-media-wrap .events-image-text::before,
  .events-image-position-middle .events-image-media-wrap .events-image-text::before,
  .events-image-position-bottom .events-image-media-wrap .events-image-text::before,
  .events-hero .events-hero-content::before{
    background:radial-gradient(ellipse at center, rgba(111,165,160,.24) 0%, rgba(111,165,160,.14) 46%, transparent 78%);
  }
}

@media(max-width:640px){
  .events-image-position-top .events-image-media-wrap .events-image-text::before,
  .events-image-position-middle .events-image-media-wrap .events-image-text::before,
  .events-image-position-bottom .events-image-media-wrap .events-image-text::before,
  .events-hero .events-hero-content::before{
    inset:-0.28em -0.42em;
    filter:blur(0.13em);
  }
  .events-image-position-top .events-image-media-wrap .events-image-text::after,
  .events-image-position-middle .events-image-media-wrap .events-image-text::after,
  .events-image-position-bottom .events-image-media-wrap .events-image-text::after,
  .events-hero .events-hero-content::after{
    filter:blur(0.2em);
    opacity:.68;
  }
}


/* ===== EVENTS REAL FIX 1.0.88.19: readable frosted backdrop for image text =====
   Replaces the previous halo/duplicate-letter treatment with a stable, simple
   semi-transparent blurred backdrop under the text. Uses invitation palette
   variables, not black shadows. */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  isolation:isolate!important;
  overflow:hidden!important;
  border-radius:16px!important;
  padding:12px 16px!important;
  background:rgba(255,255,255,.72)!important;
  background:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 76%, transparent)!important;
  -webkit-backdrop-filter:blur(12px) saturate(.82) brightness(.96)!important;
  backdrop-filter:blur(12px) saturate(.82) brightness(.96)!important;
  border:1px solid rgba(255,255,255,.36)!important;
  border-color:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 62%, var(--events-accent,#6FA5A0))!important;
  box-shadow:0 10px 28px color-mix(in srgb, var(--events-accent,#6FA5A0) 18%, transparent)!important;
  color:var(--events-text,#414d64)!important;
}

.events-image-position-top .events-image-media-wrap .events-image-text::before,
.events-image-position-middle .events-image-media-wrap .events-image-text::before,
.events-image-position-bottom .events-image-media-wrap .events-image-text::before{
  content:none!important;
  display:none!important;
}

.events-image-position-top .events-image-media-wrap .events-image-text::after,
.events-image-position-middle .events-image-media-wrap .events-image-text::after,
.events-image-position-bottom .events-image-media-wrap .events-image-text::after{
  content:none!important;
  display:none!important;
}

.events-image-position-top .events-image-media-wrap .events-image-text h1,
.events-image-position-middle .events-image-media-wrap .events-image-text h1,
.events-image-position-bottom .events-image-media-wrap .events-image-text h1,
.events-image-position-top .events-image-media-wrap .events-image-text h2,
.events-image-position-middle .events-image-media-wrap .events-image-text h2,
.events-image-position-bottom .events-image-media-wrap .events-image-text h2,
.events-image-position-top .events-image-media-wrap .events-image-text .events-text,
.events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
.events-image-position-top .events-image-media-wrap .events-image-text p,
.events-image-position-middle .events-image-media-wrap .events-image-text p,
.events-image-position-bottom .events-image-media-wrap .events-image-text p{
  color:var(--events-text,#414d64)!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
}

.events-hero .events-hero-content{
  isolation:isolate!important;
  overflow:hidden!important;
  border-radius:18px!important;
  padding:18px 22px!important;
  background:rgba(255,255,255,.70)!important;
  background:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 74%, transparent)!important;
  -webkit-backdrop-filter:blur(14px) saturate(.82) brightness(.95)!important;
  backdrop-filter:blur(14px) saturate(.82) brightness(.95)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-color:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 60%, var(--events-accent,#6FA5A0))!important;
  box-shadow:0 12px 34px color-mix(in srgb, var(--events-accent,#6FA5A0) 16%, transparent)!important;
  color:var(--events-text,#414d64)!important;
}

.events-hero .events-hero-content::before,
.events-hero .events-hero-content::after{
  content:none!important;
  display:none!important;
}

.events-hero .events-hero-content h1,
.events-hero .events-hero-content p,
.events-hero .events-hero-content .events-date-text{
  color:var(--events-text,#414d64)!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
}

@supports not (background: color-mix(in srgb, #fff 50%, transparent)){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text,
  .events-hero .events-hero-content{
    background:rgba(255,255,255,.76)!important;
    border-color:rgba(255,255,255,.38)!important;
    box-shadow:0 10px 28px rgba(111,165,160,.16)!important;
  }
}

@media(max-width:640px){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text{
    padding:10px 12px!important;
    border-radius:14px!important;
    -webkit-backdrop-filter:blur(10px) saturate(.82) brightness(.96)!important;
    backdrop-filter:blur(10px) saturate(.82) brightness(.96)!important;
  }
  .events-hero .events-hero-content{
    padding:14px 16px!important;
    border-radius:16px!important;
    -webkit-backdrop-filter:blur(11px) saturate(.82) brightness(.96)!important;
    backdrop-filter:blur(11px) saturate(.82) brightness(.96)!important;
  }
}


/* ===== EVENTS REAL FIX 1.0.88.20: lighter frosted backdrop and full-width image captions =====
   Image text now uses a 30% opaque palette backdrop (70% transparent) with a
   smaller blur, so the image remains understandable under the caption. Captions
   stretch across the image width with small side insets so text stays on one
   line whenever it naturally fits. */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  display:block!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:9px 12px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  text-align:center!important;
  color:var(--events-text,#414d64)!important;
  background:rgba(255,255,255,.30)!important;
  background:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 30%, transparent)!important;
  -webkit-backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  border:1px solid color-mix(in srgb, var(--events-card-bg,#FFFFFF) 26%, var(--events-accent,#6FA5A0) 18%, transparent)!important;
  box-shadow:none!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text{top:12px!important;transform:none!important;}
.events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:12px!important;transform:none!important;}
.events-image-position-middle .events-image-media-wrap .events-image-text{top:50%!important;transform:translateY(-50%)!important;}

.events-image-position-top .events-image-media-wrap .events-image-text::before,
.events-image-position-middle .events-image-media-wrap .events-image-text::before,
.events-image-position-bottom .events-image-media-wrap .events-image-text::before,
.events-image-position-top .events-image-media-wrap .events-image-text::after,
.events-image-position-middle .events-image-media-wrap .events-image-text::after,
.events-image-position-bottom .events-image-media-wrap .events-image-text::after{
  content:none!important;
  display:none!important;
}

.events-image-position-top .events-image-media-wrap .events-image-text h1,
.events-image-position-middle .events-image-media-wrap .events-image-text h1,
.events-image-position-bottom .events-image-media-wrap .events-image-text h1,
.events-image-position-top .events-image-media-wrap .events-image-text h2,
.events-image-position-middle .events-image-media-wrap .events-image-text h2,
.events-image-position-bottom .events-image-media-wrap .events-image-text h2,
.events-image-position-top .events-image-media-wrap .events-image-text .events-text,
.events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
.events-image-position-top .events-image-media-wrap .events-image-text p,
.events-image-position-middle .events-image-media-wrap .events-image-text p,
.events-image-position-bottom .events-image-media-wrap .events-image-text p{
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:var(--events-text,#414d64)!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.events-image-block .events-image-text .events-text,
.events-image-block .events-image-text p{
  white-space:normal!important;
}

/* Final rendered image captions use the same full-width light frosted treatment. */
.events-final-image-caption{
  left:12px!important;
  right:12px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  transform:none!important;
  box-sizing:border-box!important;
  padding:9px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.30)!important;
  background:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 30%, transparent)!important;
  -webkit-backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  border:1px solid color-mix(in srgb, var(--events-card-bg,#FFFFFF) 26%, var(--events-accent,#6FA5A0) 18%, transparent)!important;
  box-shadow:none!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.events-final-image-top .events-final-image-caption{top:12px!important;}
.events-final-image-bottom .events-final-image-caption{bottom:12px!important;}
.events-final-image-middle .events-final-image-caption{top:50%!important;transform:translateY(-50%)!important;}

@supports not (background: color-mix(in srgb, #fff 50%, transparent)){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text,
  .events-final-image-caption{
    background:rgba(255,255,255,.30)!important;
    border-color:rgba(255,255,255,.22)!important;
  }
}

@media(max-width:640px){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text,
  .events-final-image-caption{
    left:8px!important;
    right:8px!important;
    padding:7px 9px!important;
    border-radius:12px!important;
    -webkit-backdrop-filter:blur(3px) saturate(.96) brightness(.99)!important;
    backdrop-filter:blur(3px) saturate(.96) brightness(.99)!important;
  }
  .events-image-position-top .events-image-media-wrap .events-image-text{top:8px!important;}
  .events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:8px!important;}
  .events-final-image-top .events-final-image-caption{top:8px!important;}
  .events-final-image-bottom .events-final-image-caption{bottom:8px!important;}
}


/* ===== EVENTS REAL FIX 1.0.88.21: text-sized image caption backdrop =====
   Keep the successful light frosted backdrop from 1.0.88.20, but make it fit
   only the actual text width instead of stretching across the full image.
   Short captions stay on one line when they fit; long captions wrap inside
   the available image width with small side insets. */
.events-image-position-top .events-image-media-wrap .events-image-text,
.events-image-position-middle .events-image-media-wrap .events-image-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:calc(100% - 24px)!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:9px 12px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  text-align:center!important;
  color:var(--events-text,#414d64)!important;
  background:rgba(255,255,255,.30)!important;
  background:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 30%, transparent)!important;
  -webkit-backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  border:1px solid color-mix(in srgb, var(--events-card-bg,#FFFFFF) 26%, var(--events-accent,#6FA5A0) 18%, transparent)!important;
  box-shadow:none!important;
}
.events-image-position-top .events-image-media-wrap .events-image-text{top:12px!important;transform:translateX(-50%)!important;}
.events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:12px!important;transform:translateX(-50%)!important;}
.events-image-position-middle .events-image-media-wrap .events-image-text{top:50%!important;transform:translate(-50%,-50%)!important;}

.events-image-position-top .events-image-media-wrap .events-image-text h1,
.events-image-position-middle .events-image-media-wrap .events-image-text h1,
.events-image-position-bottom .events-image-media-wrap .events-image-text h1,
.events-image-position-top .events-image-media-wrap .events-image-text h2,
.events-image-position-middle .events-image-media-wrap .events-image-text h2,
.events-image-position-bottom .events-image-media-wrap .events-image-text h2,
.events-image-position-top .events-image-media-wrap .events-image-text .events-text,
.events-image-position-middle .events-image-media-wrap .events-image-text .events-text,
.events-image-position-bottom .events-image-media-wrap .events-image-text .events-text,
.events-image-position-top .events-image-media-wrap .events-image-text p,
.events-image-position-middle .events-image-media-wrap .events-image-text p,
.events-image-position-bottom .events-image-media-wrap .events-image-text p{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.events-final-image-caption{
  left:50%!important;
  right:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:calc(100% - 24px)!important;
  transform:translateX(-50%)!important;
  box-sizing:border-box!important;
  padding:9px 12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.30)!important;
  background:color-mix(in srgb, var(--events-card-bg,#FFFFFF) 30%, transparent)!important;
  -webkit-backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  backdrop-filter:blur(4px) saturate(.96) brightness(.99)!important;
  border:1px solid color-mix(in srgb, var(--events-card-bg,#FFFFFF) 26%, var(--events-accent,#6FA5A0) 18%, transparent)!important;
  box-shadow:none!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.events-final-image-top .events-final-image-caption{top:12px!important;transform:translateX(-50%)!important;}
.events-final-image-bottom .events-final-image-caption{bottom:12px!important;transform:translateX(-50%)!important;}
.events-final-image-middle .events-final-image-caption{top:50%!important;transform:translate(-50%,-50%)!important;}

@supports not (width: max-content){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text,
  .events-final-image-caption{
    display:inline-block!important;
    width:auto!important;
  }
}

@media(max-width:640px){
  .events-image-position-top .events-image-media-wrap .events-image-text,
  .events-image-position-middle .events-image-media-wrap .events-image-text,
  .events-image-position-bottom .events-image-media-wrap .events-image-text,
  .events-final-image-caption{
    max-width:calc(100% - 16px)!important;
    padding:7px 9px!important;
    border-radius:12px!important;
    -webkit-backdrop-filter:blur(3px) saturate(.96) brightness(.99)!important;
    backdrop-filter:blur(3px) saturate(.96) brightness(.99)!important;
  }
  .events-image-position-top .events-image-media-wrap .events-image-text{top:8px!important;}
  .events-image-position-bottom .events-image-media-wrap .events-image-text{bottom:8px!important;}
  .events-final-image-top .events-final-image-caption{top:8px!important;}
  .events-final-image-bottom .events-final-image-caption{bottom:8px!important;}
}

/* ========================================
   SAMPLE FUNNEL — 1.0.91.16
   Показывается только на приглашениях-образцах.
======================================== */

.events-sample-funnel{
    margin:18px 0 8px;
}

.events-sample-funnel-bottom{
    margin-top:30px;
    margin-bottom:10px;
}

.events-sample-funnel-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:20px 22px;
    border:1px solid var(--events-border,#e4ddd8);
    border-radius:22px;
    background:var(--events-card-bg,#fff);
    background:color-mix(in srgb, var(--events-accent,#8f6b59) 6%, var(--events-card-bg,#fff) 94%);
    box-shadow:0 8px 28px rgba(32,38,48,.05);
}

.events-sample-funnel-copy{
    min-width:0;
}

.events-sample-funnel-eyebrow{
    margin:0 0 5px;
    color:var(--events-accent,#8f6b59);
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.055em;
    text-transform:uppercase;
}

.events-sample-funnel h2{
    margin:0 0 7px;
    color:var(--events-text,#414d64);
    font-size:20px;
    line-height:1.28;
}

.events-sample-funnel p{
    max-width:650px;
    margin:0;
    color:var(--events-muted,#6D7688);
    font-size:14px;
    line-height:1.55;
}

.events-sample-funnel-button{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 18px;
    border-radius:999px;
    background:var(--events-accent,#8f6b59);
    color:#fff !important;
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    text-align:center;
    text-decoration:none !important;
    box-shadow:0 6px 18px rgba(32,38,48,.08);
    box-shadow:0 6px 18px color-mix(in srgb, var(--events-accent,#8f6b59) 18%, transparent);
    transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.events-sample-funnel-button:hover,
.events-sample-funnel-button:focus{
    color:#fff !important;
    opacity:.94;
    transform:translateY(-1px);
    box-shadow:0 9px 22px rgba(32,38,48,.11);
    box-shadow:0 9px 22px color-mix(in srgb, var(--events-accent,#8f6b59) 24%, transparent);
}

@media(max-width:640px){
    .events-sample-funnel{
        margin:14px 0 6px;
    }

    .events-sample-funnel-bottom{
        margin-top:24px;
    }

    .events-sample-funnel-inner{
        display:block;
        padding:17px 16px;
        border-radius:18px;
    }

    .events-sample-funnel h2{
        font-size:18px;
    }

    .events-sample-funnel-button{
        width:100%;
        margin-top:14px;
        box-sizing:border-box;
    }
}


/* ===== RSVP note 1.0.91.22 ===== */
.events-rsvp-note,
.events-rsvp-note p{
    margin:4px 0!important;
    font-size:16px!important;
    line-height:1.45!important;
    font-weight:700!important;
    text-align:center!important;
    color:var(--events-accent,#6FA5A0)!important;
}
@media(max-width:520px){
    .events-rsvp-note,
    .events-rsvp-note p{
        font-size:16px!important;
        line-height:1.4!important;
    }
}

/* ===== RSVP typography 1.0.91.23 ===== */
.events-rsvp-message,
.events-rsvp-note,
.events-rsvp-note p{
    font-size:16px!important;
    line-height:1.45!important;
}


/* ===== RSVP typography 1.0.91.24 ===== */
/* Комментарий для гостей и фраза под анкетой — того же размера, что сообщение «Спасибо! Ваш ответ отправлен.» */
.events-rsvp-comment-hint,
.events-rsvp-comment-hint p,
.events-rsvp-note,
.events-rsvp-note p,
.events-rsvp-message{
    font-size:16px!important;
    line-height:1.45!important;
}

/* ===== Предпросмотр черновика: подсказка владельцу о пустом блоке ===== */
.events-preview-empty-block{
    padding:16px 18px!important;
    border:1px dashed var(--events-border)!important;
    background:color-mix(in srgb,var(--events-card-bg,#fff) 88%,var(--events-accent-soft,rgba(111,165,160,.14)))!important;
    color:var(--events-muted,#6f7a86)!important;
    font-size:15px!important;
    line-height:1.45!important;
    text-align:center!important;
}
