/* ============================================================
   Floraindex Joomla 6.1 Template — Main Stylesheet
   Modern, bright, professional florist directory theme
   ============================================================ */

/* ===== CSS CUSTOM PROPERTIES ===== */
:root {
    /* Brand colors */
    --fi-primary: #1E8A5E;
    --fi-primary-dark: #157048;
    --fi-primary-light: #2BA975;
    --fi-primary-lighter: #E8F5EE;
    --fi-primary-50: #F0F8F4;

    /* Accent colors */
    --fi-accent: #E85A71;
    --fi-accent-dark: #D04458;
    --fi-accent-light: #FDF2F4;
    --fi-accent-50: #FCEFF1;

    /* Highlight colors */
    --fi-highlight: #F5C518;
    --fi-highlight-dark: #E0B010;
    --fi-highlight-light: #FEF9E7;

    /* Neutral palette */
    --fi-white: #FFFFFF;
    --fi-off-white: #FAFAF7;
    --fi-light: #F5F5F0;
    --fi-lighter: #F9F9F7;
    --fi-border: #E8E8E3;
    --fi-border-light: #F0F0EB;
    --fi-text: #2D3436;
    --fi-text-muted: #636E72;
    --fi-text-light: #A0A6AA;

    /* Typography */
    --fi-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --fi-font-heading: 'Poppins', sans-serif;

    /* Font sizes */
    --fi-text-xs: 0.75rem;
    --fi-text-sm: 0.875rem;
    --fi-text-base: 1rem;
    --fi-text-lg: 1.125rem;
    --fi-text-xl: 1.25rem;
    --fi-text-2xl: 1.5rem;
    --fi-text-3xl: 1.875rem;
    --fi-text-4xl: 2.25rem;
    --fi-text-5xl: 3rem;

    /* Spacing */
    --fi-space-xs: 0.25rem;
    --fi-space-sm: 0.5rem;
    --fi-space-md: 1rem;
    --fi-space-lg: 1.5rem;
    --fi-space-xl: 2rem;
    --fi-space-2xl: 3rem;
    --fi-space-3xl: 4rem;

    /* Border radius */
    --fi-radius-sm: 6px;
    --fi-radius-md: 10px;
    --fi-radius-lg: 16px;
    --fi-radius-xl: 24px;
    --fi-radius-full: 9999px;

    /* Shadows */
    --fi-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
    --fi-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --fi-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.10);
    --fi-shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.12);
    --fi-shadow-primary: 0 6px 20px rgba(30, 138, 94, 0.25);
    --fi-shadow-accent: 0 6px 20px rgba(232, 90, 113, 0.25);

    /* Transitions */
    --fi-transition: all 0.25s ease;
    --fi-transition-fast: all 0.15s ease;
    --fi-transition-slow: all 0.4s ease;

    /* Layout */
    --fi-container-max: 1280px;
    --fi-header-height: 80px;
    --fi-sidebar-width: 300px;
    --fi-nav-height: 56px;
}

/* ===== RESET & BASE ===== */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body.fi-body {
    margin: 0;
    font-family: var(--fi-font-body);
    font-size: var(--fi-text-base);
    line-height: 1.65;
    color: var(--fi-text);
    background-color: var(--fi-off-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fi-font-heading);
    font-weight: 700;
    line-height: 1.25;
    color: var(--fi-text);
    margin: 0 0 var(--fi-space-md);
}

h1 { font-size: var(--fi-text-4xl); }
h2 { font-size: var(--fi-text-3xl); }
h3 { font-size: var(--fi-text-2xl); }
h4 { font-size: var(--fi-text-xl); }
h5 { font-size: var(--fi-text-lg); }
h6 { font-size: var(--fi-text-base); }

p {
    margin: 0 0 var(--fi-space-md);
}

a {
    color: var(--fi-primary);
    text-decoration: none;
    transition: var(--fi-transition-fast);
}

a:hover {
    color: var(--fi-primary-dark);
    text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--fi-highlight);
    outline-offset: 2px;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul, ol {
    margin: 0 0 var(--fi-space-md);
    padding-left: var(--fi-space-xl);
}

/* ===== CONTAINER ===== */
.fi-container {
    max-width: var(--fi-container-max);
    margin: 0 auto;
    padding: 0 var(--fi-space-xl);
}

/* ===== SKIP LINK ===== */
.fi-skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 10000;
    background: var(--fi-primary);
    color: var(--fi-white);
    padding: var(--fi-space-md) var(--fi-space-lg);
    border-radius: 0 0 var(--fi-radius-md) 0;
    font-weight: 600;
    transition: top 0.2s ease;
}

.fi-skip-link:focus {
    top: 0;
    color: var(--fi-white);
    text-decoration: none;
}

/* ===== SCREEN READER ONLY ===== */
.sr-only,
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ===== TOP BAR ===== */
.fi-topbar {
    background: var(--fi-primary-dark);
    color: var(--fi-white);
    font-size: var(--fi-text-sm);
    padding: var(--fi-space-sm) 0;
}

.fi-topbar a {
    color: var(--fi-white);
    text-decoration: none;
    opacity: 0.9;
}

.fi-topbar a:hover {
    opacity: 1;
    text-decoration: underline;
}

.fi-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fi-space-lg);
}

/* ===== HEADER ===== */
.fi-header {
    background: var(--fi-white);
    box-shadow: var(--fi-shadow-sm);
    border-bottom: 1px solid var(--fi-border-light);
    position: relative;
    z-index: 1000;
}

.fi-sticky-header .fi-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.fi-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--fi-space-xl);
    min-height: var(--fi-header-height);
    padding-top: var(--fi-space-md);
    padding-bottom: var(--fi-space-md);
}

/* ===== LOGO ===== */
.fi-logo {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.fi-logo-link {
    display: inline-flex;
    align-items: center;
    gap: var(--fi-space-sm);
    text-decoration: none;
}

.fi-logo-link:hover {
    text-decoration: none;
}

.fi-logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--fi-primary);
}

.fi-logo-icon svg {
    width: 100%;
    height: 100%;
}

.fi-logo-text {
    font-family: var(--fi-font-heading);
    font-size: var(--fi-text-2xl);
    font-weight: 800;
    color: var(--fi-primary);
    letter-spacing: -0.02em;
}

.fi-slogan {
    font-size: var(--fi-text-xs);
    color: var(--fi-text-muted);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 2px;
}

.fi-logo-img {
    max-height: 48px;
    width: auto;
}

/* ===== HEADER SEARCH ===== */
.fi-header-search {
    flex: 1;
    max-width: 420px;
    margin: 0 auto;
}

.fi-header-search .search,
.fi-header-search form {
    display: flex;
    align-items: center;
    width: 100%;
}

.fi-header-search input[type="search"],
.fi-header-search input[type="text"] {
    flex: 1;
    padding: 0.65rem 1rem;
    border: 2px solid var(--fi-border);
    border-right: none;
    border-radius: var(--fi-radius-md) 0 0 var(--fi-radius-md);
    font-size: var(--fi-text-sm);
    background: var(--fi-off-white);
    outline: none;
    transition: var(--fi-transition-fast);
    height: 44px;
}

.fi-header-search input[type="search"]:focus,
.fi-header-search input[type="text"]:focus {
    border-color: var(--fi-primary);
    background: var(--fi-white);
}

.fi-header-search button,
.fi-header-search .btn-primary {
    padding: 0.65rem 1.25rem;
    background: var(--fi-primary);
    color: var(--fi-white);
    border: 2px solid var(--fi-primary);
    border-radius: 0 var(--fi-radius-md) var(--fi-radius-md) 0;
    font-size: var(--fi-text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: var(--fi-transition-fast);
    height: 44px;
    white-space: nowrap;
}

.fi-header-search button:hover {
    background: var(--fi-primary-dark);
    border-color: var(--fi-primary-dark);
}

/* ===== NAV TOGGLE (Mobile) ===== */
.fi-nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 8px;
    background: var(--fi-primary-lighter);
    border: none;
    border-radius: var(--fi-radius-sm);
    cursor: pointer;
    transition: var(--fi-transition-fast);
}

.fi-nav-toggle-bar {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--fi-primary);
    border-radius: var(--fi-radius-full);
    transition: var(--fi-transition);
}

.fi-nav-toggle.active .fi-nav-toggle-bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
.fi-nav-toggle.active .fi-nav-toggle-bar:nth-child(2) {
    opacity: 0;
}
.fi-nav-toggle.active .fi-nav-toggle-bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ===== MAIN NAVIGATION ===== */
.fi-nav {
    background: var(--fi-primary);
    border-bottom: 3px solid var(--fi-primary-dark);
}

.fi-nav .container {
    padding: 0;
}

