/* Button hover lift effect */
.wp-block-button__link,
.button,
.btn,
input[type="submit"] {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-button__link:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* Hide post meta (author names, dates) */
.entry-meta,
.ast-single-post-meta,
.post-meta,
.entry-header .entry-meta {
    display: none !important;
}

/* Remove Astra animations */
[class*="ast-animate"] {
    animation: none !important;
}

/* Responsive images */
.wp-block-image img,
.entry-content img {
    max-width: 100%;
    height: auto;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Desktop-only container width restrictions (769px and above) */
@media (min-width: 769px) {
    /* General container width for ALL pages including single posts */
    .ast-container,
    .single .ast-container,
    .single-post .ast-container {
        max-width: 1400px;
        margin: 0 auto;
    }

    /* Home page specific targeting */
    .home .site,
    .home .ast-container,
    .home .site-content,
    .home .ast-row,
    .home .ast-grid-common-col,
    .home #primary,
    .home .entry-content,
    .home .ast-separate-container .site-content > .ast-container,
    .home .ast-page-builder-template,
    .home .ast-plain-container,
    .home .ast-separate-container .ast-article-single,
    .home body > .site > .ast-container,
    .blog .ast-container,
    .archive .ast-container {
        max-width: 1400px !important;
        margin: 0 auto !important;
    }

    /* Single post specific targeting */
    .single .site,
    .single .ast-container,
    .single .site-content,
    .single .ast-row,
    .single #primary,
    .single .entry-content,
    .single .ast-separate-container .site-content > .ast-container,
    .single .ast-separate-container .ast-article-single,
    .single-post .ast-container,
    .single-post .site-content,
    .single-post #primary {
        max-width: 1400px !important;
        margin: 0 auto !important;
    }

    /* For block editor/Gutenberg content */
    .home .wp-block-group,
    .home .wp-block-columns,
    .home .wp-site-blocks,
    .home .wp-block-post-content,
    .single .wp-block-group,
    .single .wp-block-columns,
    .single .wp-site-blocks,
    .single .wp-block-post-content {
        max-width: 1400px !important;
        margin: 0 auto !important;
    }

    /* If using full-width template */
    .home .ast-full-width-primary #primary,
    .home .ast-full-width-primary .site-content,
    .single .ast-full-width-primary #primary,
    .single .ast-full-width-primary .site-content {
        max-width: 1400px !important;
        margin: 0 auto !important;
    }

    /* HERO/FIRST SECTION ALIGNMENT - Desktop only */
    .home .entry-content > *:first-child,
    .home .wp-block-cover:first-child,
    .home .wp-block-group:first-child,
    .home .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container,
    .home .entry-content > .wp-block-group:first-child > .wp-block-group__inner-container {
        max-width: 1600px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }

    /* Nested content within first section */
    .home .entry-content > *:first-child .wp-block-columns,
    .home .entry-content > *:first-child .wp-block-column,
    .home .entry-content > *:first-child .wp-block-heading,
    .home .entry-content > *:first-child .wp-block-paragraph,
    .home .entry-content > *:first-child .wp-block-buttons {
        max-width: 100% !important;
    }

    /* Subsequent sections */
    .home .entry-content > *:not(:first-child) {
        max-width: 1400px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    /* Reset containers */
    .home .ast-container,
    .home .site-content,
    .home #primary,
    .home .entry-content,
    .single .ast-container,
    .single .site-content,
    .single #primary,
    .single .entry-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 10px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Override Astra responsive styles */
    .ast-separate-container .ast-container,
    .ast-plain-container .ast-container,
    .ast-page-builder-template .ast-container,
    .ast-separate-container .site-content > .ast-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 10px !important;
        margin: 0 !important;
    }

    /* Mobile hero/first section */
    .home .entry-content > .wp-block-cover:first-child,
    .home .entry-content > .wp-block-group:first-child,
    .home .wp-block-cover:first-child,
    .home .wp-block-group:first-child {
        min-height: 100vh !important;
        height: 100vh !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        object-fit: cover !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Inner content containers */
    .home .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container,
    .home .entry-content > .wp-block-group:first-child .wp-block-group__inner-container,
    .home .wp-block-cover:first-child .wp-block-cover__inner-container,
    .home .wp-block-group:first-child .wp-block-group__inner-container {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        padding: 20px !important;
        max-width: none !important;
    }

    /* All blocks fill available width */
    .home .wp-block-group,
    .home .wp-block-group__inner-container,
    .home .wp-block-cover,
    .home .wp-block-cover__inner-container,
    .home .wp-block-columns,
    .home .wp-block-column,
    .home .wp-block-media-text,
    .home .entry-content > * {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Fix blank space between blocks */
    .home .wp-block-spacer {
        height: 20px !important;
        max-height: 20px !important;
    }

    /* Remove excessive margins */
    .home .entry-content > * + * {
        margin-top: 0 !important;
    }

    /* Stack columns vertically */
    .home .wp-block-columns {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .home .wp-block-column {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    /* Images */
    .home img,
    .home .wp-block-image img,
    .home .entry-content img {
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }

    .home .wp-block-image.size-full img,
    .home .wp-block-cover img {
        width: 100% !important;
    }

    /* Typography */
    .home h1,
    .home .wp-block-heading.has-text-align-center {
        font-size: 32px !important;
        line-height: 1.2 !important;
        margin-bottom: 20px !important;
    }

    .home h2 {
        font-size: 26px !important;
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
    }

    .home h3 {
        font-size: 22px !important;
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
    }

    .home p,
    .home .wp-block-paragraph {
        font-size: 16px !important;
        line-height: 1.6 !important;
        margin-bottom: 15px !important;
    }

    .home .wp-block-heading,
    .home .wp-block-paragraph,
    .home .wp-block-buttons {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    /* Buttons */
    .home .wp-block-button {
        width: 100% !important;
        margin: 15px 0 !important;
    }

    .home .wp-block-button__link {
        width: 100% !important;
        display: block !important;
        text-align: center !important;
        padding: 12px 20px !important;
        font-size: 16px !important;
    }

    /* Footer and edge cases */
    .home .wp-block-cover:last-child,
    .home .entry-content > *:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .site-footer {
        margin-top: 0 !important;
        background: transparent !important;
    }

    .home .wp-block-cover.has-black-background-color,
    .home .wp-block-group.has-black-background-color {
        background-color: transparent !important;
    }

    body,
    .site {
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        background: white !important;
    }

    html {
        overflow-x: hidden !important;
    }

    /* Gallery */
    .home .wp-block-gallery {
        margin: 0 !important;
    }

    .home .wp-block-gallery .blocks-gallery-item {
        width: calc(50% - 5px) !important;
        margin: 2.5px !important;
    }

    .home figure {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Tablet */
@media (min-width: 481px) and (max-width: 768px) {
    .home .ast-container,
    .home .site-content,
    .home #primary,
    .home .entry-content {
        padding: 0 20px !important;
    }

    .home h1 { font-size: 36px !important; }
    .home h2 { font-size: 30px !important; }
}

/* Small mobile */
@media (max-width: 480px) {
    .home .ast-container,
    .home .site-content,
    .home #primary,
    .home .entry-content {
        padding: 0 8px !important;
    }

    .home h1 { font-size: 28px !important; }
    .home h2 { font-size: 24px !important; }

    .home .wp-block-gallery .blocks-gallery-item {
        width: 100% !important;
        margin: 5px 0 !important;
    }
}

/* Very small devices */
@media (max-width: 360px) {
    .home .ast-container,
    .home .site-content,
    .home #primary,
    .home .entry-content {
        padding: 0 5px !important;
    }

    .home h1 { font-size: 26px !important; }
}

/* Navigation */
.main-header-menu .menu-item a,
.main-navigation .menu-item a {
    color: #333333 !important;
    display: inline-block;
    transition: all 0.2s ease;
}

.main-header-menu .menu-item a:hover,
.main-navigation .menu-item a:hover {
    color: #2D5A3D !important;
    transform: scale(1.08);
}

/* Arrow centred across full hero */
.ba-homepage .hero .scroll-indicator {
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Push image down so it clears the nav icons */
.ba-homepage .hero-right img {
    top: 80px !important;
    height: calc(100% - 80px) !important;
}

/* =====================================================
   March 2026
   ===================================================== */

/* Reduce white space above post title on single posts */
.single-post .entry-header,
.single .entry-header {
    padding-top: 10px !important;
    margin-top: 0 !important;
}

/* Limit hero image height on mobile so CTA strip is always visible */
@media (max-width: 768px) {
    .single-post .wp-block-image img,
    .single .wp-block-image img {
        max-height: 55vh !important;
        width: auto !important;
        object-fit: contain !important;
    }
}

/* CTA strip — solid button, fix scientific name clipping on mobile */
#fiurdelin-cta-strip {
    flex-wrap: wrap !important;
}
#fiurdelin-cta-strip > div:first-child {
    flex: 1 1 160px !important;
    min-width: 0 !important;
}
#fiurdelin-cta-strip p {
    white-space: normal !important;
    overflow: visible !important;
}
#fiurdelin-cta-strip a {
    flex-shrink: 0 !important;
    background: #7A9A7E !important;
    color: #ffffff !important;
    border-color: #5a7a5e !important;
}

/* ═══════════════════════════════════════════════════════
   FIURDELIN LIFESTYLE SECTION
   ═══════════════════════════════════════════════════════ */

/* Hide page titles on lifestyle pages */
.page-id-3747 .entry-title, .page-id-3747 .wp-block-post-title, .page-id-3747 header.entry-header,
.page-id-3749 .entry-title, .page-id-3749 .wp-block-post-title, .page-id-3749 header.entry-header,
.page-id-3755 .entry-title, .page-id-3755 .wp-block-post-title, .page-id-3755 header.entry-header,
.page-id-3756 .entry-title, .page-id-3756 .wp-block-post-title, .page-id-3756 header.entry-header,
.page-id-3757 .entry-title, .page-id-3757 .wp-block-post-title, .page-id-3757 header.entry-header,
.page-id-3758 .entry-title, .page-id-3758 .wp-block-post-title, .page-id-3758 header.entry-header,
.page-id-3759 .entry-title, .page-id-3759 .wp-block-post-title, .page-id-3759 header.entry-header { display: none !important; }

.page-id-3747 .entry-content, .page-id-3749 .entry-content,
.page-id-3755 .entry-content, .page-id-3756 .entry-content,
.page-id-3757 .entry-content, .page-id-3758 .entry-content,
.page-id-3759 .entry-content { margin-top: -2rem; }

/* Collection Pages */
.fl-page { max-width: 1100px; margin: 0 auto; padding: 1rem 1.5rem 3rem; }
.fl-page * { box-sizing: border-box; }
.fl-breadcrumb { font-size: 0.8rem; color: #999; margin-bottom: 1rem; }
.fl-breadcrumb a { color: #5a7a52; text-decoration: none; }
.fl-breadcrumb a:hover { text-decoration: underline; }
.fl-hero { text-align: center; margin-bottom: 2.5rem; padding: 1.5rem 0; }
.fl-hero h1 { font-family: 'EB Garamond', Georgia, serif; font-size: 2.2rem; font-weight: 500; color: #2d2d2d; margin: 0 0 0.4rem; }
.fl-hero .fl-tagline { font-size: 1.05rem; color: #5a7a52; font-style: italic; margin: 0 0 1.5rem; }
.fl-hero .fl-intro { max-width: 680px; margin: 0 auto; font-size: 0.92rem; line-height: 1.75; color: #555; }
.fl-group { margin-bottom: 2.5rem; }
.fl-group h2 { font-family: 'EB Garamond', Georgia, serif; font-size: 1.35rem; font-weight: 500; color: #2d2d2d; margin: 0 0 1rem; padding-bottom: 0.6rem; border-bottom: 1px solid #e8e5dc; }
.fl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1.2rem; justify-items: center; }
.fl-card, .fl-card:link, .fl-card:visited, .fl-card:hover, .fl-card:active { text-align: center; text-decoration: none !important; color: #333; display: block; background: #fff; border-radius: 10px; padding: 0.7rem; border: 1px solid #f0ede6; transition: transform 0.2s ease, box-shadow 0.2s ease; width: 100%; max-width: 220px; }
.fl-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.07); }
.fl-card * { text-decoration: none !important; }
.fl-card img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; background: #f8f8f8; }
.fl-card .fl-label { display: block; margin-top: 0.5rem; font-size: 0.82rem; font-weight: 500; color: #2d2d2d; line-height: 1.3; }
.fl-bottom { text-align: center; margin: 2rem 0 0; padding: 1.5rem; background: #fafaf7; border-radius: 10px; border: 1px solid #e8e5dc; }
.fl-bottom p { font-size: 0.88rem; color: #666; margin: 0 0 0.4rem; line-height: 1.5; }
.fl-bottom a { color: #5a7a52; text-decoration: none; font-weight: 500; }
.fl-bottom a:hover { text-decoration: underline; }
.fl-also { margin: 2.5rem 0 0; text-align: center; }
.fl-also h3 { font-family: 'EB Garamond', Georgia, serif; font-size: 1.2rem; font-weight: 500; color: #2d2d2d; margin: 0 0 1rem; }
.fl-also-grid { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; }
.fl-also-link, .fl-also-link:link, .fl-also-link:visited, .fl-also-link:hover, .fl-also-link:active { text-decoration: none !important; display: inline-block; padding: 0.7rem 1.5rem; background: #fafaf7; border: 1px solid #e8e5dc; border-radius: 8px; color: #2d2d2d; font-size: 0.85rem; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.fl-also-link:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
.fl-also-link * { text-decoration: none !important; }

/* Overview Page */
.fl-overview { max-width: 1100px; margin: 0 auto; padding: 1rem 1.5rem 3rem; }
.fl-ov-hero { text-align: center; margin-bottom: 2.5rem; padding: 2rem 0; }
.fl-ov-hero h1 { font-family: 'EB Garamond', Georgia, serif; font-size: 2.2rem; font-weight: 500; color: #2d2d2d; margin: 0 0 0.8rem; }
.fl-ov-hero p { max-width: 640px; margin: 0 auto; font-size: 0.95rem; color: #555; line-height: 1.75; }
.fl-ov-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.8rem; margin-top: 2.5rem; }
.fl-ov-card, .fl-ov-card:link, .fl-ov-card:visited, .fl-ov-card:hover, .fl-ov-card:active { display: block; text-decoration: none !important; color: #333; background: #fafaf7; border-radius: 12px; border: 1px solid #e8e5dc; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.fl-ov-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.fl-ov-card * { text-decoration: none !important; }
.fl-ov-card .fl-ov-imgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: #e8e5dc; }
.fl-ov-card .fl-ov-imgs img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.fl-ov-card .fl-ov-body { padding: 1rem 1.3rem 1.2rem; }
.fl-ov-card .fl-ov-body h2 { font-family: 'EB Garamond', Georgia, serif; font-size: 1.25rem; font-weight: 500; margin: 0 0 0.3rem; color: #2d2d2d; }
.fl-ov-card .fl-ov-body p { font-size: 0.82rem; color: #777; margin: 0; line-height: 1.4; }
.fl-ov-card .fl-ov-body .fl-count { display: inline-block; margin-top: 0.5rem; font-size: 0.72rem; color: #5a7a52; font-weight: 500; }

/* Responsive */
@media (max-width: 600px) {
    .fl-grid { grid-template-columns: repeat(2, 1fr); gap: 0.8rem; }
    .fl-ov-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   May 2026 — mobile polish (header, buttons, widgets)
   =====================================================
   These three blocks are the only additions to your file.
   ===================================================== */

/* ── (1) Hero brand line ("FIURDELIN — BOTANICAL ART STUDIO") ──
   The mobile rule `.home p { font-size: 16px !important; }` further up
   was inflating the hero tagline and breaking it onto two lines near the
   hamburger. This restores its intended small "eyebrow" size on mobile so
   it sits as one quiet line above the headline.
   (!important is required only to beat the existing !important rule.) */
@media (max-width: 768px) {
    .ba-homepage .hero-tagline {
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
    }
}

/* Safety net: IF your Astra header also displays a text site title,
   keep it small so it can never collide with the hamburger.
   Harmless if your header is logo-only. Nudge the numbers to taste. */
@media (max-width: 768px) {
    .site-title,
    .ast-site-title-wrap .site-title,
    .ast-site-identity .site-title {
        font-size: 0.9rem !important;
        line-height: 1.2 !important;
    }
    .site-branding,
    .ast-site-identity {
        max-width: 68% !important;
    }
}

/* ── (2) Buttons must never show a text underline — anywhere on the site ──
   Fixes the footer "Receive your gift" / "Browse the shop on Etsy" buttons
   that live OUTSIDE the homepage block. Ordinary body links keep their
   underline (good for affordance); only button-styled elements are stripped. */
.wp-block-button__link,
.btn,
.button,
a.btn,
input[type="submit"] {
    text-decoration: none !important;
}

/* ── (3) Floating third-party widgets (the two blue circles) ──
   ─────────────────────────────────────────────────────────────────────
   These are injected by a PLUGIN (likely an accessibility widget bottom-left
   and a chat/notification launcher bottom-right). They are NOT defined in
   this file, so the rules below do NOTHING until you fill in each widget's
   real selector — which makes them safe to paste as-is.

   HOW TO FIND THE SELECTOR:
   Open botanical.art on a DESKTOP browser, right-click a blue circle →
   "Inspect", and read the element's id or class (e.g. #aw-widget or
   .chat-launcher). Replace REPLACE-WITH-WIDGET-SELECTOR below, then
   uncomment the block you want.

   BEST FIX is usually the plugin's own settings (disable on mobile / move it).
   DO NOT hide a widget you actually need (accessibility tool, cookie consent). */

/* Option A — hide on mobile only (use ONLY for non-essential widgets):
@media (max-width: 768px) {
    .REPLACE-WITH-WIDGET-SELECTOR { display: none !important; }
}
*/

/* Option B — keep them, just lift them out of the content so they stop
   covering reviews / product images:
.REPLACE-WITH-WIDGET-SELECTOR {
    bottom: 90px !important;
    opacity: 0.85 !important;
}
*/

/* =====================================================
   May 2026 — full-width homepage on mobile
   =====================================================
   Zeroes the homepage container side-padding on phones, so the only
   side margin left is the slim 12px built into the homepage block (v7).
   Reads as edge-to-edge without the text actually touching the screen.

   SAFE TO REMOVE: if anything looks off (sideways scroll, shifted text),
   just delete this whole block and you're back to where you were.
   ===================================================== */
@media (max-width: 768px) {
    .home .ast-container,
    .home .site-content,
    .home #primary,
    .home .entry-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}