/*
Theme Name: Gaurav Duggal
Theme URI: https://goodmansvision.com/
Author: GoodmansVision
Author URI: https://goodmansvision.com/
Description: Custom WordPress theme for GD Website.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gd
Tags: flexible-header, custom-menu, custom-logo, responsive-layout
*/

/* ============================================
   TYPOGRAPHY SYSTEM
   ============================================ */

/* IBM Plex Sans Variable Font */
@font-face {
    font-family: 'IBM Plex Sans';
    src: url('assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf') format('truetype');
    font-weight: 100 700;
    font-stretch: 75% 125%;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('assets/fonts/IBMPlexSans-Italic-VariableFont_wdth,wght.ttf') format('truetype');
    font-weight: 100 700;
    font-stretch: 75% 125%;
    font-style: italic;
    font-display: swap;
}

/* IvyOra Display Font */
@font-face {
    font-family: 'IvyOra Display';
    src:
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Regular.woff2') format('woff2'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Regular.woff') format('woff'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IvyOra Display';
    src:
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-RegularItalic.woff2') format('woff2'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-RegularItalic.woff') format('woff'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-RegularItalic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IvyOra Display';
    src:
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Medium.woff2') format('woff2'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Medium.woff') format('woff'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IvyOra Display';
    src:
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-MediumItalic.woff2') format('woff2'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-MediumItalic.woff') format('woff'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IvyOra Display';
    src:
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Bold.woff2') format('woff2'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Bold.woff') format('woff'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IvyOra Display';
    src:
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-BoldItalic.woff2') format('woff2'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-BoldItalic.woff') format('woff'),
        url('assets/fonts/IvaOraDisplay/IvyOraDisplay-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Hurricane Font for Logo */
@font-face {
    font-family: 'Hurricane';
    src: url('assets/fonts/Hurricane-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Cinzel Variable Font for Logo */
@font-face {
    font-family: 'Cinzel';
    src: url('assets/fonts/Cinzel-VariableFont_wght.ttf') format('truetype');
    font-weight: 400 900;
    font-style: normal;
    font-display: swap;
}

/* Basic theme stylesheet — keep minimal. Header layout is in assets/css/header.css */
html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family:
        'IBM Plex Sans',
        system-ui,
        -apple-system,
        'Segoe UI',
        Roboto,
        'Helvetica Neue',
        Arial,
        sans-serif;
    color: #403936;
    background: #fdf5f1;
    width: 100%;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.6;
}

/* ============================================
   HEADING STYLES
   ============================================ */

/* H1 - Desktop: IBM Bold 48px OR IvyOra Display Medium 48px */
h1 {
    font-family: 'IvyOra Display', serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 1.2;
    color: #005b68;
    margin: 0 0 24px;
}

h1.ibm-style {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 700;
}

/* H2 - Desktop: IvyOra Display Medium 32px */
h2 {
    font-family: 'IvyOra Display', serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
    color: #005b68;
    margin: 0 0 20px;
}

/* H3 - Desktop: IvyOra Display Medium 24px OR IBM Regular 24px */
h3 {
    font-family: 'IvyOra Display', serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
    color: #403936;
    margin: 0 0 16px;
}

h3.ibm-style {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 400;
}

/* H4 - Desktop: IBM Regular 20px */
h4 {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    color: #403936;
    margin: 0 0 14px;
}

/* H5 & H6 */
h5 {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    color: #403936;
    margin: 0 0 12px;
}

h6 {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    color: #403936;
    margin: 0 0 12px;
}

/* Paragraph - IBM Regular 16px */
p {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #403936;
    margin: 0 0 16px;
}

p:last-child {
    margin-bottom: 0;
}

/* Links */
a {
    color: #ed6a59;
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: #005b68;
}

/* ============================================
   MOBILE TYPOGRAPHY
   ============================================ */

@media (max-width: 768px) {
    /* H1 - Mobile: IBM Bold 32px OR IvyOra Display Medium 32px */
    h1 {
        font-size: 32px;
    }

    /* H2 - Mobile: IvyOra Display Medium 24px */
    h2 {
        font-size: 24px;
    }

    /* H3 - Mobile: IvyOra Display Medium 16px */
    h3 {
        font-size: 16px;
    }

    /* H4 - Mobile: IBM Regular 20px (same as desktop) */
    h4 {
        font-size: 20px;
    }

    /* Paragraph - Mobile: IBM Regular 16px (same as desktop) */
    p {
        font-size: 16px;
    }
}

/* ============================================
   LAYOUT & SPACING
   ============================================ */

/* Ensure content wrapper spacing */
.site-main {
    margin: 24px auto;
    padding: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 160px;
    box-sizing: border-box;
    background: #fdf5f1;
}

/* Global section spacing - 200px gap between sections */
main > section,
main > .section,
.content-area > section,
.content-area > .section {
    margin-bottom: 0;
}

main > section:last-child,
main > .section:last-child,
.content-area > section:last-child,
.content-area > .section:last-child {
    margin-bottom: 0;
}

/* Hero section background pattern */
.hero-section.hero-type-1 {
    background: #fdf5f1;
}

/* Responsive section spacing */
@media (max-width: 768px) {
    main > section,
    main > .section,
    .content-area > section,
    .content-area > .section {
        margin-bottom: 0;
    }
}

@media (max-width: 480px) {
    main > section,
    main > .section,
    .content-area > section,
    .content-area > .section {
        margin-bottom: 0;
    }
}

#primary,
.content-area {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.divider-wrapper {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 90px !important;
    margin: 48px 0 !important;
}

.divider-img {
    max-width: 1294px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

.service-divider-2 {
    width: 100%;
    max-width: 1281px;
    margin: 0 auto;
}

.service-divider-2 img {
    width: 100%;
    max-width: 1281px;
    padding: 0 32px;
}

.service-divider-2.inverted img {
    transform: scaleX(-1);
}

@media (max-width: 600px) {
    .divider-wrapper {
        width: auto;
        padding: 0 32px !important;
        margin: 32px 0 !important;
    }

    .divider-img {
        max-width: 100%;
        width: 100%;
    }

    .service-divider-2 {
        width: 100%;
        margin: 0 auto;
    }

    .service-divider-2 img {
        max-width: none;
        padding: 0 32px;
    }
}
