/* ==========================================================================
   BASE STYLES
   CSS Variables, Font Declarations, Base Utilities
   ========================================================================== */

:root {
    /* Primary Palette */
    --color-primary-navy: #19285f;
    --color-primary-lime: #d0e600;
    --color-primary-teal: #2a8378;
    
    /* Neutral Palette */
    --color-neutral-grey-blue: #b5bec6;
    --color-neutral-taupe: #cab2ac;
    --color-neutral-blue-grey: #abb2c6;
    --color-neutral-white: #f1f1f1;
    --color-neutral-cream: #f1e8d7;
    --color-neutral-lavender: #e1dee9;
    
    /* Secondary Palette - Vibrant */
    --color-secondary-rose: #b07e9c;
    --color-secondary-purple: #a379a7;
    --color-secondary-blue-purple: #5b5ea2;
    --color-secondary-teal-blue: #24648d;
    --color-secondary-teal: #2092b2;
    --color-secondary-olive: #b0c280;
    --color-secondary-golden: #f4c978;
    --color-secondary-orange: #ea6e00;
    --color-secondary-coral: #e56c6e;
    
    /* Secondary Palette - Pastel/Light */
    --color-secondary-rose-light: #b07e9c;
    --color-secondary-lavender-light: #decbdd;
    --color-secondary-blue-purple-light: #adaed2;
    --color-secondary-blue-light: #83adda;
    --color-secondary-sky-light: #a9d8f2;
    --color-secondary-lime-light: #e7eebf;
    --color-secondary-cream-light: #ffeec7;
    --color-secondary-peach-light: #ffd5ba;
    --color-secondary-pink-light: #ffb7b8;

    --breakpoint-maxwidth: 1100px;

    /* Beaver Builder Responsive Breakpoints */
    --bb-breakpoint-small: 768px;
    --bb-breakpoint-medium: 992px;
    --bb-breakpoint-large: 1200px;

    /* Transitions */
    --transition-smooth: all 0.3s ease-in-out;
}

/* ==========================================================================
   FONT FACE DECLARATIONS - Atten Round New
   ========================================================================== */

/* Book (300) */
@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewBook.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewBookItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

/* Regular (400) */
@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewRegular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewRegularItalic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Medium (500) */
@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewMedium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewMediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

/* Bold (700) */
@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewBold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewBoldItalic.woff2') format('woff2');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Extra Bold (800) */
@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Atten Round New';
    src: url('../fonts/atten-new/AttenRoundNewExtraBoldItalic.woff2') format('woff2');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}



.iriss-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ==========================================================================
   GLOBAL FOCUS INDICATOR — Yellow outline for keyboard navigation
   ========================================================================== */

*:focus-visible {
    outline: 3px solid #FFD700 !important;
    outline-offset: 2px !important;
    border-radius: 4px;
}

/* ==========================================================================
   SOCIAL ICON LINKS — Ensure tabbable by giving links actual dimensions
   ========================================================================== */

.fl-icon-group .fl-icon a {
    display: inline-block;
}

/* ==========================================================================
   GLOBAL BUTTON HOVER LIFT
   ========================================================================== */

body .fl-button,
body .iriss-btn,
body a.iriss-btn,
body .iriss-post-btn .fl-button,
body .wp-block-button__link,
body input[type="submit"],
body button[type="submit"] {
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease !important;
    transition-property: transform, box-shadow !important;
}

body .fl-button:hover,
body .iriss-btn:hover,
body a.iriss-btn:hover,
body .iriss-post-btn .fl-button:hover,
body .wp-block-button__link:hover,
body input[type="submit"]:hover,
body button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

/* ==========================================================================
   BREADCRUMBS - Underline last item (current page)
   ========================================================================== */

.pp-breadcrumbs span.breadcrumb_last,
.pp-breadcrumbs span.last,
.pp-breadcrumbs span.current-item,
.pp-breadcrumbs span.breadcrumb_last:hover,
.pp-breadcrumbs span.last:hover,
.pp-breadcrumbs span.current-item:hover,
.iriss-breadcrumbs .breadcrumb-item.breadcrumb-current,
.iriss-breadcrumbs .breadcrumb-item.breadcrumb-current:hover {
    color: #5B5EA2 !important;
}

/* ==========================================================================
   SEARCH RESULTS - POST TYPE BADGE
   ========================================================================== */

.fl-post-feed-post {
    position: relative;
}

.iriss-search-type-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    display: inline-block;
    padding: 4px 12px;
    font-family: 'Atten Round New', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 20px;
    background-color: var(--color-neutral-lavender, #e1dee9);
    color: var(--color-primary-navy, #2b2d42);
    white-space: nowrap;
}

/* Reserve space on the right so long titles wrap before the badge instead of
   running underneath it. Sized to clear the widest post-type label. */
body.search .fl-post-feed-title {
    padding-right: 140px;
}