/* Menu module overrides */
.fi-nav ul.mod-menu,
.fi-nav ul.menu,
.fi-nav .navbar {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.fi-nav ul.mod-menu > li,
.fi-nav ul.menu > li,
.fi-nav .navbar > li {
    position: relative;
    margin: 0;
}

.fi-nav ul.mod-menu > li > a,
.fi-nav ul.menu > li > a,
.fi-nav .navbar > li > a {
    display: flex;
    align-items: center;
    gap: var(--fi-space-sm);
    padding: var(--fi-space-md) var(--fi-space-lg);
    color: var(--fi-white);
    font-size: var(--fi-text-sm);
    font-weight: 600;
    text-decoration: none;
    transition: var(--fi-transition-fast);
    white-space: nowrap;
}

.fi-nav ul.mod-menu > li > a:hover,
.fi-nav ul.menu > li > a:hover,
.fi-nav .navbar > li > a:hover,
.fi-nav ul.mod-menu > li.active > a,
.fi-nav ul.menu > li.active > a,
.fi-nav .navbar > li.active > a {
    background: var(--fi-primary-dark);
    color: var(--fi-white);
    text-decoration: none;
}

/* Dropdown submenu */
.fi-nav ul.mod-menu > li > ul,
.fi-nav ul.menu > li > ul {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: var(--fi-white);
    box-shadow: var(--fi-shadow-lg);
    border-radius: 0 0 var(--fi-radius-md) var(--fi-radius-md);
    padding: var(--fi-space-sm) 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--fi-transition);
    z-index: 100;
}

.fi-nav ul.mod-menu > li:hover > ul,
.fi-nav ul.menu > li:hover > ul,
.fi-nav ul.mod-menu > li:focus-within > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.fi-nav ul.mod-menu > li > ul > li > a,
.fi-nav ul.menu > li > ul > li > a {
    display: block;
    padding: 0.6rem 1.5rem;
    color: var(--fi-text);
    font-size: var(--fi-text-sm);
    font-weight: 500;
    text-decoration: none;
    transition: var(--fi-transition-fast);
}

.fi-nav ul.mod-menu > li > ul > li > a:hover,
.fi-nav ul.menu > li > ul > li > a:hover {
    background: var(--fi-primary-lighter);
    color: var(--fi-primary-dark);
    padding-left: 1.75rem;
}

/* ===== HERO SECTION ===== */
.fi-hero {
    position: relative;
    background: linear-gradient(135deg, var(--fi-primary-lighter) 0%, var(--fi-accent-50) 100%);
    overflow: hidden;
    padding: var(--fi-space-3xl) 0;
}

.fi-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, var(--fi-primary-lighter) 0%, transparent 70%);
    opacity: 0.5;
    pointer-events: none;
}

.fi-hero::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--fi-highlight-light) 0%, transparent 70%);
    opacity: 0.4;
    pointer-events: none;
}

.fi-hero .fi-container {
    position: relative;
    z-index: 1;
}

/* ===== BREADCRUMBS ===== */
.fi-breadcrumbs-wrapper {
    background: var(--fi-white);
    border-bottom: 1px solid var(--fi-border-light);
    padding: var(--fi-space-md) 0;
}

.fi-breadcrumbs-wrapper .breadcrumb {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--fi-space-sm);
    margin: 0;
    padding: 0;
    font-size: var(--fi-text-sm);
}

.fi-breadcrumbs-wrapper .breadcrumb li {
    display: flex;
    align-items: center;
    gap: var(--fi-space-sm);
    color: var(--fi-text-muted);
}

.fi-breadcrumbs-wrapper .breadcrumb li::after {
    content: '/';
    color: var(--fi-text-light);
    margin-left: var(--fi-space-sm);
}

.fi-breadcrumbs-wrapper .breadcrumb li:last-child::after {
    display: none;
}

.fi-breadcrumbs-wrapper .breadcrumb a {
    color: var(--fi-primary);
    text-decoration: none;
}

.fi-breadcrumbs-wrapper .breadcrumb a:hover {
    text-decoration: underline;
}

/* ===== MAIN LAYOUT ===== */
.fi-main {
    padding: var(--fi-space-2xl) 0;
    min-height: 50vh;
}

.fi-layout {
    display: grid;
    gap: var(--fi-space-xl);
}

.fi-layout-full {
    grid-template-columns: 1fr;
}

.fi-layout-left {
    grid-template-columns: var(--fi-sidebar-width) 1fr;
}

.fi-layout-right {
    grid-template-columns: 1fr var(--fi-sidebar-width);
}

/* ===== CONTENT AREA ===== */
.fi-component-area {
    min-width: 0;
}

.fi-content-top,
.fi-content-bottom {
    padding: var(--fi-space-xl) 0;
}

/* ===== SIDEBAR ===== */
.fi-sidebar {
    min-width: 0;
}

.fi-sidebar .mod-module,
.fi-sidebar .moduletable {
    margin-bottom: var(--fi-space-lg);
}

/* ===== MODULE CHROME: fiBox ===== */
.fiBox {
    background: var(--fi-white);
    border: 1px solid var(--fi-border);
    border-radius: var(--fi-radius-md);
    padding: var(--fi-space-lg);
    margin-bottom: var(--fi-space-lg);
    box-shadow: var(--fi-shadow-sm);
    transition: var(--fi-transition);
}

.fiBox:hover {
    box-shadow: var(--fi-shadow-md);
}

.fiBox h3,
.fiBox .module-title {
    font-size: var(--fi-text-lg);
    font-weight: 700;
    color: var(--fi-text);
    margin: 0 0 var(--fi-space-md);
    padding-bottom: var(--fi-space-sm);
    border-bottom: 2px solid var(--fi-primary-lighter);
    position: relative;
}

.fiBox h3::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--fi-primary);
    border-radius: var(--fi-radius-full);
}

/* ===== MODULE CHROME: fiCard ===== */
.fiCard {
    background: var(--fi-white);
    border-radius: var(--fi-radius-lg);
    padding: var(--fi-space-xl);
    margin-bottom: var(--fi-space-xl);
    box-shadow: var(--fi-shadow-md);
    transition: var(--fi-transition);
}

.fiCard:hover {
    box-shadow: var(--fi-shadow-lg);
    transform: translateY(-2px);
}

.fiCard h3 {
    font-size: var(--fi-text-xl);
    color: var(--fi-primary);
    margin: 0 0 var(--fi-space-md);
}

/* ===== MODULE CHROME: fiFooter ===== */
.fiFooter h3,
.fiFooter .module-title {
    font-size: var(--fi-text-sm);
    font-weight: 700;
    color: var(--fi-white);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 var(--fi-space-md);
    padding-bottom: var(--fi-space-sm);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.fiFooter ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fiFooter ul li {
    margin-bottom: var(--fi-space-sm);
}

.fiFooter a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: var(--fi-text-sm);
    transition: var(--fi-transition-fast);
}

.fiFooter a:hover {
    color: var(--fi-white);
    padding-left: 4px;
}

/* ===== FOOTER ===== */
.fi-footer {
    background: linear-gradient(135deg, #1a1e20 0%, #2D3436 100%);
    color: rgba(255, 255, 255, 0.8);
    padding: var(--fi-space-3xl) 0 var(--fi-space-xl);
    margin-top: var(--fi-space-3xl);
}

.fi-footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--fi-space-xl);
    margin-bottom: var(--fi-space-2xl);
}

.fi-footer-bottom-bar {
    padding: var(--fi-space-lg) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: var(--fi-space-lg);
    text-align: center;
}

.fi-footer-credits {
    text-align: center;
    padding-top: var(--fi-space-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.fi-footer-credits p {
    font-size: var(--fi-text-sm);
    margin: 0 0 var(--fi-space-xs);
    color: rgba(255, 255, 255, 0.6);
}

.fi-footer-credits a {
    color: var(--fi-primary-light);
}

.fi-powered-by a {
    color: var(--fi-highlight);
    font-weight: 600;
}

/* ===== BACK TO TOP ===== */
.fi-back-to-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 999;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--fi-primary);
    color: var(--fi-white);
    border: none;
    border-radius: var(--fi-radius-full);
    font-size: 1.25rem;
    cursor: pointer;
    box-shadow: var(--fi-shadow-primary);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: var(--fi-transition);
}

.fi-back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.fi-back-to-top:hover {
    background: var(--fi-primary-dark);
    transform: translateY(-4px);
}

/* ===== TYPOGRAPHY ELEMENTS ===== */
blockquote {
    margin: var(--fi-space-lg) 0;
    padding: var(--fi-space-lg) var(--fi-space-xl);
    border-left: 4px solid var(--fi-primary);
    background: var(--fi-primary-50);
    border-radius: 0 var(--fi-radius-md) var(--fi-radius-md) 0;
    font-style: italic;
    color: var(--fi-text-muted);
}

code, pre {
    font-family: 'Courier New', monospace;
    font-size: var(--fi-text-sm);
}

code {
    padding: 2px 6px;
    background: var(--fi-light);
    border-radius: var(--fi-radius-sm);
    color: var(--fi-accent-dark);
}

pre {
    padding: var(--fi-space-lg);
    background: var(--fi-light);
    border-radius: var(--fi-radius-md);
    overflow-x: auto;
    line-height: 1.5;
}

