/*
 Theme Name:   Aquatic Architects
 Theme URI:    https://generatepress.com
 Description:  A custom theme for Aquatic Architects, based on GeneratePress
 Author:       Karen Greene
 Template:     generatepress
 Version:      0.1
*/

/* ==========================
 * TABLE OF CONTENTS
 * 
 * 1. Typography
 * 2. Theme Tweaks
 * 3. Utilities
 * 4.
 * 
========================== */



/* =========================


    1. TYPOGRAPHY


========================= */

/* Font Family Utilities */
.ff-body {
    font-family: var(--gp-font--body);
}

.ff-heading {
    font-family: var(--gp-font--headings);
}

/* Heading and utility class font assignment */
h1, h2, h3, h4, h5, h6,
[class^="fs-"] {
    font-family: var(--gp-font--headings);
}

.fs-p {
    font-family: var(--gp-font--body);
}


/* =========================
   FLUID TYPOGRAPHY SCALE
   Source: https://theadminbar.com/simple-responsive-font-size-calculator/
========================= */

h1,
.fs-h1 {
    font-size: clamp(3.375rem, 3.0682rem + 1.2273vw, 4.05rem);
}

h2,
.fs-h2 {
    font-size: clamp(2.5313rem, 2.3011rem + 0.9205vw, 3.0375rem);
}

h3,
.fs-h3 {
    font-size: clamp(2.1094rem, 1.9176rem + 0.767vw, 2.5313rem);
}

h4,
.fs-h4 {
    font-size: clamp(1.6875rem, 1.5341rem + 0.6136vw, 2.025rem);
}

h5,
.fs-h5 {
    font-size: clamp(1.4063rem, 1.2784rem + 0.5114vw, 1.6875rem);
}

h6,
.fs-h6 {
    font-size: clamp(1.2656rem, 1.1506rem + 0.4602vw, 1.5188rem);
}

p,
.fs-p {
    font-size: clamp(0.9375rem, 0.8523rem + 0.3409vw, 1.125rem);
}

/* =========================
  
 
   2. THEME TWEAKS


========================= */

/* Header padding with responsive clamp */
.site-header {
    padding-inline: clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

/* Typography wrapping */
/* Balance headings and elements with `.balance` class */
:is(h1, h2, h3, h4, h5, h6),
.balance {
    text-wrap: balance;
}

/* Use pretty wrapping for body text elements */
p,
blockquote,
li {
    text-wrap: pretty;
}

/* Remove bottom margin from final paragraph */
p:last-child:last-of-type {
    margin-bottom: 0px;
}

/* =========================
  
  
   3. UTILITIES


========================= */

/* Line Clamping */
.line-limit-3,
.line-limit-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3 {
    -webkit-line-clamp: 3;
}

.line-limit-2 {
    -webkit-line-clamp: 2;
}

/* Visually Hidden (accessible to screen readers) */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* Smooth Transition Utility */
.transition {
    transition: all 0.25s ease-in-out;
}


/* =========================
  
  
   4. GP MENU ACCESSIBILITY TWEAKS


========================= */

/* =========================
4. GP MENU ACCESSIBILITY TWEAKS
========================= */

/* Only show submenus on desktop hover */
@media (min-width: 769px) {
    #site-navigation ul.sub-menu {
        display: block;
    }
    
    #site-navigation li:hover .gp-icon svg {
        transform: rotate(180deg);
    }
    
    #site-navigation li:hover .sub-menu {
        visibility: visible;
    }
}

/* =========================
   STRETCH LINK (from Bootstrap)
   Source: https://youtu.be/HBriBrnRlQE?si=DLiSXEiBHt6lw91l
   Note: Only use ONE link per card or this breaks!
========================= */

.stretch-link {
    position: relative;
	color: var(--neutral-900);
}

.stretch-link a {
    text-decoration: none;
    color: inherit;
}
	
.stretch-link a::after {
    content: '';
    position: absolute;
    inset: 0;
}

.stretch-link a:is(:focus-visible)::after {
    outline: 2px solid;
}

.stretch-link a:is(:hover, :focus) {
    outline: none;
	color: var(--brand-primary-700)
}


/* =========================
   CONTAINER WRAPPER
========================= */

.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
    background: var(--neutral-50);
}


/* =========================
   Favorite Styling
========================= */

.aa-favorite-toggle {
    cursor: pointer;
    font-size: 2rem;
    user-select: none;
    position: relative;
    color: white;
    filter: drop-shadow(0 0 0 black);
}

/* Optional: add a hover effect */
.aa-favorite-toggle:hover {
    filter: drop-shadow(0 0 2px black);
}

/* Tooltip styling */
.aa-favorite-toggle::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.85em;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10;
}

/* Show tooltip on hover */
.aa-favorite-toggle:hover::after {
    opacity: 1;
    pointer-events: auto;
}


/* ==========================
    Blog Card Styling
=========================== */
.blog-card {
    align-items: center;
    background-color: var(--white);
    column-gap: 1rem;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    overflow-x: clip;
    overflow-y: clip;
    row-gap: 1rem;
    text-decoration: none;
    border: 3px solid var(--accent-400);
    border-radius: 1rem
}

.blog-card:hover {
    transform: scale(1.)
}

.blog-card a {
    text-decoration: none
}

.blog-card a:hover {
    text-decoration: none
}

.blog-card_text-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem
}

.blog-card_title {
    color: var(--brand-secondary-800);
    font-family: var(--gp-font--headings);
    font-weight: 400;
    text-decoration: none
}

.test-class {
    background-color: red !important;
    border: 5px solid blue !important;
}
