/* ========== 1. BASE STYLES ========== */

body {
background-color: #F3EDE1;
color: #5C677D;
font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Main content wrapper feel a bit like a soft card on the beige background */
.ast-separate-container .site-main {
padding: 2.5rem 1rem;
}

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
background-color: #FFFFFF;
border-radius: 8px;
padding: 2rem 2.5rem;
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

/* Paragraph spacing */
p {
margin-bottom: 1.25em;
}

/* ========== 2. TYPOGRAPHY ========== */

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title {
font-family: "Playfair Display", Georgia, "Times New Roman", serif;
color: #4A7C7D;
letter-spacing: 0;
}

/* Sizes and line heights for headings */
h1,
.entry-title {
font-size: 2.5rem;
line-height: 1.2;
}

h2 {
font-size: 2rem;
line-height: 1.25;
}

h3 {
font-size: 1.6rem;
line-height: 1.25;
}

h4,
h5,
h6 {
font-size: 1.2rem;
line-height: 1.3;
}

/* Captions and small text */
figcaption,
.wp-caption-text,
.entry-meta,
.ast-article-meta,
.widget-area,
.widget {
color: #5C677D;
font-size: 0.9rem;
}

/* ========== 3. LINKS ========== */

a {
color: #4A7C7D;
text-decoration: none;
}

a:hover,
a:focus {
color: #2F5A5B;
text-decoration: underline;
}

/* Links inside posts */
.entry-content a {
color: #4A7C7D;
}

.entry-content a:hover,
.entry-content a:focus {
color: #2F5A5B;
}

/* ========== 4. BUTTONS ========== */

button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.ast-button,
.ast-custom-button {
background-color: #4A7C7D;
color: #ffffff;
border: none;
border-radius: 6px;
padding: 12px 22px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
text-decoration: none;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.ast-button:hover,
.ast-custom-button:hover {
background-color: #2F5A5B;
color: #F8F8F8;
}

/* Block button alignment cleanup */
.wp-block-buttons .wp-block-button__link {
display: inline-block;
}

/* ========== 5. HEADER AND NAV ========== */

/* Header background clean and light */
.site-header,
.ast-primary-header-bar {
background-color: #FFFFFF;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

/* Site title text if used instead of logo */
.site-title a {
font-family: "Playfair Display", Georgia, "Times New Roman", serif;
color: #4A7C7D;
text-decoration: none;
}

.site-title a:hover,
.site-title a:focus {
color: #2F5A5B;
}

/* Primary menu links */
.main-header-menu .menu-link,
.ast-header-navigation a {
color: #5C677D;
font-weight: 500;
text-transform: none;
letter-spacing: 0.04em;
}

.main-header-menu .menu-link:hover,
.ast-header-navigation a:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link {
color: #4A7C7D;
}

/* ========== 6. FOOTER ========== */

.site-footer,
.ast-footer-overlay {
background-color: #FFFFFF;
color: #5C677D;
}

.site-footer a {
color: #4A7C7D;
text-decoration: none;
}

.site-footer a:hover {
color: #2F5A5B;
text-decoration: underline;
}

/* ========== 7. FORMS ========== */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
textarea,
select {
border-radius: 4px;
border: 1px solid #9FBBC4;
padding: 10px 12px;
font-family: inherit;
font-size: 1rem;
color: #5C677D;
background-color: #FFFFFF;
}

input:focus,
textarea:focus,
select:focus {
border-color: #4A7C7D;
outline: none;
box-shadow: 0 0 0 2px rgba(74, 124, 125, 0.18);
}

/* ========== 8. BLOG LIST AND SINGLE POST ========== */

/* Space between posts on blog page */
.blog .ast-article-post,
.archive .ast-article-post {
margin-bottom: 2.5rem;
}

/* Featured image radius */
.post-thumb img,
.entry-content img,
.wp-block-image img {
border-radius: 8px;
}

/* Make images never overflow */
.entry-content img,
.wp-block-image img {
max-width: 100%;
height: auto;
}

/* ========== 9. SIDEBAR ========== */

.widget-area .widget {
background-color: #FFFFFF;
border-radius: 8px;
padding: 1.5rem;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
margin-bottom: 1.75rem;
}

.widget-title,
.widgettitle {
font-family: "Playfair Display", Georgia, "Times New Roman", serif;
font-size: 1.2rem;
color: #4A7C7D;
}

/* ========== 10. SOCIAL ICONS (COMMON BLOCKS) ========== */

.wp-block-social-links .wp-block-social-link a {
color: #FFFFFF;
}

.wp-block-social-links .wp-block-social-link {
background-color: #4A7C7D;
border-radius: 999px;
padding: 4px;
}

.wp-block-social-links .wp-block-social-link:hover {
background-color: #2F5A5B;
}

/* ========== 11. MOBILE TWEAKS ========== */

@media (max-width: 768px) {
h1,
.entry-title {
font-size: 2rem;
}

h2 {
font-size: 1.7rem;
}

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
padding: 1.5rem 1.25rem;
}
}

/* WPForms fixes */
/* Initial field looks */
.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
    background: #fff;
    border-width: 0 0 1px 0;
    color: var(--ast-global-color-2);
    opacity: 0.5;
}
/* On focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    outline: none;
    opacity: 1;
    border-color: var(--ast-global-color-0);
}
/* Don't allow resizing the Message box */
.wpforms-container textarea {
    resize: none;
}
/* Message box fixed height */
.wpforms-container .wpforms-field-textarea textarea.wpforms-field-medium {
    height: 136px;
}
/* Button size & font size */
.wpforms-container button {
    padding: 15px 34px;
    font-size: 15px;
}
/* WPForms done */
/* Footer 2 big columns on sides and 1 small one in the middle */
.ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 3fr 1fr 3fr;
}