/* ===== TABLES ===== */
table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--fi-space-lg) 0;
    font-size: var(--fi-text-sm);
}

table th {
    background: var(--fi-primary-lighter);
    color: var(--fi-primary-dark);
    font-weight: 700;
    text-align: left;
    padding: var(--fi-space-md);
    border-bottom: 2px solid var(--fi-primary);
}

table td {
    padding: var(--fi-space-md);
    border-bottom: 1px solid var(--fi-border);
}

table tr:hover td {
    background: var(--fi-off-white);
}

/* ===== BUTTONS ===== */
.btn,
button.btn,
a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--fi-space-sm);
    padding: 0.7rem 1.5rem;
    border: none;
    border-radius: var(--fi-radius-md);
    font-family: var(--fi-font-body);
    font-size: var(--fi-text-sm);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: var(--fi-transition-fast);
    white-space: nowrap;
}

.btn-primary,
.btn.btn-primary {
    background: var(--fi-primary);
    color: var(--fi-white);
}

.btn-primary:hover {
    background: var(--fi-primary-dark);
    color: var(--fi-white);
    transform: translateY(-1px);
    box-shadow: var(--fi-shadow-primary);
    text-decoration: none;
}

.btn-secondary,
.btn.btn-secondary {
    background: var(--fi-white);
    color: var(--fi-primary);
    border: 2px solid var(--fi-primary);
}

.btn-secondary:hover {
    background: var(--fi-primary-lighter);
    color: var(--fi-primary-dark);
    text-decoration: none;
}

.btn-accent {
    background: var(--fi-accent);
    color: var(--fi-white);
}

.btn-accent:hover {
    background: var(--fi-accent-dark);
    color: var(--fi-white);
    text-decoration: none;
}

.btn-lg {
    padding: 0.9rem 2rem;
    font-size: var(--fi-text-base);
}

.btn-block {
    width: 100%;
}

/* ===== ARTICLE / CONTENT STYLING ===== */
.com-content-article__body,
.item-page,
.article-body {
    line-height: 1.75;
}

.com-content-article__title,
.item-page h2,
.article-title {
    font-size: var(--fi-text-4xl);
    margin-bottom: var(--fi-space-md);
}

.article-info,
.com-content-article__info {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fi-space-md);
    margin-bottom: var(--fi-space-lg);
    padding: var(--fi-space-md) 0;
    border-bottom: 1px solid var(--fi-border);
    font-size: var(--fi-text-sm);
    color: var(--fi-text-muted);
}

.article-info dt,
.com-content-article__info dt {
    font-weight: 600;
    color: var(--fi-text);
    margin-right: var(--fi-space-xs);
    display: inline;
}

.article-info dd,
.com-content-article__info dd {
    margin: 0 var(--fi-space-md) 0 0;
    display: inline;
}

.article-info .article-info-term {
    display: none;
}

/* Category/Tag badges */
.category-name,
.com-content-article__info .category-name a,
.tags .label {
    display: inline-block;
    padding: 3px 10px;
    background: var(--fi-primary-lighter);
    color: var(--fi-primary-dark) !important;
    border-radius: var(--fi-radius-full);
    font-size: var(--fi-text-xs);
    font-weight: 600;
    text-decoration: none;
}

.category-name:hover {
    background: var(--fi-primary-light);
    color: var(--fi-white) !important;
}

/* ===== CATEGORY BLOG / LIST ===== */
.com-content-category-blog__items,
.blog,
.blog-featured {
    display: grid;
    gap: var(--fi-space-xl);
}

.com-content-category-blog__items .items-row,
.blog .items-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--fi-space-xl);
}

.com-content-category-blog__items .item,
.blog .item {
    background: var(--fi-white);
    border-radius: var(--fi-radius-lg);
    overflow: hidden;
    box-shadow: var(--fi-shadow-sm);
    transition: var(--fi-transition);
    display: flex;
    flex-direction: column;
}

.com-content-category-blog__items .item:hover,
.blog .item:hover {
    box-shadow: var(--fi-shadow-lg);
    transform: translateY(-4px);
}

.com-content-category-blog__items .item-content,
.blog .item-content {
    padding: var(--fi-space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.com-content-category-blog__items .item-title,
.blog .item-title {
    font-size: var(--fi-text-xl);
    font-weight: 700;
    margin-bottom: var(--fi-space-sm);
}

.com-content-category-blog__items .item-title a,
.blog .item-title a {
    color: var(--fi-text);
    text-decoration: none;
}

.com-content-category-blog__items .item-title a:hover,
.blog .item-title a:hover {
    color: var(--fi-primary);
}

.com-content-category-blog__items .item-body,
.blog .item-body {
    color: var(--fi-text-muted);
    font-size: var(--fi-text-sm);
    flex: 1;
    margin-bottom: var(--fi-space-md);
}

.com-content-category-blog__items .readmore,
.blog .readmore {
    margin-top: auto;
}

.com-content-category-blog__items .readmore a,
.blog .readmore a {
    display: inline-flex;
    align-items: center;
    gap: var(--fi-space-sm);
    color: var(--fi-primary);
    font-weight: 600;
    font-size: var(--fi-text-sm);
    text-decoration: none;
    transition: var(--fi-transition-fast);
}

.com-content-category-blog__items .readmore a:hover,
.blog .readmore a:hover {
    color: var(--fi-primary-dark);
    gap: var(--fi-space-md);
}

/* Article intro image */
.com-content-category-blog__items .item-image img,
.blog .item-image img,
.com-content-article__image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: var(--fi-radius-lg);
    margin-bottom: var(--fi-space-md);
}

/* ===== PAGINATION ===== */
.pagination,
.com-content-category-blog__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--fi-space-sm);
    margin: var(--fi-space-2xl) 0 var(--fi-space-lg);
    list-style: none;
    padding: 0;
    flex-wrap: wrap;
}

.pagination ul {
    list-style: none;
    display: flex;
    gap: var(--fi-space-xs);
    margin: 0;
    padding: 0;
}

.pagination li {
    margin: 0;
}

.pagination a,
.pagination span,
.pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--fi-space-md);
    background: var(--fi-white);
    border: 1px solid var(--fi-border);
    border-radius: var(--fi-radius-md);
    font-size: var(--fi-text-sm);
    font-weight: 600;
    color: var(--fi-text);
    text-decoration: none;
    transition: var(--fi-transition-fast);
}

.pagination a:hover {
    background: var(--fi-primary-lighter);
    border-color: var(--fi-primary);
    color: var(--fi-primary-dark);
    text-decoration: none;
}

.pagination .active span,
.pagination .active a {
    background: var(--fi-primary);
    border-color: var(--fi-primary);
    color: var(--fi-white);
}

.pagination .disabled a,
.pagination .disabled span {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ===== SEARCH RESULTS ===== */
.com-search .search-results .result-title {
    font-size: var(--fi-text-lg);
    font-weight: 700;
    margin-bottom: var(--fi-space-xs);
}

.com-search .search-results .result-title a {
    color: var(--fi-primary);
}

.com-search .search-results .result-text {
    color: var(--fi-text-muted);
    font-size: var(--fi-text-sm);
    margin-bottom: var(--fi-space-sm);
}

.com-search .search-results .result-category {
    display: inline-block;
    padding: 2px 8px;
    background: var(--fi-highlight-light);
    color: var(--fi-highlight-dark);
    border-radius: var(--fi-radius-full);
    font-size: var(--fi-text-xs);
    font-weight: 600;
}

.com-search .search-results .result {
    padding: var(--fi-space-lg);
    margin-bottom: var(--fi-space-md);
    background: var(--fi-white);
    border-radius: var(--fi-radius-md);
    border: 1px solid var(--fi-border);
    transition: var(--fi-transition-fast);
}

.com-search .search-results .result:hover {
    box-shadow: var(--fi-shadow-md);
}

/* ===== TAGS ===== */
.tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fi-space-sm);
    margin: var(--fi-space-md) 0;
}

.tags .tag,
.tags a.label {
    display: inline-block;
    padding: 4px 12px;
    background: var(--fi-accent-50);
    color: var(--fi-accent-dark);
    border-radius: var(--fi-radius-full);
    font-size: var(--fi-text-xs);
    font-weight: 600;
    text-decoration: none;
    transition: var(--fi-transition-fast);
}

.tags .tag:hover,
.tags a.label:hover {
    background: var(--fi-accent);
    color: var(--fi-white);
}

/* ===== NEWSLETTER / CTA BOX ===== */
.fi-newsletter {
    background: linear-gradient(135deg, var(--fi-primary) 0%, var(--fi-primary-light) 100%);
    border-radius: var(--fi-radius-lg);
    padding: var(--fi-space-xl);
    text-align: center;
    color: var(--fi-white);
    margin: var(--fi-space-xl) 0;
}

.fi-newsletter h3 {
    color: var(--fi-white);
    font-size: var(--fi-text-2xl);
    margin-bottom: var(--fi-space-sm);
}

