/*
Theme Name: FZT 2
Theme URI: https://fzt.wpssite.com/
Author: LED Zona
Description: Block theme with BlockStudio and Tailwind CSS for Foundation Za Trenyorite.
Version: 1.0.0
Text Domain: fzt2
*/

:root {
  --fzt-navy: #061426;
  --fzt-navy-light: #0b2a52;
  --fzt-gold: #d6ad55;
  --fzt-gold-dark: #bf9340;
  --fzt-cream: #f7f2e8;
  --fzt-white: #ffffff;
  --fzt-text: #1b2636;

  --fzt-font-serif: "Lora", serif;
  --fzt-font-sans: "Inter", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}\n\n
/* FZT: remove underline only from button-like and card links. */
.fzt-header a,
.fzt-footer a,
.fzt-cta a,
.fzt-ambassadors a,
.fzt-people-archive article a,
.fzt-person-profile a.inline-flex,
.fzt-breadcrumbs a,
a.wp-element-button,
.wp-block-button__link {
    text-decoration: none !important;
}

/* FZT global reset: no underlines on links anywhere. */
a,
a:where(:not(.wp-element-button)),
a:visited,
a:hover,
a:focus,
a:active,
.wp-block-button__link,
.wp-element-button {
    text-decoration: none !important;
}

/* FZT: more breathing room before CTA on inner pages only. */


/* FZT: inner pages need breathing room before CTA.
   The space is added inside the last content block, so its own background continues to the CTA. */
body:not(.home):not(.front-page) .wp-block-post-content > .alignfull:last-child,
body:not(.home):not(.front-page) .wp-block-post-content > .fzt-programs:last-child,
body:not(.home):not(.front-page) .wp-block-post-content > .fzt-people-archive:last-child,
body:not(.home):not(.front-page) .wp-block-post-content > .fzt-person-profile:last-child,
body:not(.home):not(.front-page) .wp-block-post-content > .fzt-events:last-child,
body:not(.home):not(.front-page) .wp-block-post-content > .fzt-ambassadors:last-child {
    padding-bottom: clamp(64px, 7vw, 112px) !important;
}

/* If the last item is ordinary content, keep a safe minimum before CTA. */
body:not(.home):not(.front-page) .wp-block-post-content > :last-child:not(.alignfull) {
    padding-bottom: clamp(64px, 7vw, 96px);
}

/* FZT CTA responsive background:
   On smaller screens the long image should repeat and fit instead of being cropped like cover. */
@media (max-width: 767px) {
    .fzt-cta {
        background-size: contain !important;
        background-repeat: repeat !important;
        background-position: center top !important;
    }
}


/* FZT: real breathing room before CTA on inner pages.
   This targets the actual FZT block wrappers, not wp-block-post-content. */
body:not(.home):not(.front-page) .fzt-programs,
body:not(.home):not(.front-page) .fzt-events,
body:not(.home):not(.front-page) .fzt-people-archive,
body:not(.home):not(.front-page) .fzt-person-profile,
body:not(.home):not(.front-page) .fzt-ambassadors {
    padding-bottom: clamp(72px, 7vw, 120px) !important;
}

/* Do not add that extra bottom air when another FZT block follows immediately. */
body:not(.home):not(.front-page) .fzt-programs + .fzt-events,
body:not(.home):not(.front-page) .fzt-programs + .fzt-ambassadors,
body:not(.home):not(.front-page) .fzt-events + .fzt-ambassadors,
body:not(.home):not(.front-page) .fzt-events + .fzt-programs {
    padding-top: 0;
}

/* FZT CTA responsive background. */
@media (max-width: 767px) {
    .fzt-cta,
    .fzt-cta > *,
    .fzt-cta [style*="background"] {
        background-size: contain !important;
        background-repeat: repeat !important;
        background-position: center top !important;
    }
}


/* =========================================================
   FZT real fixes loaded from theme style.css
   ========================================================= */

