/*
Theme Name:   AMS Attorneys Inc 2026
Theme URI:    https://ammslaw.co.za
Author:       AMS Attorneys Inc 2026
Author URI:   https://ammslaw.co.za
Description:  AMS Attorneys Inc 2026.
Version:      0.1.1
Tested up to: 6.0
Requires PHP: 8.0
License:      Private
Text Domain:  ams-inc-2026
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');

:root {
    /* typography variables */
    --base-font-size: 1rem;
    --fluid-font-size: clamp(1.2rem, calc(1.2rem + (0.875 - 1) * ((100vw - 20rem) / (96 - 20))), 1.3rem);

    --title-heading: clamp(2rem, 10vw, 4rem);
    --section-heading: clamp(2rem, 8vw, 4rem);
    --sub-heading: clamp(2rem, 6vw, 3rem);
    
    --paragraph: clamp(1rem, 3vw, 1.2rem);

    --color-bush: #0E2C20; /*Bush*/
    --color-bush-dark: #051e0f; /*Bush Dark*/
    --color-orange-dream: #F1AD76; /*Orange Dream*/
    --color-white: #FFFFFF;
    --color-black: #000000;

    --color-green: #85F176;

    /* content width */
    --content-padding: 0rem 10vw;
    --content-padding-tall: 2rem 10vw;

    /* border-radius variables */
	--border-radius: 1rem;
	--border-radius-medium: 0.75rem;
	--border-radius-small: 0.5rem;

    /* flex and grid variables */
    --gap: 1rem;

    /* base trasition variables */
	--transition: 0.3s all ease-in-out;

}

@media screen and (max-width:400px) {
    :root {
        /* content width */
        --content-padding: 0rem 5vw;
        --content-padding-tall: 2rem 5vw;
    }
}


* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    font-size: var(--base-font-size);
    font-family: 'poppins', sans-serif;
    background-color: var(--color-bush);
}

/* Typography ---------- ---------- ---------- */

h1 {
    font-size: var(--title-heading);
}

h2 {
    font-size: var(--section-heading);
}

h3 {
    font-size: var(--sub-heading);
}

p, li {
    font-size: var(--fluid-font-size);
    line-height: 2;
}

.cta {
    display: block;
    padding: 0.6rem 1.2rem;
    width: min-content;
    height: min-content;
    text-wrap: nowrap;
    font-weight: 700;
    background-color: var(--color-green);
    color: var(--color-bush);
    border-radius: var(--border-radius-medium);
    text-decoration: none;
}

.cta:hover {
    color: var(--color-bush);
    background-color: var(--color-orange-dream);
}

.fa-solid {
    color: inherit;
}

.ams_contact_form_button {
    background-color: var(--color-green) !important;
    color: var(--color-bush) !important;
    font-family: 'poppins', sans-serif;
    font-weight: 700 !important;
}

.footer-inner-wrap .f-nav {
    padding: 0 !important;
    overflow: hidden !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

/* Page Transition ---------- ---------- ---------- */

#pagetransition {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    z-index: 9999;
}


/* Mobile Menu ---------- ---------- ---------- */

#mobilemenu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background-color: var(--color-bush-dark);
	color: var(--color-white);
	padding: 12rem 10vw 0;
	z-index: 999;
	opacity: 0;
	pointer-events: none;
	transition: .5s ease-in-out;
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.menuOpen {
	opacity: 1 !important;
	pointer-events: auto !important;
	clip-path: polygon(0 0, 100% 0, 100% 95%, 0 80%) !important;
}

#mobilemenu div ul {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
	padding: 1rem;
	font-size: 2rem;
	list-style-type: none;
}

#mobilemenu ul {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#mobilemenu ul li {
	font-size: 24px;
	pointer-events: auto;
}

#mobilemenu ul li a {
    text-decoration: none;
    color: inherit;
}



#header_mobilemenubtn {
    display: none;
    justify-content: end;
}

#mobilemenubtn {
    display: none;
    align-items: center;
    gap: calc(var(--gap) - 0.7rem);
    padding: 0.6rem 1.2rem;
    width: min-content;
    height: min-content;
    text-wrap: nowrap;
    font-weight: 700;
    background-color: var(--color-white);
    color: var(--color-bush);
    border-radius: var(--border-radius-medium);
    text-decoration: none;
    pointer-events: all;
    user-select: none;
    cursor: pointer;
}

