/*
Theme Name: Twenty Twenty-Five Child
Theme URI: http://example.com/
Description: My custom child theme for Twenty Twenty-Five.
Author: Your Name
Author URI: http://example.com/
Template: twentytwentyfive
Version: 1.0.0
*/

@import "../twentytwentyfive/style.css"; /* THIS LINE MUST BE AT THE VERY TOP, AND END WITH A SEMICOLON */

/* --- Body text using theme default fonts --- */
body {
    font-size: 1rem !important;
    line-height: 1.5;
    word-wrap: break-word;
}











/* --- Fixed Heading Sizes for Desktop --- */
h1 {
    font-size: 2.23rem !important;
    line-height: 1.2;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 1.8rem !important;
    line-height: 1.2;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

h3 {
    font-size: 1.4rem !important;
    line-height: 1.3;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

h4 {
    font-size: 1.2rem !important;
    line-height: 1.3;
    margin-top: 1.2em;
    margin-bottom: 0.4em;
}

h5 {
    font-size: 1.1rem !important;
    line-height: 1.4;
    margin-top: 1.2em;
    margin-bottom: 0.4em;
}

h6 {
    font-size: 1rem !important;
    line-height: 1.4;
    margin-top: 1em;
    margin-bottom: 0.3em;
}

/* --- Mobile Heading Sizes: 15% Smaller --- */
@media (max-width: 768px) {
    h1 { font-size: 1.90rem !important; } /* 2.23rem × 0.85 ≈ 1.90rem */
    h2 { font-size: 1.53rem !important; } /* 1.8rem × 0.85 ≈ 1.53rem */
    h3 { font-size: 1.19rem !important; } /* 1.4rem × 0.85 ≈ 1.19rem */
    h4 { font-size: 1.02rem !important; } /* 1.2rem × 0.85 ≈ 1.02rem */
    h5 { font-size: 0.94rem !important; } /* 1.1rem × 0.85 ≈ 0.94rem */
    h6 { font-size: 0.85rem !important; } /* 1rem × 0.85 ≈ 0.85rem */
}























/* Adjust paragraph margins */
p {
    margin-bottom: 1em;
}

/* You may also need to adjust other elements like lists, blockquotes, etc. */
ul, ol {
    margin-bottom: 1em;
    padding-left: 1.5em;
}

blockquote {
    border-left: 4px solid #ccc;
    padding-left: 1em;
    margin-left: 0;
    font-style: italic;
}

/* --- END Custom Typography --- */


/* --- Fix Header Width/Layout (Using Fixed Values) --- */
.wp-site-header { /* This is the common class for the main header in TT5 */
    max-width: 1340px; /* From theme.json: layout.wideSize */
    margin-left: auto;
    margin-right: auto;
    padding: 0 50px; /* Using a fixed value from theme.json: spacing.spacingSizes (slug 50 is 50px) */
    display: flex;
    justify-content: space-between; /* Common for header content (logo/nav) */
    align-items: center;
    box-sizing: border-box; /* Ensures padding/border are included in width */
}

/* If the inner content of the header needs explicit alignment/width, add it here */
.wp-site-header > .wp-block-group { /* Target the inner group if present */
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}






















#site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
  background-color: #ffffff;
}

body.logged-in #site-header {
  top: 32px;
}














/* Contact Form 7 Simple Styling */
.wpcf7 form {
  max-width: 500px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 10px;
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  transition: border-color 0.2s ease;
  font-size: 14px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #1e3a8a; /* Accent color */
  outline: none;
}

/* Dropdown styling */
.wpcf7 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 30px;
  background: #fff url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMWUzYThhIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiLz48L3N2Zz4=") no-repeat right 10px center;
  background-size: 14px;
}

.wpcf7 input[type="submit"] {
  background: #1e3a8a;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.wpcf7 input[type="submit"]:hover {
  background: #f97316;
}








img {
  max-width: 100%;
  height: auto;
}





















/*
 * Custom CSS for WordPress Twenty Twenty-Five Theme
 * Goal: Center images and add 1rem top/bottom margin ONLY on screens 768px and smaller.
 * Desktop alignment is completely unaffected and reverts to theme defaults.
 */

@media (max-width: 768px) {
    /* Target the content area elements (images, blocks, and figures) only on mobile */
    .entry-content img,
    .entry-content .wp-block-image,
    .entry-content figure {
        /* Apply 1rem top and bottom margin and center horizontally */
        margin: 2rem auto !important;

        /* Ensure the element is treated as a block for 'margin: auto' to work */
        display: block !important;

        /* Overrides any conflicting alignment floats (like alignleft/alignright) */
        float: none !important;

        /* Ensures images are fully responsive */
        max-width: 100%;
        height: auto;
    }

    /* Center the text content within the figure (like captions) on mobile */
    .entry-content figure {
        text-align: center !important;
    }
}