.fi-newsletter p {
    opacity: 0.9;
    margin-bottom: var(--fi-space-lg);
}

.fi-newsletter form {
    display: flex;
    gap: var(--fi-space-sm);
    max-width: 480px;
    margin: 0 auto;
}

.fi-newsletter input[type="email"] {
    flex: 1;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: var(--fi-radius-md);
    font-size: var(--fi-text-sm);
    outline: none;
}

/* ===== ALERTS ===== */
.alert {
    padding: var(--fi-space-md) var(--fi-space-lg);
    border-radius: var(--fi-radius-md);
    margin-bottom: var(--fi-space-md);
    font-size: var(--fi-text-sm);
    border: 1px solid transparent;
}

.alert-info {
    background: var(--fi-primary-50);
    color: var(--fi-primary-dark);
    border-color: var(--fi-primary-light);
}

.alert-success {
    background: #E8F5EE;
    color: #157048;
    border-color: var(--fi-primary);
}

.alert-warning {
    background: var(--fi-highlight-light);
    color: var(--fi-highlight-dark);
    border-color: var(--fi-highlight);
}

.alert-error,
.alert-danger {
    background: var(--fi-accent-50);
    color: var(--fi-accent-dark);
    border-color: var(--fi-accent);
}

/* ===== FORMS ===== */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="tel"],
select,
textarea {
    width: 100%;
    padding: 0.65rem 1rem;
    border: 2px solid var(--fi-border);
    border-radius: var(--fi-radius-md);
    font-family: var(--fi-font-body);
    font-size: var(--fi-text-sm);
    color: var(--fi-text);
    background: var(--fi-white);
    outline: none;
    transition: var(--fi-transition-fast);
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
    border-color: var(--fi-primary);
    box-shadow: 0 0 0 3px var(--fi-primary-lighter);
}

label {
    display: block;
    font-weight: 600;
    font-size: var(--fi-text-sm);
    margin-bottom: var(--fi-space-xs);
    color: var(--fi-text);
}

/* ===== CONTINENT TILE GRID (custom module styling) ===== */
.fi-continent-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--fi-space-lg);
    margin: var(--fi-space-xl) 0;
}

.fi-continent-tile {
    background: var(--fi-white);
    border-radius: var(--fi-radius-lg);
    padding: var(--fi-space-xl);
    text-align: center;
    text-decoration: none;
    box-shadow: var(--fi-shadow-sm);
    transition: var(--fi-transition);
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--fi-space-sm);
}

.fi-continent-tile:hover {
    box-shadow: var(--fi-shadow-lg);
    border-color: var(--fi-primary);
    transform: translateY(-4px);
    text-decoration: none;
}

.fi-continent-tile .fi-continent-icon {
    font-size: 2.5rem;
    line-height: 1;
}

.fi-continent-tile .fi-continent-name {
    font-family: var(--fi-font-heading);
    font-size: var(--fi-text-lg);
    font-weight: 700;
    color: var(--fi-text);
}

.fi-continent-tile .fi-continent-count {
    font-size: var(--fi-text-sm);
    color: var(--fi-text-muted);
}

/* ===== FLORIST CARD (directory listing card) ===== */
.fi-florist-card {
    background: var(--fi-white);
    border-radius: var(--fi-radius-lg);
    overflow: hidden;
    box-shadow: var(--fi-shadow-sm);
    transition: var(--fi-transition);
    display: flex;
    flex-direction: column;
}

.fi-florist-card:hover {
    box-shadow: var(--fi-shadow-lg);
    transform: translateY(-4px);
}

.fi-florist-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: var(--fi-light);
}

.fi-florist-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--fi-transition-slow);
}

.fi-florist-card:hover .fi-florist-card-image img {
    transform: scale(1.05);
}

.fi-florist-card-body {
    padding: var(--fi-space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.fi-florist-card-name {
    font-family: var(--fi-font-heading);
    font-size: var(--fi-text-lg);
    font-weight: 700;
    color: var(--fi-text);
    margin: 0 0 var(--fi-space-xs);
    text-decoration: none;
}

.fi-florist-card-name:hover {
    color: var(--fi-primary);
}

.fi-florist-card-location {
    font-size: var(--fi-text-sm);
    color: var(--fi-text-muted);
    margin-bottom: var(--fi-space-sm);
    display: flex;
    align-items: center;
    gap: var(--fi-space-xs);
}

.fi-florist-card-rating {
    display: flex;
    align-items: center;
    gap: var(--fi-space-xs);
    margin-bottom: var(--fi-space-sm);
}

.fi-florist-card-stars {
    color: var(--fi-highlight);
    font-size: var(--fi-text-sm);
}

.fi-florist-card-rating-text {
    font-size: var(--fi-text-xs);
    color: var(--fi-text-muted);
}

.fi-florist-card-phone {
    font-size: var(--fi-text-sm);
    color: var(--fi-primary);
    margin-bottom: var(--fi-space-md);
    display: flex;
    align-items: center;
    gap: var(--fi-space-xs);
}

.fi-florist-card-actions {
    margin-top: auto;
    display: flex;
    gap: var(--fi-space-sm);
}

/* ===== UTILITIES ===== */
.fi-text-center { text-align: center; }
.fi-text-left { text-align: left; }
.fi-text-right { text-align: right; }
.fi-mt-0 { margin-top: 0 !important; }
.fi-mb-0 { margin-bottom: 0 !important; }
.fi-hidden { display: none !important; }

/* ===== ANIMATIONS ===== */
@keyframes fiFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fi-fade-in {
    animation: fiFadeIn 0.5s ease forwards;
}

@keyframes fiPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Tablet */
@media (max-width: 1024px) {
    :root {
        --fi-container-max: 100%;
        --fi-space-3xl: 3rem;
    }

    .fi-layout-left,
    .fi-layout-right {
        grid-template-columns: 1fr;
    }

    .fi-sidebar-left,
    .fi-sidebar-right {
        order: 2;
    }

    .fi-component-area {
        order: 1;
    }

    .fi-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 768px) {
    :root {
        --fi-space-xl: 1.5rem;
        --fi-space-2xl: 2rem;
        --fi-space-3xl: 2.5rem;
    }

    h1 { font-size: var(--fi-text-3xl); }
    h2 { font-size: var(--fi-text-2xl); }

    /* Show nav toggle */
    .fi-nav-toggle {
        display: flex;
    }

    /* Mobile navigation */
    .fi-nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--fi-white);
        z-index: 9999;
        padding: var(--fi-space-2xl) var(--fi-space-lg) var(--fi-space-lg);
        overflow-y: auto;
    }

    .fi-nav.open {
        display: block;
    }

    .fi-nav ul.mod-menu,
    .fi-nav ul.menu {
        flex-direction: column;
        align-items: stretch;
    }

    .fi-nav ul.mod-menu > li > a,
    .fi-nav ul.menu > li > a {
        padding: var(--fi-space-md);
        border-bottom: 1px solid var(--fi-border-light);
        color: var(--fi-text);
        font-size: var(--fi-text-base);
    }

    .fi-nav ul.mod-menu > li > a:hover,
    .fi-nav ul.menu > li > a:hover,
    .fi-nav ul.mod-menu > li.active > a {
        background: var(--fi-primary-lighter);
        color: var(--fi-primary-dark);
    }

    .fi-nav ul.mod-menu > li > ul,
    .fi-nav ul.menu > li > ul {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        padding: 0;
        padding-left: var(--fi-space-lg);
        background: transparent;
    }

    /* Header adjustments */
    .fi-header-inner {
        gap: var(--fi-space-md);
    }

    .fi-header-search {
        display: none;
    }

    .fi-slogan {
        display: none;
    }

    /* Hero */
    .fi-hero {
        padding: var(--fi-space-2xl) 0;
    }

    /* Footer */
    .fi-footer-grid {
        grid-template-columns: 1fr;
        gap: var(--fi-space-lg);
    }

    .fi-footer-credits {
        text-align: center;
    }

    /* Back to top */
    .fi-back-to-top {
        bottom: 1rem;
        right: 1rem;
        width: 40px;
        height: 40px;
    }

    /* Blog items */
    .com-content-category-blog__items .items-row,
    .blog .items-row {
        grid-template-columns: 1fr;
    }

    /* Newsletter form */
    .fi-newsletter form {
        flex-direction: column;
    }

    .fi-topbar-inner {
        flex-direction: column;
        gap: var(--fi-space-xs);
        text-align: center;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .fi-container {
        padding: 0 var(--fi-space-md);
    }

    h1 { font-size: var(--fi-text-2xl); }
    h2 { font-size: var(--fi-text-xl); }

    .fi-logo-text {
        font-size: var(--fi-text-xl);
    }

    .fi-logo-icon {
        width: 32px;
        height: 32px;
    }

    .fi-continent-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--fi-space-md);
    }

    .fi-continent-tile {
        padding: var(--fi-space-md);
    }

    .fi-continent-tile .fi-continent-icon {
        font-size: 2rem;
    }

    .pagination a,
    .pagination span {
        min-width: 36px;
        height: 36px;
        font-size: var(--fi-text-xs);
    }
}