/* 1. Remove all link underlines globally. */
html body a,
html body a:where(:not(.wp-element-button)),
html body a:visited,
html body a:hover,
html body a:focus,
html body a:active,
html body .wp-block-button__link,
html body .wp-element-button {
    text-decoration: none !important;
    text-decoration-line: none !important;
}

/* 2. Inner pages: add real breathing room before CTA.
   This applies inside the block background, not as margin between backgrounds. */
body:not(.home):not(.front-page) .fzt-programs {
    padding-bottom: clamp(80px, 8vw, 128px) !important;
}

body:not(.home):not(.front-page) .fzt-events {
    padding-bottom: clamp(80px, 8vw, 128px) !important;
}

body:not(.home):not(.front-page) .fzt-people-archive {
    padding-bottom: clamp(80px, 8vw, 128px) !important;
}

body:not(.home):not(.front-page) .fzt-person-profile {
    padding-bottom: clamp(80px, 8vw, 128px) !important;
}

body:not(.home):not(.front-page) .fzt-ambassadors {
    padding-bottom: clamp(80px, 8vw, 128px) !important;
}

/* 3. CTA responsive background. */
@media (max-width: 767px) {
    html body .fzt-cta {
        background-size: contain !important;
        background-repeat: repeat !important;
        background-position: center top !important;
    }

    html body .fzt-cta[style] {
        background-size: contain !important;
        background-repeat: repeat !important;
        background-position: center top !important;
    }
}




/* FZT Contact Form 7 fields inside contact page block */
.fzt-contact-form form {
    display: grid;
    gap: 14px;
}

.fzt-contact-form p {
    margin: 0;
}

.fzt-contact-form label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-navy, #062a49);
}

.fzt-contact-form input:not([type="submit"]),
.fzt-contact-form textarea,
.fzt-contact-form select {
    display: block;
    width: 100%;
    min-height: 48px;
    margin-top: 7px;
    padding: 12px 15px;
    font-size: 16px;
    line-height: 1.4;
    color: var(--color-navy, #062a49);
    background: rgba(246, 241, 231, 0.45);
    border: 1px solid rgba(200, 168, 90, 0.45);
    border-radius: 12px;
    outline: none;
}

.fzt-contact-form textarea {
    min-height: 130px;
    resize: vertical;
}

.fzt-contact-form input:not([type="submit"]):focus,
.fzt-contact-form textarea:focus,
.fzt-contact-form select:focus {
    border-color: var(--color-gold, #c8a85a);
    box-shadow: 0 0 0 4px rgba(200, 168, 90, 0.16);
    background: rgba(255, 255, 255, 0.75);
}

.fzt-contact-form input[type="submit"],
.fzt-contact-form button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    min-width: 160px;
    margin-top: 8px;
    padding: 14px 28px;
    border-radius: 999px;
    border: 1px solid var(--color-gold, #c8a85a);
    background: var(--color-gold, #c8a85a);
    color: var(--color-navy, #062a49);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}

.fzt-contact-form input[type="submit"]:hover,
.fzt-contact-form button[type="submit"]:hover {
    background: var(--color-navy, #062a49);
    border-color: var(--color-navy, #062a49);
    color: #fff;
}

.fzt-contact-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 13px;
}

.fzt-contact-form .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
}


/* FZT Contact page submit button aligned with site CTA button style */
.fzt-contact-page .fzt-contact-form .wpcf7 input[type="submit"],
.fzt-contact-form input[type="submit"] {
    min-height: 58px;
    min-width: 230px;
    padding: 18px 34px;
    border-radius: 0;
    border: 1px solid var(--color-gold, #d8ae49);
    background: var(--color-gold, #d8ae49);
    color: var(--color-navy, #062a49);
    font-family: var(--font-sans, Inter, sans-serif);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 14px 28px rgba(216, 174, 73, 0.22);
    cursor: pointer;
}

.fzt-contact-page .fzt-contact-form .wpcf7 input[type="submit"]:hover,
.fzt-contact-form input[type="submit"]:hover {
    background: var(--color-navy, #062a49);
    border-color: var(--color-navy, #062a49);
    color: #ffffff;
}

