/**
 * Landing section block.
 *
 * The promo landings of the original (bebestschool.com/spanish-year-learning,
 * /grupove-navchannya-dlya-ditej-vlitku) are Zero blocks drawn by hand; here a
 * section holds the editor's own blocks and gives them the landings' type —
 * Tilda Sans, 20 / 31 text, 35 / 54 black headings, green pill buttons — on
 * a background of its choice, with stickers round its edges. The inner blocks
 * take looks from their Styles panel: cards (white, black, peach, grey,
 * frosted), sticky notes, a framed label, a glowing heading, an orange button.
 */

.bbs-land {
    --bbs-land-w: 1160px;
    --bbs-land-green: #00b752;
    --bbs-land-orange: #ff5f18;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 60px 20px;
    background: #ffffff;
    color: #000000;
    font-family: 'TildaSans', Arial, sans-serif;
    font-size: 20px;
    line-height: 31px;
}

.bbs-land *,
.bbs-land *::before,
.bbs-land *::after {
    box-sizing: border-box;
}

.bbs-land--space-tight { padding-top: 30px; padding-bottom: 30px; }
.bbs-land--space-none { padding-top: 0; padding-bottom: 0; }

.bbs-land--w-medium { --bbs-land-w: 960px; }
.bbs-land--w-narrow { --bbs-land-w: 760px; }