/* ===== PRINT STYLES ===== */
@media print {
    .fi-topbar,
    .fi-header,
    .fi-nav,
    .fi-hero,
    .fi-breadcrumbs-wrapper,
    .fi-sidebar,
    .fi-footer,
    .fi-back-to-top,
    .fi-content-top,
    .fi-content-bottom,
    .pagination,
    .readmore,
    .btn {
        display: none !important;
    }

    .fi-body {
        background: white;
        color: black;
        font-size: 12pt;
    }

    .fi-main {
        padding: 0;
    }

    .fi-layout {
        display: block;
    }

    a {
        color: black;
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        color: #666;
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }
}


/* FLORAINDEX GLM template live content bridge - 2026-06-20
   Renders existing Simple Modern module positions so the new template is not empty. */
.fi-hero{background:linear-gradient(135deg,#ffffff 0%,#fbfdfc 58%,#eef8f7 100%);padding:2.6rem 0}.fi-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:2rem;align-items:center}.fi-eyebrow{margin:0 0 .7rem;color:var(--fi-primary);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.fi-intro h1{margin:0 0 1rem;font-family:Poppins,var(--fi-font-body);font-size:clamp(2.2rem,4vw,4.2rem);line-height:.98;letter-spacing:-.06em;color:#143633}.fi-intro p:not(.fi-eyebrow){margin:0;color:#536970;font-size:1.08rem;line-height:1.7}.fi-hero-search{display:flex;gap:.6rem;padding:.65rem;border:1px solid #d7e4e1;border-radius:999px;background:#fff;box-shadow:0 18px 42px rgba(18,48,42,.08)}.fi-hero-search span{display:flex;align-items:center;padding-left:.7rem;color:var(--fi-primary);font-size:1.3rem}.fi-hero-search input{min-width:0;flex:1;border:0;outline:0;font:inherit}.fi-hero-search button{border:0;border-radius:999px;background:var(--fi-primary);color:#fff;padding:.85rem 1.3rem;font-weight:800}.fi-home-directory-blocks{padding-top:2rem}.fi-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem}.fi-section-head h2,.fi-listing-head h2,.fi-news-head h2{margin:0;font-family:Poppins,var(--fi-font-body);font-size:1.7rem;letter-spacing:-.035em;color:#143633}.fi-section-head p,.fi-listing-head p{margin:.25rem 0 0;color:#6a7d83}.fi-continent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:0 0 1.2rem}.fi-continent-grid a{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:1rem 1.1rem;border:1px solid #dfe9e6;border-radius:18px;background:#fff;color:#25464b;font-weight:850;text-decoration:none;box-shadow:0 10px 26px rgba(18,48,42,.045)}.fi-continent-grid a:hover,.fi-continent-grid a.active{border-color:#a9d9d3;color:var(--fi-primary);background:#f3fbf9}.fi-country-strip{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:1rem 0 1.8rem;padding:1rem;border:1px solid #dfe9e6;border-radius:18px;background:#fff}.fi-country-strip>span{font-weight:900;color:#143633;margin-right:.25rem}.fi-country-strip a,.fi-popular a{display:inline-flex;align-items:center;gap:.45rem;color:#43595f;text-decoration:none;font-weight:800}.fi-flag{width:24px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(18,48,42,.12)}.fi-listing-head,.fi-news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem}.fi-add,.fi-news-head a{display:inline-flex;align-items:center;border-radius:999px;background:var(--fi-primary);color:#fff!important;text-decoration:none;font-weight:850;padding:.65rem 1rem}.fi-florist-grid,.fi-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:2rem}.fi-card,.fi-news article{border:1px solid #dfe9e6;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 14px 34px rgba(18,48,42,.06)}.fi-preview{min-height:170px;background:linear-gradient(135deg,#f8fbfa,#eef8f7);padding:1rem}.fi-card-body{padding:1.1rem}.fi-card-body h3,.fi-news h3{margin:.4rem 0;font-size:1.08rem;line-height:1.25;color:#143633}.fi-card-body p,.fi-news p{color:#5e7379;line-height:1.6}.fi-rating{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.fi-rating strong{color:#d6a942}.fi-rating a{margin-left:auto;border:1px solid var(--fi-primary);border-radius:999px;padding:.45rem .7rem;color:var(--fi-primary);font-weight:850;text-decoration:none}.fi-news article{padding:1.2rem}.fi-news b{color:var(--fi-primary);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.fi-side-card,.fi-submit{border:1px solid #dfe9e6;border-radius:22px;background:#fff;padding:1.15rem;margin-bottom:1rem;box-shadow:0 12px 28px rgba(18,48,42,.045)}.fi-side-card h2,.fi-side-card h3,.fi-submit h3{margin:0 0 .8rem;color:#143633}.fi-side-card ul{margin:.5rem 0 1rem;padding-left:1.1rem;color:#536970}.fi-side-card>a,.fi-popular a{display:flex;padding:.55rem 0;border-top:1px solid #edf3f1}.fi-submit{background:linear-gradient(135deg,#0d817d,#12aaa1);color:#fff}.fi-submit small{text-transform:uppercase;letter-spacing:.12em;font-weight:850;opacity:.8}.fi-submit h3,.fi-submit p{color:#fff}.fi-submit a{display:inline-flex;margin-top:.6rem;border-radius:999px;background:#fff;color:#0d817d;text-decoration:none;font-weight:900;padding:.65rem .9rem}.fi-nav .mod-menu{display:flex;justify-content:center;gap:.5rem;list-style:none;margin:0;padding:0}.fi-nav .mod-menu a{display:block;color:#fff;text-decoration:none;font-weight:800;padding:.8rem 1rem;border-radius:999px}.fi-nav .mod-menu a:hover,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.14)}@media(max-width:900px){.fi-intro{grid-template-columns:1fr}.fi-continent-grid,.fi-florist-grid,.fi-news-grid{grid-template-columns:1fr}.fi-listing-head,.fi-news-head,.fi-section-head{display:block}.fi-nav .mod-menu{display:block}.fi-nav .mod-menu a{border-radius:10px}}

/* FLORAINDEX GLM main-menu-only fallback - 2026-06-20 */
.fi-nav .fi-main-links{display:flex;justify-content:center;gap:.7rem;list-style:none;margin:0;padding:0}.fi-nav .fi-main-links a{display:block;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.03em;padding:.85rem 1.15rem;border-radius:999px}.fi-nav .fi-main-links a:hover{background:rgba(255,255,255,.14)}.fi-nav .fi-main-links .mod-menu__sub,.fi-nav .fi-main-links .mod-menu__toggle-sub{display:none!important}

/* FLORAINDEX GLM visual polish v2 - 2026-06-20
   Smooths the installed GLM template around the existing live content modules. */
:root{--fi-primary:#087f7b;--fi-primary-dark:#0c5f5c;--fi-primary-light:#12aaa1;--fi-accent:#b40693;--fi-highlight:#d6a942;--fi-off-white:#f5faf8;--fi-text:#18353b;--fi-text-muted:#62777d;--fi-border:#dce8e5;--fi-container-max:1440px}html,body{background:#f0f6f4;color:var(--fi-text)}.fi-body{background:linear-gradient(180deg,#f7fbfa 0%,#eef5f3 100%)}.fi-container{max-width:1440px}.fi-header{background:#fff;border-bottom:1px solid #dbe8e4;box-shadow:0 8px 28px rgba(18,48,42,.055)}.fi-sticky-header .fi-header{position:sticky;top:0;z-index:1000}.fi-header-inner{min-height:86px;padding-top:14px;padding-bottom:14px;gap:24px}.fi-logo{min-width:235px}.fi-logo-link{gap:12px;text-decoration:none}.fi-logo-icon{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,#e8f8f4,#fff);box-shadow:0 0 0 1px #cfe4df,0 12px 28px rgba(8,127,123,.11);color:var(--fi-primary)}.fi-logo-text{font-size:30px;line-height:.95;letter-spacing:-.06em;font-weight:900;color:#139692}.fi-slogan{margin-top:4px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#b40693}.fi-header-search{max-width:390px}.fi-header-search .mod-search-input-group{display:flex;align-items:center;border:1px solid #d7e4e1;border-radius:999px;background:#f9fcfb;overflow:hidden}.fi-header-search input[type="search"],.fi-header-search input[type="text"]{border:0!important;background:transparent!important;min-height:46px;padding:.7rem 1rem}.fi-header-search button,.fi-header-search .btn-primary{border:0!important;border-radius:999px!important;margin-right:5px;min-width:42px;height:38px;padding:0 12px!important}.fi-nav{background:linear-gradient(135deg,#0e504c,#087f7b);border:0;box-shadow:0 14px 34px rgba(8,96,92,.18)}.fi-nav .fi-container{min-height:60px;display:flex;align-items:center;justify-content:center}.fi-nav .fi-main-links{gap:10px}.fi-nav .fi-main-links a{padding:.78rem 1.3rem;border-radius:999px;color:#effffd;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.fi-nav .fi-main-links a:hover{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.fi-hero{padding:3.4rem 0 2.8rem;background:radial-gradient(circle at 82% 18%,rgba(214,169,66,.14),transparent 28%),linear-gradient(135deg,#ffffff 0%,#fbfdfc 55%,#eaf7f4 100%);border-bottom:1px solid #dce8e5}.fi-intro{grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:2.4rem}.fi-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#102f2d;color:#fff!important;font-size:11px;letter-spacing:.13em}.fi-eyebrow:before{content:"";width:7px;height:7px;border-radius:999px;background:#19d0c3}.fi-intro h1{max-width:850px;font-size:clamp(2.6rem,4.6vw,4.9rem);line-height:.96;color:#12383d}.fi-intro p:not(.fi-eyebrow){max-width:760px;color:#536970}.fi-hero-search{border-radius:26px;padding:12px;background:#fff;box-shadow:0 22px 60px rgba(18,48,42,.12);border:1px solid #dce8e5}.fi-hero-search span{font-size:24px}.fi-hero-search input{font-size:16px}.fi-hero-search button{padding:1rem 1.35rem;background:linear-gradient(135deg,#087f7b,#13aaa1)}.fi-main{padding-top:32px}.fi-home-directory-blocks{padding-top:0}.fi-home-directory-blocks>.fi-container,.fi-main>.fi-container{background:transparent}.fi-layout{grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}.fi-component-area{min-width:0}.fi-section-head,.fi-listing-head,.fi-news-head{margin-bottom:18px}.fi-section-head h2,.fi-listing-head h2,.fi-news-head h2{font-size:2rem;color:#13383d}.fi-continent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.fi-continent-grid a{min-height:76px;border-radius:24px;padding:1.15rem 1.25rem;font-size:16px;background:linear-gradient(180deg,#fff,#fbfdfc);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.fi-continent-grid a:hover,.fi-continent-grid a.active{transform:translateY(-2px);box-shadow:0 18px 42px rgba(18,48,42,.09);border-color:#acdcd6}.fi-country-strip{border-radius:24px;padding:18px 20px;box-shadow:0 12px 30px rgba(18,48,42,.045);margin-bottom:30px}.fi-country-strip>span{width:100%;font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:#0b7773}.fi-country-strip a{padding:8px 10px;border-radius:999px;background:#f7fbfa;border:1px solid #e5efec}.fi-florist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.fi-card{border-radius:28px;transition:transform .18s ease,box-shadow .18s ease}.fi-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(18,48,42,.11)}.fi-preview{min-height:190px}.fi-card-body{padding:20px}.fi-card-body h3{font-size:1.18rem}.fi-news{margin-top:12px}.fi-news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fi-news article{border-radius:24px;padding:22px}.fi-sidebar-right{position:sticky;top:166px}.fi-sidebar .fi-side-card,.fi-sidebar .fi-submit{border-radius:24px;margin-bottom:18px}.fi-sidebar .fi-side-card:first-child{display:none}.fi-popular{display:grid;gap:4px}.fi-popular a{border-radius:12px;padding:9px 10px;border-top:0;background:#f8fbfa}.fi-submit{box-shadow:0 18px 42px rgba(8,127,123,.20)}.fi-footer{margin-top:40px;background:#102f2d!important}.fi-footer-credits{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;color:rgba(255,255,255,.72)}@media(max-width:1100px){.fi-header-inner{display:grid;grid-template-columns:1fr auto}.fi-header-search{grid-column:1/-1;max-width:none;width:100%}.fi-layout{grid-template-columns:1fr}.fi-sidebar-right{position:static}.fi-news-grid{grid-template-columns:1fr}.fi-continent-grid,.fi-florist-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.fi-header-inner{display:block}.fi-logo{margin-bottom:12px}.fi-intro{display:block}.fi-hero-search{margin-top:20px;display:grid;grid-template-columns:auto 1fr;gap:8px}.fi-hero-search button{grid-column:1/-1}.fi-continent-grid,.fi-florist-grid{grid-template-columns:1fr}.fi-country-strip>span{width:auto}.fi-nav .fi-main-links{display:grid;width:100%;gap:4px}.fi-nav .fi-main-links a{text-align:center}}

/* FLORAINDEX GLM hero height reduction - 2026-06-20
   Father's request: make the "Find florists by continent..." section less tall. */
.fi-hero{padding:1.45rem 0 1.25rem!important}.fi-intro{grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;gap:1.35rem!important;align-items:center!important}.fi-eyebrow{margin-bottom:.45rem!important;padding:5px 9px!important;font-size:10px!important}.fi-intro h1{font-size:clamp(2rem,3.25vw,3.35rem)!important;line-height:1!important;margin:0 0 .55rem!important;max-width:760px!important}.fi-intro p:not(.fi-eyebrow){font-size:1rem!important;line-height:1.5!important;max-width:690px!important}.fi-hero-search{padding:8px!important;border-radius:22px!important;box-shadow:0 12px 34px rgba(18,48,42,.09)!important}.fi-hero-search input{font-size:15px!important}.fi-hero-search button{padding:.78rem 1.05rem!important}.fi-main{padding-top:22px!important}@media(max-width:760px){.fi-hero{padding:1.25rem 0!important}.fi-hero-search{margin-top:14px!important}.fi-intro h1{font-size:2rem!important}}

/* FLORAINDEX GLM move intro/search to top-right header - 2026-06-20
   Father's request: put "Find florists..." section at the same level as the logo. */
.fi-header-inner{display:grid!important;grid-template-columns:minmax(230px,280px) minmax(0,1fr) auto!important;align-items:center!important;gap:22px!important;min-height:104px!important}.fi-header-intro-compact{min-width:0;justify-self:stretch}.fi-header-intro-compact .mod-custom,.fi-header-intro-compact .fi-intro{width:100%}.fi-header-intro-compact .fi-intro{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,390px)!important;gap:16px!important;align-items:center!important}.fi-header-intro-compact .fi-eyebrow{display:none!important}.fi-header-intro-compact h1{margin:0 0 5px!important;font-size:clamp(1.15rem,1.7vw,1.75rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;color:#12383d!important;max-width:560px!important}.fi-header-intro-compact p:not(.fi-eyebrow){margin:0!important;font-size:.86rem!important;line-height:1.35!important;color:#63777d!important;max-width:620px!important}.fi-header-intro-compact .fi-hero-search{margin:0!important;padding:6px!important;border-radius:999px!important;box-shadow:0 10px 26px rgba(18,48,42,.08)!important;border:1px solid #d7e4e1!important;background:#fff!important}.fi-header-intro-compact .fi-hero-search span{font-size:18px!important;padding-left:8px!important}.fi-header-intro-compact .fi-hero-search input{font-size:14px!important}.fi-header-intro-compact .fi-hero-search button{padding:.62rem .9rem!important;font-size:13px!important}.fi-nav-toggle{justify-self:end}.fi-main{padding-top:24px!important}.fi-hero:empty{display:none!important}@media(max-width:1150px){.fi-header-inner{grid-template-columns:1fr auto!important}.fi-header-intro-compact{grid-column:1/-1;order:3}.fi-header-intro-compact .fi-intro{grid-template-columns:1fr!important}.fi-header-intro-compact .fi-hero-search{margin-top:10px!important}.fi-nav-toggle{grid-column:2;grid-row:1}}@media(max-width:720px){.fi-header-inner{display:block!important;min-height:auto!important}.fi-header-intro-compact{margin-top:10px}.fi-header-intro-compact h1{font-size:1.3rem!important}.fi-header-intro-compact .fi-hero-search{display:grid!important;grid-template-columns:auto 1fr!important;border-radius:22px!important}.fi-header-intro-compact .fi-hero-search button{grid-column:1/-1!important}.fi-nav-toggle{position:absolute;right:16px;top:22px}}

/* FLORAINDEX website screenshot thumbnail cards - 2026-06-20 */
.fi-all-florist-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))!important}.fi-website-thumb-card .fi-preview{display:block;min-height:0!important;height:auto!important;padding:0!important;background:#f7fbfa!important;overflow:hidden}.fi-listing-thumb{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;background:#fff;transition:transform .22s ease}.fi-website-thumb-card:hover .fi-listing-thumb{transform:scale(1.025)}.fi-website-thumb-card .fi-card-body p:first-child{display:flex;justify-content:space-between;gap:10px;margin:0 0 8px}.fi-website-thumb-card .fi-card-body p:first-child span{color:#087f7b;font-weight:900}.fi-website-thumb-card .fi-card-body p:first-child em{font-style:normal;color:#7a8d92;font-size:12px}@media(max-width:1100px){.fi-all-florist-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:720px){.fi-all-florist-thumbnails{grid-template-columns:1fr!important}}


/* FLORAINDEX directory sections right-column trial - 2026-06-20 */
.fi-sidebar-directory-trial{display:grid;gap:16px;margin-bottom:18px}.fi-sidebar-directory-trial .fi-section-head{display:block;margin:0}.fi-sidebar-directory-trial .fi-section-head h2{font-size:1.25rem!important;line-height:1.1;margin:0 0 6px!important}.fi-sidebar-directory-trial .fi-section-head p{font-size:.86rem;line-height:1.4}.fi-sidebar-directory-trial .fi-continent-grid{grid-template-columns:1fr!important;gap:8px!important;margin:0!important}.fi-sidebar-directory-trial .fi-continent-grid a{min-height:44px!important;border-radius:14px!important;padding:.72rem .85rem!important;font-size:.93rem!important;box-shadow:0 8px 18px rgba(18,48,42,.045)!important}.fi-sidebar-directory-trial .fi-country-strip{display:grid!important;gap:7px!important;margin:0 0 4px!important;padding:14px!important;border-radius:18px!important}.fi-sidebar-directory-trial .fi-country-strip>span{width:auto!important;margin:0 0 2px!important;font-size:.78rem}.fi-sidebar-directory-trial .fi-country-strip a{display:flex!important;border-radius:12px!important;padding:7px 8px!important;background:#f8fbfa!important}.fi-home-directory-blocks{display:none!important}@media(max-width:1100px){.fi-sidebar-directory-trial .fi-continent-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:720px){.fi-sidebar-directory-trial .fi-continent-grid{grid-template-columns:1fr!important}}

/* FLORAINDEX top menu hover effect change - 2026-06-20
   Remove oval/pill hover; use clean modern underline + subtle square glow. */
.fi-nav .fi-main-links a,
.fi-nav .mod-menu a{position:relative!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;transition:color .18s ease,background-color .18s ease!important}.fi-nav .fi-main-links a::after,
.fi-nav .mod-menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;border-radius:2px;background:#ffffff;opacity:0;transform:scaleX(.35);transform-origin:center;transition:opacity .18s ease,transform .18s ease}.fi-nav .fi-main-links a:hover,
.fi-nav .fi-main-links a:focus,
.fi-nav .mod-menu a:hover,
.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.07)!important;color:#ffffff!important;box-shadow:none!important}.fi-nav .fi-main-links a:hover::after,
.fi-nav .fi-main-links a:focus::after,
.fi-nav .mod-menu a:hover::after,
.fi-nav .mod-menu a:focus::after{opacity:.9;transform:scaleX(1)}.fi-nav .fi-main-links .active>a,
.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.09)!important;border-radius:8px!important}.fi-nav .fi-main-links .active>a::after,
.fi-nav .mod-menu .active>a::after{opacity:.9;transform:scaleX(1)}