#mobilemenubtn:hover {
    color: var(--color-bush);
    background-color: var(--color-orange-dream);
}

@media screen and (max-width:996px) {
    #mobilemenubtn {
        display: flex;
    }

    #header_mobilemenubtn {
        display: flex;
    }
}



/* Header ---------- ---------- ---------- */

header {
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: min-content;
    padding: var(--content-padding-tall);
    display: grid;
    grid-template-columns: 200px 1fr 1fr 200px;
    flex-direction: row;
    justify-content: space-between;
    gap: 2rem var(--gap);
    z-index: 1000;
}

#header_logo {
    grid-column: 1 / 2;
    width: 200px;
    height: auto;
    aspect-ratio: initial;
}

#header_nav {
    grid-column: 2 / 4;
    display: block;
    align-content: center;
    color: var(--color-white);
    padding-left: 2rem;
}

#header_nav ul {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.2rem;
}

#header_nav ul li {
    color: inherit;
}

#header_nav ul li:hover {
    color: var(--color-orange-dream);
}

#header_nav ul li.current-menu-item {
    color: var(--color-orange-dream);
}

#header_nav ul li a {
    text-decoration: none;
    color: inherit;
}

#header_nav ul li.current-menu-item a {
    text-decoration: underline;
}

#header_cta {
    grid-column: 4 / 5;
}

#header_cta a {
    justify-self: end;
    text-decoration: none;
    color: inherit;
}

#header_actions {
    display: block;
}

#header_top {
    grid-column: 1 / -1;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: row;
    justify-content: end;
    gap: 1rem;
    color: var(--color-white);
}

#header_top a {
    text-decoration: none;
    color: inherit;
}

#header_top a:hover {
    text-decoration: underline;
    color: var(--color-orange-dream);
}

#header .fa-solid {
    color: var(--color-orange-dream);
}

@media screen and (max-width:996px) {
    header {
        grid-template-columns: 200px 1fr;
    }

    #header_logo {
        width: 150px;
    }

    #header_nav {
        display: none;
    }

    #header_actions {
        display: none;
    }
}

@media screen and (max-width:788px) {
    #header_top {
        display: none;
    }
}


/* Footer ---------- ---------- ---------- */

footer {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5rem;
    width: 100%;
    padding: 6rem 10vw;
    overflow: hidden;
    background-color: var(--color-bush);
    color: var(--color-white);
}

#footer_top {
    display: flex;
    flex-direction: row;
    gap: calc(var(--gap) + 3rem);
}

#footer_nav {
    grid-column: 2 / 4;
    display: block;
    align-content: center;
    color: var(--color-white);
}

#footer_nav ul {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.2rem;
}

#footer_nav ul li {
    color: inherit;
}

#footer_nav ul li:hover {
    color: var(--color-orange-dream);
}

#footer_nav ul li.current-menu-item {
    color: var(--color-orange-dream);
}

#footer_nav ul li a {
    text-decoration: none;
    color: inherit;
}

#footer_nav ul li.current-menu-item a {
    text-decoration: underline;
}

@media screen and (max-width:768px) {
    #footer_top {
        display: flex;
        flex-direction: column;
        gap: calc(var(--gap) + 3rem);
    }
}



/* Content ---------- ---------- ---------- */

section {
    margin: 0;
    padding: var(--content-padding);
    min-height: 30vh;
}

#content {
    margin: 0;
    padding: 0;
    background-color: var(--color-white);
}


/* Front Page ---------- ---------- ---------- */

.splashpage {
    display: flex;
    flex-direction: column;
    align-content: center;
    text-align: center;
    gap: 1rem;
    padding: 5rem 10vw;
    background-color: var(--color-bush);
}

.splashpage-heading {
    margin: 0;
    padding: 0;
    align-self: center;
    max-width: 1000px;
    line-height: 1.2;
    font-size: var(--title-heading);
    color: var(--color-white);
}

.splashpage-subheading {
    align-self: center;
    line-height: 1.2;
    max-width: 800px;
    font-size: calc( var(--fluid-font-size) + 0.5rem );
    color: var(--color-orange-dream);
}

.splashpage-cta {
    align-self: center;
}

/* Wordpress block */

.wp-block-cover {
    padding: 2rem;
}

.wp-block-cover h3 {
    margin: 0;
}