/* ── Backgrounds ── */
.bbs-land--bg-grid {
    background-color: #ffffff;
    background-image:
        linear-gradient(#ececec 1px, transparent 1px),
        linear-gradient(90deg, #ececec 1px, transparent 1px);
    background-size: 40px 40px;
}

.bbs-land--bg-cream { background: #fdf6ec; }
.bbs-land--bg-grey { background: #f0f0f0; }
.bbs-land--bg-sage { background: #79a27c; color: #ffffff; }
.bbs-land--bg-green { background: #1cb65a; color: #ffffff; }

.bbs-land__bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Stickers ── */
.bbs-land__sticker {
    position: absolute;
    z-index: -1;
    width: var(--bbs-sticker, 80px);
    height: auto;
    pointer-events: none;
}

.bbs-land__sticker--xs { --bbs-sticker: 50px; }
.bbs-land__sticker--s  { --bbs-sticker: 80px; }
.bbs-land__sticker--m  { --bbs-sticker: 120px; }
.bbs-land__sticker--l  { --bbs-sticker: 190px; }
.bbs-land__sticker--xl { --bbs-sticker: 270px; }

.bbs-land__sticker--tl { top: 20px; left: 3%; }
.bbs-land__sticker--tc { top: 10px; left: 50%; transform: translateX(-50%); }
.bbs-land__sticker--tr { top: 20px; right: 3%; }
.bbs-land__sticker--ml { top: 45%; left: 2%; }
.bbs-land__sticker--mr { top: 45%; right: 2%; }
.bbs-land__sticker--bl { bottom: 20px; left: 3%; }
.bbs-land__sticker--bc { bottom: 10px; left: 50%; transform: translateX(-50%); }
.bbs-land__sticker--br { bottom: 20px; right: 3%; }
.bbs-land__sticker--il { top: 30%; left: max(0px, calc(50% - var(--bbs-land-w) / 2 - var(--bbs-sticker) - 20px)); }
.bbs-land__sticker--ir { top: 30%; right: max(0px, calc(50% - var(--bbs-land-w) / 2 - var(--bbs-sticker) - 20px)); }

/* ── The content ── */
.bbs-land__inner {
    position: relative;
    max-width: var(--bbs-land-w);
    margin: 0 auto;
}

.bbs-land__inner > * + * {
    margin-top: 24px;
}

.bbs-land__inner :is(p, ul, ol, h1, h2, h3, h4) {
    margin-top: 0;
    margin-bottom: 0;
}

.bbs-land :is(p, li) {
    font-size: inherit;
    line-height: inherit;
}

.bbs-land :is(.wp-block-group, .wp-block-column) > * + * {
    margin-top: 16px;
}

.bbs-land :is(h1, h2, h3, h4).wp-block-heading {
    color: inherit;
    font-family: inherit;
    letter-spacing: normal;
}

.bbs-land h1.wp-block-heading { font-size: 40px; line-height: 62px; font-weight: 900; }
.bbs-land h2.wp-block-heading { font-size: 35px; line-height: 54px; font-weight: 900; }
.bbs-land h3.wp-block-heading { font-size: 30px; line-height: 38px; font-weight: 600; }
.bbs-land h4.wp-block-heading { font-size: 23px; line-height: 28px; font-weight: 500; }

/* Words in italics in a heading: orange, as "починати заново" is. */
.bbs-land .wp-block-heading em { color: var(--bbs-land-orange); }

.bbs-land a:not(.wp-block-button__link) { color: inherit; }

.bbs-land .has-text-align-center { text-align: center; }

.bbs-land .wp-block-heading.is-style-bbs-land-display {
    font-size: 50px;
    line-height: 1.1;
    font-weight: 500;
}

/* A soft blurred band behind the heading, orange or blue. */
.bbs-land .wp-block-heading:is(.is-style-bbs-land-glow-orange, .is-style-bbs-land-glow-blue) {
    position: relative;
    isolation: isolate;
    width: fit-content;
    max-width: 100%;
    padding: 0 18px;
}

.bbs-land .wp-block-heading.has-text-align-center:is(.is-style-bbs-land-glow-orange, .is-style-bbs-land-glow-blue) {
    margin-left: auto;
    margin-right: auto;
}

.bbs-land .wp-block-heading:is(.is-style-bbs-land-glow-orange, .is-style-bbs-land-glow-blue)::before {
    content: '';
    position: absolute;
    inset: 22% 0;
    z-index: -1;
    border-radius: 30px;
    background: #48a5ff;
    filter: blur(12px);
}

.bbs-land .wp-block-heading.is-style-bbs-land-glow-orange::before { background: var(--bbs-land-orange); }

/* ── Paragraph looks ── */
.bbs-land .is-style-bbs-land-lead { font-size: 24px; line-height: 37px; }
.bbs-land .is-style-bbs-land-small { font-size: 14px; line-height: 20px; }
.bbs-land .is-style-bbs-land-accent { color: var(--bbs-land-orange); font-weight: 600; }

.bbs-land .is-style-bbs-land-box {
    padding: 8px 14px;
    background: #f66746;
    font-size: 16px;
    line-height: 25px;
}

.bbs-land .is-style-bbs-land-quote {
    width: fit-content;
    padding: 9px 12px;
    border-radius: 20px;
    background: #fff7f0;
    font-size: 21px;
    line-height: 33px;
}

/* ── Group looks: cards, notes, a framed label ── */
.bbs-land .wp-block-group:is(.is-style-bbs-land-card, .is-style-bbs-land-dark, .is-style-bbs-land-peach, .is-style-bbs-land-grey, .is-style-bbs-land-glass) {
    padding: 28px 30px;
    border-radius: 30px;
}

.bbs-land .is-style-bbs-land-card { background: #ffffff; color: #000000; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08); }
.bbs-land .is-style-bbs-land-dark { background: #000000; color: #ffffff; }
.bbs-land .is-style-bbs-land-peach { background: #ffe5ce; color: #000000; }
.bbs-land .is-style-bbs-land-grey { background: #dfdfdf; color: #000000; }
.bbs-land .is-style-bbs-land-glass { background: rgba(205, 205, 205, 0.85); color: #000000; backdrop-filter: blur(6px); }

.bbs-land .wp-block-group.is-style-bbs-land-note {
    position: relative;
    padding: 30px 16px 22px;
    background: #fdf1d8;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
    color: #000000;
    font-size: 16px;
    line-height: 25px;
    transform: rotate(-2deg);
}

.bbs-land .wp-block-group.is-style-bbs-land-note::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    width: 70px;
    height: 22px;
    background: rgba(240, 150, 160, 0.6);
    transform: translateX(-50%) rotate(-4deg);
}

.bbs-land .wp-block-column:nth-child(2n) .is-style-bbs-land-note { background: #e9e4f3; transform: rotate(2deg); }
.bbs-land .wp-block-column:nth-child(3n) .is-style-bbs-land-note { background: #ffffff; transform: rotate(-1deg); }

.bbs-land .wp-block-group.is-style-bbs-land-pill {
    width: fit-content;
    padding: 4px 20px;
    border: 1px solid currentColor;
    border-radius: 50px;
    font-size: 16px;
    line-height: 25px;
}

/* ── Buttons: green pills; orange; white with a frame ── */
.bbs-land .wp-block-buttons {
    gap: 14px 30px;
}

.bbs-land .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 8px 34px;
    border: 0;
    border-radius: 30px;
    background: var(--bbs-land-green);
    color: #ffffff;
    font-family: inherit;
    font-size: 19px;
    line-height: 29px;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.bbs-land .wp-block-button__link:hover,
.bbs-land .wp-block-button__link:focus-visible {
    opacity: 0.85;
}

.bbs-land .is-style-bbs-land-orange .wp-block-button__link {
    min-height: 51px;
    padding: 10px 44px;
    background: var(--bbs-land-orange);
    font-size: 21px;
}

.bbs-land .is-style-bbs-land-outline .wp-block-button__link {
    min-height: 34px;
    padding: 4px 22px;
    border: 1px solid #000000;
    background: #ffffff;
    color: #000000;
    font-size: 16px;
    line-height: 25px;
}

/* ── Pictures ── */
.bbs-land .wp-block-image {
    margin-left: auto;
    margin-right: auto;
}

.bbs-land .wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;
}

.bbs-land .wp-block-image.aligncenter img { margin: 0 auto; }
.bbs-land .is-style-bbs-land-rounded img { border-radius: 40px; }

.bbs-land .wp-block-columns { gap: 40px; margin-bottom: 0; }

.bbs-land .wp-block-embed { margin: 0; }
.bbs-land .wp-block-embed iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 30px; }

/* ── Phones ── */
@media (max-width: 639px) {
    .bbs-land { padding: 40px 16px; font-size: 18px; line-height: 28px; }
    .bbs-land h1.wp-block-heading { font-size: 29px; line-height: 40px; }
    .bbs-land h2.wp-block-heading { font-size: 28px; line-height: 38px; }
    .bbs-land h3.wp-block-heading { font-size: 24px; line-height: 32px; }
    .bbs-land .wp-block-heading.is-style-bbs-land-display { font-size: 34px; }
    .bbs-land .is-style-bbs-land-lead { font-size: 20px; line-height: 31px; }
    .bbs-land .wp-block-group:is(.is-style-bbs-land-card, .is-style-bbs-land-dark, .is-style-bbs-land-peach, .is-style-bbs-land-grey, .is-style-bbs-land-glass) { padding: 22px 18px; border-radius: 24px; }
    .bbs-land__sticker { width: calc(var(--bbs-sticker) / 2); }
    .bbs-land__sticker:is(.bbs-land__sticker--il, .bbs-land__sticker--ir, .bbs-land__sticker--ml, .bbs-land__sticker--mr, .bbs-land__sticker--tc, .bbs-land__sticker--bc) { display: none; }
    .bbs-land .wp-block-columns { gap: 24px; }
}

/* A player put in as HTML (Kinescope): 16:9 unless the iframe says otherwise, rounded. */
.bbs-land iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 30px;
}

.bbs-land .bbs-land-video {
    aspect-ratio: 627 / 665;
    overflow: hidden;
    border-radius: 30px;
    background: #000000;
}

.bbs-land .bbs-land-video iframe {
    height: 100%;
    border-radius: 0;
}

/* A heading in a framed label: the label's size, bold. */
.bbs-land .is-style-bbs-land-pill :is(h1, h2, h3, p) {
    font-size: 20px;
    line-height: 31px;
    font-weight: 600;
}

/* The theme's sections placed inside: on the section's own background. */
.bbs-land :is(.bbs-faq, .bbs-videos) {
    padding: 0;
    background: transparent;
    color: inherit;
}

/* The FAQ on the sage band: white pills, as the yearly Spanish landing has them. */
.bbs-land .bbs-faq__title {
    color: inherit;
}

.bbs-land--bg-sage .bbs-faq__item {
    margin-top: 8px;
    padding: 0 20px;
    border: 0;
    border-radius: 22px;
    background: #ffffff;
    color: #000000;
}

.bbs-land--bg-sage .bbs-faq__question {
    padding-top: 14px;
    padding-bottom: 14px;
    font-size: 20px;
}

/* A form on a card. */
.bbs-land .wpcf7 {
    max-width: 380px;
    margin: 0 auto;
}

.bbs-land .bbs-cf7 :is(input[type="text"], input[type="tel"], input[type="email"]) {
    height: 42px;
    border-color: #c8c8c8;
    border-radius: 12px;
}

.bbs-land .bbs-cf7 .wpcf7-submit {
    border-radius: 30px;
    background: var(--bbs-land-green);
    font-weight: 400;
    text-transform: none;
}

.bbs-land .bbs-videos__inner {
    max-width: none;
    padding: 0;
}

/* A small icon over a line of text. */
.bbs-land .wp-block-image.is-style-bbs-land-icon img {
    width: 67px;
}

/* A photo inside a card keeps to the card's height, cropped. */
.bbs-land .wp-block-group .is-style-bbs-land-rounded img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
}

/* Video reviews: four to a row on a landing. */
.bbs-land .bbs-videos__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 959px) {
    .bbs-land .bbs-videos__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/*
 * "Collage": the group's pictures laid one over another, as the summer kids
 * landing's hero is (a window, the children before it, a laptop in front):
 * the first fills the box, the second sits a fifth lower at 97 %, the third
 * at the bottom left at 55 %.
 */
.bbs-land .wp-block-group.is-style-bbs-land-collage {
    max-width: 550px;
    margin: 0 auto;
}

.bbs-land .is-style-bbs-land-collage > .wp-block-group__inner-container {
    display: grid;
}

.bbs-land .is-style-bbs-land-collage .wp-block-image {
    grid-area: 1 / 1;
    width: 100%;
    margin: 0;
}

.bbs-land .is-style-bbs-land-collage .wp-block-image figure { margin: 0; }

.bbs-land .is-style-bbs-land-collage .wp-block-image:nth-child(2) {
    width: 97%;
    margin: 19% 0 0 1%;
}

.bbs-land .is-style-bbs-land-collage .wp-block-image:nth-child(3) {
    align-self: end;
    width: 55%;
    margin: 0 0 -8% 0;
}

/* A YouTube player put in as HTML: 16:9, rounded. */
.bbs-land .bbs-land-video.bbs-land-video--wide { aspect-ratio: 16 / 9; }

/* Marked words: orange and bold, no highlight (the "-40%" of the summer kids landing). */
.bbs-land mark {
    background: none;
    color: var(--bbs-land-orange);
    font-weight: 700;
}

.bbs-land .wp-block-heading mark { font-weight: inherit; }

/* Phones: the large stickers would cover the pictures, so they go. */
@media (max-width: 639px) {
    .bbs-land__sticker:is(.bbs-land__sticker--l, .bbs-land__sticker--xl) { display: none; }
}

/*
 * For the "about" pages (bebestschool.com/academic-department,
 * /valentyna-zalievska, /sertificat): a yellow band; green headings and
 * lines; "HOW we do it ?" — a big word and a small one; big white figures;
 * dashed yellow boxes on the green band; photos in thick rounded frames;
 * a black button.
 */
.bbs-land--bg-yellow { background: #fdc92c; }

.bbs-land .wp-block-heading.is-style-bbs-land-green,
.bbs-land .is-style-bbs-land-green { color: #1cb65a; }

.bbs-land p.is-style-bbs-land-green { font-weight: 700; }

.bbs-land .wp-block-heading.is-style-bbs-land-split {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 30px;
    font-size: 80px;
    line-height: 1.1;
    font-weight: 500;
}

.bbs-land .wp-block-heading.is-style-bbs-land-split em {
    max-width: 240px;
    color: inherit;
    font-size: 35px;
    line-height: 1.15;
    font-style: normal;
    font-weight: 500;
}

.bbs-land .wp-block-heading.is-style-bbs-land-number {
    margin: 0;
    color: #ffffff;
    font-size: 140px;
    line-height: 1;
    font-weight: 300;
    text-align: center;
}

.bbs-land .wp-block-group.is-style-bbs-land-dashed {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    padding: 15px 20px;
    border: 2px dashed #ffd62c;
    border-radius: 15px;
    text-align: center;
}

.bbs-land .is-style-bbs-land-dashed p { margin: 0; }

.bbs-land .wp-block-image:is(.is-style-bbs-land-frame-green, .is-style-bbs-land-frame-coral) img {
    border: 15px solid #1cb65a;
    border-radius: 30px;
}

.bbs-land .wp-block-image.is-style-bbs-land-frame-coral img { border-color: #f66746; }

.bbs-land .is-style-bbs-land-black .wp-block-button__link {
    min-height: 45px;
    padding: 8px 30px;
    border-radius: 3px;
    background: #000000;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 639px) {
    .bbs-land .wp-block-heading.is-style-bbs-land-split { font-size: 52px; }
    .bbs-land .wp-block-heading.is-style-bbs-land-split em { font-size: 24px; }
    .bbs-land .wp-block-heading.is-style-bbs-land-number { font-size: 90px; }
    .bbs-land .wp-block-group.is-style-bbs-land-dashed { min-height: 100px; }
    .bbs-land .wp-block-image:is(.is-style-bbs-land-frame-green, .is-style-bbs-land-frame-coral) img { border-width: 8px; border-radius: 20px; }
}

/* Columns 1 : 2 or 2 : 1 — a photo beside a longer text (the founder's page). */
@media (min-width: 782px) {
    .bbs-land .wp-block-columns.is-style-bbs-land-third > .wp-block-column:first-child { flex: 1 1 0; }
    .bbs-land .wp-block-columns.is-style-bbs-land-third > .wp-block-column:last-child { flex: 2 1 0; }
    .bbs-land .wp-block-columns.is-style-bbs-land-two-thirds > .wp-block-column:first-child { flex: 2 1 0; }
    .bbs-land .wp-block-columns.is-style-bbs-land-two-thirds > .wp-block-column:last-child { flex: 1 1 0; }
}

.bbs-land p.is-style-bbs-land-green.has-text-align-center { font-size: 25px; line-height: 1.6; }

@media (max-width: 639px) {
    .bbs-land p.is-style-bbs-land-green.has-text-align-center { font-size: 20px; }
}

/*
 * For the pricing pages (bebestschool.com/ru/tarif/optimal, /ru/price-blog,
 * /ru/free-lesson): lists with a green tick or a red cross; a coral card
 * holding a form; a price table — lessons, price a lesson, the total — split
 * by green rules; text and photos as tiles side by side.
 */
.bbs-land .wp-block-list:is(.is-style-bbs-land-ticks, .is-style-bbs-land-crosses) {
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
}

.bbs-land .wp-block-list:is(.is-style-bbs-land-ticks, .is-style-bbs-land-crosses) li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 34px;
    font-size: 16px;
    line-height: 1.45;
}

.bbs-land .wp-block-list:is(.is-style-bbs-land-ticks, .is-style-bbs-land-crosses) li::before {
    content: '';
    position: absolute;
    top: 1px;
    left: 0;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: #1cb65a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center / 11px 9px no-repeat;
}

.bbs-land .wp-block-list.is-style-bbs-land-crosses li { color: #8a8a8a; }

.bbs-land .wp-block-list.is-style-bbs-land-crosses li::before {
    background: #ef4040 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 1.5l7 7M8.5 1.5l-7 7' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") center / 9px 9px no-repeat;
}

/* The coral card: a heading, a line, ticks in a row and the form, in white on #f66746. */
.bbs-land .wp-block-group.is-style-bbs-land-coral {
    max-width: 730px;
    margin: 0 auto;
    padding: 40px 60px 36px;
    border-radius: 50px;
    background: #f66746;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    color: #ffffff;
    text-align: center;
}

.bbs-land .is-style-bbs-land-coral :is(h2, h3) { color: #ffffff; }

.bbs-land .is-style-bbs-land-coral .wp-block-list.is-style-bbs-land-ticks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 120px;
    margin: 0 0 28px;
}

.bbs-land .is-style-bbs-land-coral .wp-block-list.is-style-bbs-land-ticks li {
    margin: 0;
    padding-left: 40px;
    font-size: 20px;
}

.bbs-land .is-style-bbs-land-coral .wp-block-list.is-style-bbs-land-ticks li::before {
    top: -2px;
    width: 30px;
    height: 30px;
    border-radius: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3 15l8 9L27 3' fill='none' stroke='%23ffd62c' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.bbs-land .is-style-bbs-land-coral .bbs-cf7 {
    --bbs-cf7-field-bg: #ffffff;
    --bbs-cf7-border: #ffffff;
    --bbs-cf7-button-bg: #ffd62c;
    --bbs-cf7-button-bg-hover: #f5c800;
    --bbs-cf7-button-ink: #000000;
    --bbs-cf7-button-width: 200px;

    max-width: 360px;
    margin: 0 auto;
    color: #ffffff;
}

.bbs-land .is-style-bbs-land-coral .wpcf7-response-output { color: #ffffff; }

/* Prices: three columns a row — lessons, a lesson, the subscription — green rules between. */
.bbs-land .wp-block-group.is-style-bbs-land-price-rows .wp-block-columns {
    max-width: 560px;
    margin: 0 auto;
    gap: 0;
}

.bbs-land .is-style-bbs-land-price-rows .wp-block-column {
    padding: 4px 20px 14px;
    text-align: center;
}

.bbs-land .is-style-bbs-land-price-rows .wp-block-column:first-child { padding-top: 7px; text-align: left; }

.bbs-land .is-style-bbs-land-price-rows .wp-block-column + .wp-block-column { border-left: 4px solid #1cb65a; }

.bbs-land .is-style-bbs-land-price-rows p { margin: 0; font-size: 18px; line-height: 1.5; }
.bbs-land .is-style-bbs-land-price-rows strong { font-size: 22px; }

/* Tiles: no gaps, a text on white beside a photo filling its square. */
.bbs-land .wp-block-columns.is-style-bbs-land-tiles {
    gap: 0;
    margin: 0;
}

.bbs-land .is-style-bbs-land-tiles > .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 235px;
    padding: 0;
    background: #ffffff;
    font-size: 15px;
    line-height: 1.65;
}

/* The padding on the text, not the column, so the columns stay even. */
.bbs-land .is-style-bbs-land-tiles > .wp-block-column > p { margin: 0; padding: 30px; }

.bbs-land .is-style-bbs-land-tiles .wp-block-image,
.bbs-land .is-style-bbs-land-tiles .wp-block-image figure { height: 100%; margin: 0; }

.bbs-land .is-style-bbs-land-tiles .wp-block-image img {
    width: 100%;
    height: 100%;
    min-height: 235px;
    object-fit: cover;
}

@media (max-width: 781px) {
    .bbs-land .wp-block-group.is-style-bbs-land-coral { padding: 30px 20px; border-radius: 30px; }
    .bbs-land .is-style-bbs-land-coral .wp-block-list.is-style-bbs-land-ticks { gap: 6px 30px; }
    .bbs-land .is-style-bbs-land-coral .wp-block-list.is-style-bbs-land-ticks li { font-size: 17px; }
    .bbs-land .is-style-bbs-land-price-rows .wp-block-columns { flex-wrap: nowrap !important; }
    .bbs-land .is-style-bbs-land-price-rows .wp-block-column { flex-basis: auto !important; padding: 4px 8px 12px; }
    .bbs-land .is-style-bbs-land-price-rows strong { font-size: 18px; }
    .bbs-land .is-style-bbs-land-tiles > .wp-block-column { min-height: 0; }
    .bbs-land .is-style-bbs-land-tiles > .wp-block-column > p { padding: 22px 20px; }
}

/* In the coral card the original's form: square white fields, a yellow button with black text. */
.bbs-land .is-style-bbs-land-coral h2.wp-block-heading { font-size: 30px; line-height: 1.3; }
.bbs-land .is-style-bbs-land-coral .wpcf7 { max-width: 360px; }

.bbs-land .is-style-bbs-land-coral .bbs-cf7 :is(input[type="text"], input[type="tel"], input[type="email"]) {
    height: 50px;
    border-color: #ffffff;
    border-radius: 0;
}

.bbs-land .is-style-bbs-land-coral .bbs-cf7 .wpcf7-submit {
    border-radius: 10px;
    background: #ffd62c;
    color: #000000;
    font-weight: 700;
}

.bbs-land .is-style-bbs-land-coral .bbs-cf7 .wpcf7-submit:hover,
.bbs-land .is-style-bbs-land-coral .bbs-cf7 .wpcf7-submit:focus-visible { background: #f5c800; }

/* A Jotform form put in as HTML: its script sets the height; this is the start. */
.bbs-land iframe.bbs-land-jotform {
    min-height: 560px;
    border-radius: 0;
}

@media (max-width: 781px) {
    .bbs-land .is-style-bbs-land-coral h2.wp-block-heading { font-size: 24px; }
}

/* Tiles share the row evenly, whatever the photo's own width. */
@media (min-width: 782px) {
    .bbs-land .is-style-bbs-land-tiles > .wp-block-column { flex: 1 1 0; min-width: 0; }
}

/*
 * The spring sale's look (bebestschool.com/smm/march): a photo darkened under
 * light text, white frosted glass, rows parted by hairlines, round photos —
 * some on a green blob — green figures and thin large headings.
 */
.bbs-land--bg-dark { background: #000000; color: #ffffff; }
.bbs-land--bg-dark .bbs-land__bg { opacity: 0.55; }

.bbs-land .wp-block-heading.is-style-bbs-land-light {
    font-size: 45px;
    line-height: 1.25;
    font-weight: 400;
}

.bbs-land h1.wp-block-heading.is-style-bbs-land-light { font-size: 70px; line-height: 1.15; font-weight: 300; }

.bbs-land .wp-block-heading.is-style-bbs-land-stat {
    color: var(--bbs-land-green);
    font-size: 60px;
    line-height: 1.1;
    font-weight: 400;
}

.bbs-land .is-style-bbs-land-index {
    color: #a0a0a0;
    font-size: 14px;
    line-height: 20px;
}

.bbs-land .wp-block-group.is-style-bbs-land-frost {
    padding: 70px 80px;
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 40px;
    background: rgba(255, 255, 255, 0.4);
    color: #000000;
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
}

/* Rows parted by hairlines: each child of the group is a row (inside the
   group's inner container, which WordPress adds in a classic theme). */
.bbs-land .wp-block-group.is-style-bbs-land-rows > .wp-block-group__inner-container > *,
.bbs-land .wp-block-group.is-style-bbs-land-rows > :not(.wp-block-group__inner-container) {
    margin-top: 0;
    padding: 40px 0;
    border-top: 1px solid #d9d9d9;
}

.bbs-land .wp-block-group.is-style-bbs-land-rows > .wp-block-group__inner-container > :last-child,
.bbs-land .wp-block-group.is-style-bbs-land-rows > :last-child:not(.wp-block-group__inner-container) {
    padding-bottom: 0;
}

/* Small lists in a landing: a modest indent. */
.bbs-land .wp-block-list.is-style-bbs-land-small { padding-left: 20px; }

/* The form at the foot: its button at the left, as on the original. */
.bbs-land--bg-dark .bbs-cf7 { --bbs-cf7-button-align: flex-start; }

.bbs-land .wp-block-image.is-style-bbs-land-circle img,
.bbs-land .wp-block-image.is-style-bbs-land-blob img {
    width: 250px;
    max-width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: cover;
}

.bbs-land .wp-block-image.is-style-bbs-land-blob {
    position: relative;
    isolation: isolate;
    width: fit-content;
    max-width: 100%;
}

.bbs-land .wp-block-image.is-style-bbs-land-blob.aligncenter { margin-left: auto; margin-right: auto; }

.bbs-land .wp-block-image.is-style-bbs-land-blob::before {
    content: '';
    position: absolute;
    inset: -10% 4% 2% -10%;
    z-index: -1;
    border-radius: 58% 42% 46% 54% / 48% 56% 44% 52%;
    background: var(--bbs-land-green);
}

/* The forms: white fields on the glass, a line under each on the dark photo. */
.bbs-land .is-style-bbs-land-frost .wpcf7 { max-width: none; }

.bbs-land .is-style-bbs-land-frost .bbs-cf7 :is(input[type="text"], input[type="tel"], input[type="email"]) {
    height: 64px;
    border: 0;
    border-radius: 7px;
    background: #ffffff;
}

.bbs-land .is-style-bbs-land-frost .bbs-cf7 .wpcf7-submit {
    width: 100%;
    min-height: 64px;
    border-radius: 7px;
}

.bbs-land--bg-dark .wpcf7 { max-width: none; }

.bbs-land--bg-dark .bbs-cf7 :is(input[type="text"], input[type="tel"], input[type="email"]) {
    height: 50px;
    padding-left: 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 0;
    background: transparent;
    color: #ffffff;
}

.bbs-land--bg-dark .bbs-cf7 ::placeholder { color: rgba(255, 255, 255, 0.75); }

.bbs-land--bg-dark .bbs-cf7 .wpcf7-submit {
    width: auto;
    padding: 10px 20px;
    border-radius: 0;
    background: #ffffff;
    color: #000000;
}

.bbs-land--bg-dark .bbs-cf7 .wpcf7-submit:is(:hover, :focus-visible) { background: #e8e8e8; color: #000000; }

@media (max-width: 959px) {
    .bbs-land .wp-block-group.is-style-bbs-land-frost { padding: 40px 30px; }
    .bbs-land h1.wp-block-heading.is-style-bbs-land-light { font-size: 48px; }
}

@media (max-width: 639px) {
    .bbs-land .wp-block-group.is-style-bbs-land-frost { padding: 28px 20px; border-radius: 24px; }
    .bbs-land .wp-block-heading.is-style-bbs-land-light { font-size: 32px; }
    .bbs-land h1.wp-block-heading.is-style-bbs-land-light { font-size: 36px; }
    .bbs-land .wp-block-heading.is-style-bbs-land-stat { font-size: 48px; }
    .bbs-land .wp-block-group.is-style-bbs-land-rows > .wp-block-group__inner-container > * { padding: 28px 0; }
    .bbs-land .wp-block-image:is(.is-style-bbs-land-circle, .is-style-bbs-land-blob) img { width: 200px; }
}
