/* ============================================================
   TEXAS IRON DOORS AND GATES - hoja_estilos.css
   texasdoorsandgates.com
   Mobile-first single-column design
   ============================================================ */

/* GOOGLE FONTS - load via <link> in HTML head
   https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700;800&family=Open+Sans:wght@400;600&display=swap
   Raleway  : headings, brand name, buttons, nav
   Open Sans: body text, paragraphs, small print
*/

/* 1. BODY / PAGE CONTAINER
   900px max keeps pages identical on desktop and mobile.
   Single centered column - no breakpoints needed.
*/
body {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 13pt;
    color: #222222;
    background-color: #B8B8B8;
    margin: 0 auto;
    max-width: 900px;
    width: 100%;
    padding: 0px;
    background-color: #FFFFFF;
    box-shadow: 0px 0px 20px rgba(0,0,0,0.30);
}

/* 2. TABLES */
table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

td, th {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 13pt;
    color: #222222;
}

/* 3. PARAGRAPHS */
p {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 13pt;
    line-height: 1.65;
    margin-top: 6px;
    margin-bottom: 6px;
    color: #222222;
}

/* 4. HEADINGS */
h1 {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 21pt;
    font-weight: 800;
    color: #8B1A1A;
    margin-top: 10px;
    margin-bottom: 6px;
    line-height: 1.2;
}

h2 {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 16pt;
    font-weight: 700;
    color: #8B1A1A;
    margin-top: 10px;
    margin-bottom: 6px;
    line-height: 1.2;
}

h3 {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 13pt;
    font-weight: 700;
    color: #1A1A1A;
    margin-top: 8px;
    margin-bottom: 4px;
}

/* 5. LINKS */
a {
    text-decoration: none;
    color: #8B1A1A;
    font-family: 'Raleway', Arial, sans-serif;
}

a:hover {
    color: #555555;
    text-decoration: underline;
}

/* 6. IMAGES */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* 7. TOP INFO BAR */
.topbar {
    background-color: #8B1A1A;
    color: #FFFFFF;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 10pt;
    padding: 7px 14px;
    text-align: center;
}

.topbar a {
    color: #FFD0A0;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 10pt;
    text-decoration: none;
}

.topbar a:hover { color: #FFFFFF; }

/* 8. MENU BUTTON */
.menu-btn {
    display: inline-block;
    background-color: #1A1A1A;
    color: #FFFFFF;
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 11pt;
    font-weight: 700;
    padding: 10px 18px;
    text-decoration: none;
    letter-spacing: 0.05em;
}

.menu-btn:hover {
    background-color: #8B1A1A;
    color: #FFFFFF;
    text-decoration: none;
}

/* 9. HERO */
.hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0px;
    padding: 0px;
    line-height: 0px;
}

.hero img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0px;
}

.hero-overlay {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: rgba(20, 20, 20, 0.72);
    padding: 18px 18px;
}

.hero-overlay h1 {
    color: #FFFFFF;
    font-size: 17pt;
    margin: 0px 0px 6px 0px;
}

.hero-overlay p {
    color: #E8E8E8;
    font-size: 11pt;
    margin: 0px;
    line-height: 1.4;
}

/* 10. VALUE STRIP (4 pillars below hero) */
.value-strip {
    background-color: #1A1A1A;
    padding: 0px;
}

.value-item {
    padding: 14px 18px;
    border-bottom: 1px solid #2E2E2E;
}

/* 11. SECTION WRAPPERS */
.section {
    padding: 22px 18px;
    background-color: #FFFFFF;
}

.section-gray {
    padding: 22px 18px;
    background-color: #F4F4F4;
}

.section-dark {
    padding: 22px 18px;
    background-color: #1A1A1A;
}

.section-red {
    padding: 18px 18px;
    background-color: #8B1A1A;
    text-align: center;
}

/* 12. CTA BUTTONS - full width, large tap targets */
.btn-cta {
    display: block;
    background-color: #8B1A1A;
    color: #FFFFFF;
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 12pt;
    font-weight: 700;
    padding: 15px 20px;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-align: center;
    margin-top: 14px;
}

.btn-cta:hover {
    background-color: #C8A45A;
    color: #1A1A1A;
    text-decoration: none;
}

.btn-dark {
    display: block;
    background-color: #1A1A1A;
    color: #FFFFFF;
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 12pt;
    font-weight: 700;
    padding: 15px 20px;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-align: center;
    margin-top: 14px;
}

.btn-dark:hover {
    background-color: #C8A45A;
    color: #1A1A1A;
    text-decoration: none;
}

.btn-gold {
    display: block;
    background-color: #C8A45A;
    color: #1A1A1A;
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 12pt;
    font-weight: 700;
    padding: 15px 20px;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-align: center;
    margin-top: 14px;
}

.btn-gold:hover {
    background-color: #FFFFFF;
    color: #8B1A1A;
    text-decoration: none;
}

/* 13. PRODUCT BLOCKS - full width stacked */
.product-block {
    border-bottom: 3px solid #E8E8E8;
    padding: 20px 18px;
    background-color: #FFFFFF;
}

.product-block img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-bottom: 12px;
    display: block;
}

/* 14. STEP BLOCKS (How It Works) */
.step-block {
    padding: 18px 18px;
    border-bottom: 1px solid #E0E0E0;
    background-color: #FFFFFF;
}

.step-number {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 36pt;
    font-weight: 800;
    color: #C8A45A;
    line-height: 1;
    margin: 0px 0px 4px 0px;
}

/* 15. CHECK LIST */
.check-item {
    padding: 10px 0px;
    border-bottom: 1px solid #EEEEEE;
    font-size: 12pt;
    line-height: 1.5;
}

/* 16. FOOTER */
.footer {
    background-color: #1A1A1A;
    color: #CCCCCC;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 10pt;
    padding: 25px 18px;
    line-height: 1.9;
}

.footer a {
    color: #C8A45A;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 10pt;
    text-decoration: none;
}

.footer a:hover { color: #FFFFFF; }

.footer h3 {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 11pt;
    font-weight: 700;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin: 22px 0px 8px 0px;
    border-bottom: 1px solid #333333;
    padding-bottom: 5px;
}

/* 17. DIVIDERS */
.divider      { border: none; border-top: 1px solid #E0E0E0; margin: 14px 0px; }
.divider-dark { border: none; border-top: 1px solid #333333; margin: 14px 0px; }

/* 18. UTILITY CLASSES */
.raleway       { font-family: 'Raleway', Arial, sans-serif; }
.raleway-bold  { font-family: 'Raleway', Arial, sans-serif; font-weight: 700; }
.raleway-xbold { font-family: 'Raleway', Arial, sans-serif; font-weight: 800; }
.opensans      { font-family: 'Open Sans', Arial, sans-serif; }
.text-red      { color: #8B1A1A; }
.text-gold     { color: #C8A45A; }
.text-white    { color: #FFFFFF; }
.text-dark     { color: #1A1A1A; }
.text-gray     { color: #666666; }
.text-center   { text-align: center; }
.bold          { font-weight: 700; }
.small-text    { font-size: 10pt; }