/* FLORAINDEX top menu light green color - 2026-06-20
   Father's request: change top menu from dark green to light green. */
.fi-nav{background:linear-gradient(135deg,#7bdc9a 0%,#42c985 52%,#22b978 100%)!important;box-shadow:0 12px 30px rgba(34,185,120,.22)!important;border-top:1px solid rgba(255,255,255,.35)!important;border-bottom:1px solid rgba(16,126,84,.18)!important}.fi-nav .fi-main-links a,.fi-nav .mod-menu a{color:#073f32!important;text-shadow:none!important}.fi-nav .fi-main-links a:hover,.fi-nav .fi-main-links a:focus,.fi-nav .mod-menu a:hover,.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.24)!important;color:#05382d!important}.fi-nav .fi-main-links a::after,.fi-nav .mod-menu a::after{background:#073f32!important}.fi-nav .fi-main-links .active>a,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.28)!important;color:#05382d!important}

/* FLORAINDEX top menu modern green gradient - 2026-06-20
   More premium emerald/teal gradient, replacing the too-light green trial. */
.fi-nav{background:linear-gradient(120deg,#14b86f 0%,#0fa37f 46%,#0b8f8a 100%)!important;box-shadow:0 14px 34px rgba(15,163,127,.24),inset 0 1px 0 rgba(255,255,255,.25)!important;border-top:1px solid rgba(255,255,255,.22)!important;border-bottom:1px solid rgba(5,91,84,.28)!important}.fi-nav .fi-main-links a,.fi-nav .mod-menu a{color:#f3fffb!important;text-shadow:0 1px 0 rgba(0,0,0,.10)!important}.fi-nav .fi-main-links a:hover,.fi-nav .fi-main-links a:focus,.fi-nav .mod-menu a:hover,.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.16)!important;color:#ffffff!important}.fi-nav .fi-main-links a::after,.fi-nav .mod-menu a::after{background:#d7fff3!important}.fi-nav .fi-main-links .active>a,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.18)!important;color:#ffffff!important}

/* FLORAINDEX top menu balanced solid green - 2026-06-20
   Father's request: remove gradient; use a medium green, not too dark or too light. */
.fi-nav{background:#1fa66a!important;box-shadow:0 12px 30px rgba(31,166,106,.20)!important;border-top:1px solid rgba(255,255,255,.22)!important;border-bottom:1px solid rgba(12,111,70,.24)!important}.fi-nav .fi-container{min-height:58px!important}.fi-nav .fi-main-links a,.fi-nav .mod-menu a{color:#ffffff!important;text-shadow:none!important}.fi-nav .fi-main-links a:hover,.fi-nav .fi-main-links a:focus,.fi-nav .mod-menu a:hover,.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.14)!important;color:#ffffff!important}.fi-nav .fi-main-links a::after,.fi-nav .mod-menu a::after{background:#ffffff!important}.fi-nav .fi-main-links .active>a,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.16)!important;color:#ffffff!important}

/* FLORAINDEX top menu balanced darker solid green - 2026-06-20
   Slightly darker than #1fa66a, without returning to dark green. */
.fi-nav{background:#168a57!important;box-shadow:0 12px 30px rgba(22,138,87,.22)!important;border-top:1px solid rgba(255,255,255,.18)!important;border-bottom:1px solid rgba(9,88,55,.28)!important}.fi-nav .fi-main-links a,.fi-nav .mod-menu a{color:#ffffff!important}.fi-nav .fi-main-links a:hover,.fi-nav .fi-main-links a:focus,.fi-nav .mod-menu a:hover,.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.13)!important;color:#ffffff!important}.fi-nav .fi-main-links a::after,.fi-nav .mod-menu a::after{background:#ffffff!important}.fi-nav .fi-main-links .active>a,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.15)!important;color:#ffffff!important}

/* FLORAINDEX top menu depth polish - 2026-06-20
   Add subtle depth/shadow while keeping solid darker green and no oval hover. */
.fi-nav{background:#168a57!important;position:relative!important;box-shadow:0 16px 34px rgba(12,79,51,.24),0 4px 10px rgba(12,79,51,.12),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.10)!important;border-top:1px solid rgba(255,255,255,.22)!important;border-bottom:1px solid rgba(6,71,44,.34)!important}.fi-nav::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.32);pointer-events:none}.fi-nav::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(180deg,rgba(13,94,59,.16),rgba(13,94,59,0));pointer-events:none}.fi-nav .fi-container{min-height:60px!important}.fi-nav .fi-main-links{gap:12px!important}.fi-nav .fi-main-links a,.fi-nav .mod-menu a{color:#fff!important;border-radius:9px!important;padding:.82rem 1.35rem!important;letter-spacing:.075em!important;text-shadow:0 1px 1px rgba(0,0,0,.18)!important;transform:translateY(0);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease!important}.fi-nav .fi-main-links a:hover,.fi-nav .fi-main-links a:focus,.fi-nav .mod-menu a:hover,.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:0 8px 18px rgba(7,67,43,.18),inset 0 1px 0 rgba(255,255,255,.18)!important;transform:translateY(-1px)}.fi-nav .fi-main-links a::after,.fi-nav .mod-menu a::after{bottom:6px!important;height:2px!important;background:#eafff5!important;box-shadow:0 0 8px rgba(234,255,245,.45)!important}.fi-nav .fi-main-links .active>a,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 14px rgba(7,67,43,.12)!important;color:#fff!important}

/* FLORAINDEX top menu user-provided teal color - 2026-06-20
   Uses sampled color from Father's reference: #109891. */
.fi-nav{background:#109891!important;box-shadow:0 16px 34px rgba(16,112,107,.24),0 4px 10px rgba(16,112,107,.13),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.10)!important;border-top:1px solid rgba(255,255,255,.22)!important;border-bottom:1px solid rgba(7,92,87,.34)!important}.fi-nav::before{background:rgba(255,255,255,.32)!important}.fi-nav::after{background:linear-gradient(180deg,rgba(16,112,107,.16),rgba(16,112,107,0))!important}.fi-nav .fi-main-links a,.fi-nav .mod-menu a{color:#ffffff!important;text-shadow:0 1px 1px rgba(0,0,0,.16)!important}.fi-nav .fi-main-links a:hover,.fi-nav .fi-main-links a:focus,.fi-nav .mod-menu a:hover,.fi-nav .mod-menu a:focus{background:rgba(255,255,255,.15)!important;color:#ffffff!important;box-shadow:0 8px 18px rgba(7,92,87,.18),inset 0 1px 0 rgba(255,255,255,.18)!important}.fi-nav .fi-main-links a::after,.fi-nav .mod-menu a::after{background:#eafffb!important;box-shadow:0 0 8px rgba(234,255,251,.45)!important}.fi-nav .fi-main-links .active>a,.fi-nav .mod-menu .active>a{background:rgba(255,255,255,.15)!important;color:#ffffff!important}

/* FLORAINDEX action buttons user teal color - 2026-06-20
   Match View Profile, View all articles, Add your florist buttons to #109891. */
.fi-add,
.fi-news-head a,
.fi-rating a,
.fi-submit a,
.btn-primary,
a.btn-primary,
.readmore .btn,
.readmore a{background:#109891!important;border-color:#109891!important;color:#ffffff!important;box-shadow:0 10px 22px rgba(16,152,145,.20)!important;text-decoration:none!important}.fi-add:hover,
.fi-news-head a:hover,
.fi-rating a:hover,
.fi-submit a:hover,
.btn-primary:hover,
a.btn-primary:hover,
.readmore .btn:hover,
.readmore a:hover{background:#0c817b!important;border-color:#0c817b!important;color:#ffffff!important;box-shadow:0 14px 28px rgba(16,152,145,.28)!important}.fi-rating a{border:1px solid #109891!important}.fi-submit a{background:#ffffff!important;color:#109891!important;border-color:#ffffff!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important}.fi-submit a:hover{background:#effffb!important;color:#0c817b!important;border-color:#effffb!important}.fi-card-body p:first-child span,.fi-website-thumb-card .fi-card-body p:first-child span{color:#109891!important}

/* FLORAINDEX logo inside top menu trial - 2026-06-20 */
.fi-nav .fi-nav-container-with-logo{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;justify-content:initial!important;gap:28px!important;min-height:68px!important}.fi-nav-logo{display:inline-flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;color:#fff!important;min-width:190px!important;padding:7px 10px!important;border-radius:12px!important;background:rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 7px 18px rgba(7,92,87,.12)!important}.fi-nav-logo:hover{background:rgba(255,255,255,.16)!important;color:#fff!important}.fi-nav-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:#fff;color:#109891;font-size:20px;line-height:1;box-shadow:0 6px 14px rgba(7,92,87,.18)}.fi-nav-logo-text{font-weight:950;font-size:1.28rem;letter-spacing:-.045em;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.16)}.fi-nav-logo-img{display:block;max-height:38px;width:auto}.fi-nav .fi-main-links{justify-content:center!important}.fi-header .fi-logo{opacity:.0;pointer-events:none}.fi-header-inner{min-height:82px!important}@media(max-width:1050px){.fi-nav .fi-nav-container-with-logo{grid-template-columns:1fr!important;gap:10px!important;padding-top:10px!important;padding-bottom:10px!important}.fi-nav-logo{justify-self:center!important;min-width:auto!important}.fi-nav .fi-main-links{width:100%;justify-content:center!important;flex-wrap:wrap!important}.fi-header .fi-logo{opacity:1;pointer-events:auto}.fi-header-inner{min-height:104px!important}}@media(max-width:720px){.fi-nav-logo-text{font-size:1.15rem}.fi-nav .fi-main-links{display:grid!important}.fi-nav-logo{margin:auto}}


/* FLORAINDEX top nav logo sharpening + search placement - 2026-06-20
   Remove old intro text, keep logo/search/menu in the top menu. */
.fi-header>.fi-container.fi-header-inner{display:none!important}.fi-nav .fi-nav-container-with-logo{grid-template-columns:auto minmax(360px,1fr) minmax(260px,360px)!important;gap:22px!important}.fi-nav-logo-text{font-family:Inter,Arial,sans-serif!important;font-weight:900!important;letter-spacing:-.035em!important;text-shadow:none!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:geometricPrecision!important}.fi-nav-logo{background:rgba(255,255,255,.09)!important;backdrop-filter:none!important}.fi-nav-search{display:flex;align-items:center;justify-self:end;width:100%;max-width:360px;height:42px;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 18px rgba(7,92,87,.16);overflow:hidden;border:1px solid rgba(255,255,255,.42)}.fi-nav-search-icon{padding-left:12px;padding-right:6px;color:#109891;font-size:18px;font-weight:900}.fi-nav-search input{min-width:0;flex:1;height:100%;border:0!important;outline:0!important;background:transparent!important;color:#12383d;font:600 14px/1 Inter,Arial,sans-serif;padding:0 8px}.fi-nav-search input::placeholder{color:#71919a}.fi-nav-search button{height:34px;margin-right:4px;border:0;border-radius:9px;background:#109891;color:#fff;font-weight:900;font-size:12px;letter-spacing:.02em;padding:0 12px;cursor:pointer}.fi-nav-search button:hover{background:#0c817b}@media(max-width:1150px){.fi-nav .fi-nav-container-with-logo{grid-template-columns:1fr!important}.fi-nav-search{justify-self:center;max-width:520px}.fi-header>.fi-container.fi-header-inner{display:none!important}}@media(max-width:720px){.fi-nav-search{max-width:100%;height:44px}.fi-nav-search button{height:36px}}


/* FLORAINDEX native continent/country/city directory page polish - 2026-06-20 */
.fi-directory-page{display:grid;gap:28px}.fi-directory-hero{position:relative;overflow:hidden;border:1px solid #dce8e5;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f7fbfa 62%,#e9f7f4 100%);padding:30px;box-shadow:0 16px 38px rgba(18,48,42,.07)}.fi-directory-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:999px;background:rgba(16,152,145,.10)}.fi-directory-eyebrow{display:inline-flex;margin:0 0 10px;padding:6px 10px;border-radius:999px;background:#109891;color:#fff;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.fi-directory-hero h1{margin:0 0 10px;font-family:Poppins,Inter,sans-serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.055em;color:#12383d}.fi-directory-hero p:last-child{max-width:850px;margin:0;color:#5d7379;font-size:1.05rem;line-height:1.65}.fi-directory-section{border:1px solid #dce8e5;border-radius:26px;background:#fff;padding:22px;box-shadow:0 12px 30px rgba(18,48,42,.055)}.fi-directory-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.fi-directory-section-head h2{margin:0;font-family:Poppins,Inter,sans-serif;color:#12383d;font-size:1.55rem;letter-spacing:-.035em}.fi-directory-section-head span{display:inline-flex;border-radius:999px;background:#eef8f6;color:#109891;font-weight:900;font-size:12px;padding:6px 10px}.fi-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fi-directory-grid a{display:flex;align-items:center;justify-content:space-between;min-height:48px;border:1px solid #e0ece9;border-radius:15px;background:#f9fcfb;padding:10px 12px;color:#24464b;text-decoration:none;font-weight:850;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.fi-directory-grid a:hover{transform:translateY(-2px);border-color:#109891;box-shadow:0 12px 24px rgba(16,152,145,.11);color:#0c817b}.fi-directory-grid i{font-style:normal;color:#109891;font-size:20px}.fi-directory-listings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fi-directory-listing-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;border:1px solid #e0ece9;border-radius:20px;background:#fbfdfc;padding:12px}.fi-directory-listing-image{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:16px;background:#eef8f6;min-height:112px;text-decoration:none}.fi-directory-listing-image img{width:100%;height:112px;object-fit:cover;display:block}.fi-directory-listing-image span{font-size:2rem;font-weight:900;color:#109891}.fi-directory-listing-card h3{margin:4px 0 8px;font-size:1.08rem;line-height:1.25}.fi-directory-listing-card h3 a{color:#12383d;text-decoration:none}.fi-directory-listing-card h3 a:hover{color:#109891}.fi-directory-listing-card p{margin:0 0 10px;color:#63777d;line-height:1.5;font-size:.92rem}.fi-directory-profile-link,.fi-directory-empty a{display:inline-flex;border-radius:999px;background:#109891;color:#fff!important;text-decoration:none;font-weight:900;font-size:.85rem;padding:.55rem .8rem;box-shadow:0 8px 18px rgba(16,152,145,.18)}.fi-directory-profile-link:hover,.fi-directory-empty a:hover{background:#0c817b}.fi-directory-empty{border:1px dashed #c9ded9;border-radius:20px;background:#f7fbfa;padding:24px;text-align:center}.fi-directory-empty h3{margin:0 0 8px;color:#12383d}.fi-directory-empty p{margin:0 auto 16px;max-width:560px;color:#63777d}@media(max-width:1100px){.fi-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fi-directory-listings{grid-template-columns:1fr}}@media(max-width:720px){.fi-directory-hero,.fi-directory-section{padding:18px;border-radius:22px}.fi-directory-grid{grid-template-columns:1fr}.fi-directory-listing-card{grid-template-columns:1fr}.fi-directory-listing-image img{height:170px}}
