/* ============================================================
 * Dermato overrides
 *
 * Loaded LAST in the public layout (after app.css and dermato.css).
 * Purpose:
 *   1. Global page background — Eden's requested cream tone, applied
 *      to <body> on every public page (Dermato and Bootstrap alike).
 *   2. Bootstrap-killer rules for `.home-dermato` regions. Bootstrap
 *      defines `.navbar`, `.navbar > .container`, `.container`, `.nav`,
 *      `.btn`, `.dropdown-menu`, etc. with unscoped selectors. Dermato's
 *      scoped rules (`.home-dermato .navbar`, ...) win for the properties
 *      they *redeclare*, but Dermato doesn't reset everything Bootstrap
 *      forces (e.g. `display: flex` on `.navbar`). The rules below
 *      neutralize the leftover Bootstrap properties inside any
 *      `.home-dermato` ancestor.
 * ============================================================ */


/* ---- 1. Global body background -------------------------------------- */

body {
    background-color: #fdf7ef;
}


/* ---- 2. Reset Bootstrap rules inside Dermato regions ---------------- */

/* Bootstrap forces the navbar into a flex row with space-between. Dermato
   expects the navbar to be a plain block whose inner `.grid-nav` does the
   layout via CSS grid. */
.home-dermato .navbar {
    display: block;
    flex-wrap: initial;
    align-items: initial;
    justify-content: initial;
    padding: 0;
}

/* Bootstrap forces direct-child `.container` of a navbar into flex too;
   Dermato's `.nav-list` is a regular container holding the grid. */
.home-dermato .navbar > .container,
.home-dermato .navbar > .container-fluid,
.home-dermato .navbar > .container-sm,
.home-dermato .navbar > .container-md,
.home-dermato .navbar > .container-lg,
.home-dermato .navbar > .container-xl,
.home-dermato .navbar > .container-xxl,
.home-dermato .navbar > .container-wide {
    display: block;
    flex-wrap: initial;
    align-items: initial;
    justify-content: initial;
}

/* Bootstrap's responsive `.container` max-widths (540/720/960/1140/...)
   override Dermato's variable-driven layout container. Pin it back to
   Dermato's token so widths feel native. */
.home-dermato .container {
    max-width: var(--_layout---container-max-width);
    padding-right: var(--_layout---container-gutter);
    padding-left: var(--_layout---container-gutter);
}

/* Bootstrap's `.nav-link` forces `display: block`; Dermato lays them out
   inline-flex via `.nav-menu`. Restore inline so links sit side by side on
   desktop only — on mobile the menu collapses into a vertical stack (see
   below). */
@media (min-width: 992px) {
    .home-dermato .nav-menu .nav-link {
        display: inline-flex;
        align-items: center;
    }
}

/* Hide Webflow's "Made in Webflow" badge if it ever sneaks back in. The
   badge is gated by `<html data-wf-domain>` (see layouts/public.blade.php
   where we omit that attribute); this rule is a defensive belt-and-
   suspenders so re-adding the attribute or upgrading webflow.js can't
   make the badge reappear. */
.w-webflow-badge {
    display: none !important;
}

/* Footer "Board Certified" / "Specialist team" badges — recolor to the
   chestnut accent so they stand out from the body copy under them. The
   default Dermato `.badge-title` is body-grey, which gets lost against
   the dark footer background. */
.home-dermato .footer-badge-list .badge-title {
    color: var(--color--chestnut, #8c5a44);
}

/* Specialists card → Instagram link. The original Dermato sample used
   YouTube here as an `<img>`; we swapped in a Font Awesome `<i>` so it
   matches the new clinic Instagram. Size + colour so it sits flush with
   the adjacent Facebook/LinkedIn img siblings (which are 1.25rem
   square). */
.home-dermato .eden-team-social-fa {
    font-size: 1.25rem;
    line-height: 1;
    color: var(--color--bronze, #633b2c);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
}
.home-dermato .eden-team-social-list a:hover .eden-team-social-fa {
    color: var(--color--chestnut, #8c5a44);
}


/* Mobile/tablet nav menu (≤991px).

   The burger is wired to a Bootstrap offcanvas drawer (#offCanvasNavBar in
   includes/public-modals.blade.php), not to the Webflow .w-nav widget
   (Webflow's runtime is home-page-only, so the burger would otherwise be a
   no-op on every other public page).

   The offcanvas lives OUTSIDE .home-dermato and uses standard Bootstrap
   styling from app.css — no Dermato overrides needed here.

   Defensive: on the home page Webflow's runtime is loaded and could try to
   open its own `[data-nav-menu-open]` clone if anything ever re-fires the
   click. Hide the clone so it can't double-render alongside the offcanvas. */
@media (max-width: 991px) {
    .home-dermato .w-nav-overlay,
    .home-dermato [data-nav-menu-open] {
        display: none !important;
    }
}

/* Header grid-nav column layout.

   Dermato ships `.grid-nav` as three equal columns (1fr 1fr 1fr), which
   makes the centre logo "island" feel oversized while squeezing the
   nav menu on the left and the action strip on the right. Per design
   feedback we widen the menu/action columns and shrink the logo column.
   Left column is intentionally widest so the nav menu (5 links) can
   breathe at any locale length; right column is a bit narrower since the
   action strip is more compact than the link list. */
@media (min-width: 992px) {
    .home-dermato .grid-nav {
        grid-template-columns: 1.7fr 0.6fr 1.3fr;
    }
}

/* Bootstrap's `.btn` reset (border, padding, line-height, bg) would
   clobber Dermato button classes if a Dermato region ever uses `.btn`.
   Dermato uses its own button classes, but the safety net keeps things
   sane if/when Eden re-introduces Bootstrap buttons inside .home-dermato. */
.home-dermato .button-icon-primary,
.home-dermato .button-icon-primary:hover,
.home-dermato .button-icon-primary:focus {
    text-decoration: none;
}


/* ---- 3. Home page — services accordion (open state) ---------------- */

/* The original Dermato accordion shows three images side-by-side inside
   `.grid-answer`. Eden's Services model has one thumbnail per row plus a
   list of procedures (sub-services). The open panel now shows a small
   service thumbnail on the left and up to 3 procedure cards on the right.
   The `.eden-*` companion classes are added in
   pages/home/services.blade.php. */

/* Legacy single-image layout (kept in case anyone still uses it). */
.home-dermato .eden-grid-answer-single {
    grid-template-columns: 1fr;
}
.home-dermato .eden-service-image-item {
    width: 100%;
}
.home-dermato .eden-ans-image {
    width: 100%;
    height: 420px;
    max-height: 60vh;
    object-fit: cover;
    border-radius: var(--border-radius--m, 1rem);
    display: block;
}
@media (max-width: 767px) {
    .home-dermato .eden-ans-image {
        height: 260px;
    }
}

/* Procedure cards container — up to 3 cards in a row. The main service
   thumbnail is intentionally NOT rendered in the open panel (it lives on
   the /services detail page); the panel now only shows the sub-service
   strip below the heading.

   `padding-bottom` gives the open accordion some breathing room before
   the next item starts (without it the procedure strip sits flush
   against the next heading and the panel feels cramped). */
.home-dermato .eden-service-procedures {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    padding-bottom: 1.75rem;
}

/* Single card: stacked image + title, soft cream pill that lifts on hover. */
.home-dermato .eden-service-procedure-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    color: var(--color--bronze, #633b2c);
    background-color: var(--color--gray-2, #fdf7ef);
    padding: 0.75rem;
    border-radius: var(--border-radius--s, 0.75rem);
    transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.home-dermato .eden-service-procedure-card:hover {
    background-color: rgba(99, 59, 44, 0.08);
    color: var(--color--chestnut, #8c5a44);
    transform: translateY(-2px);
}

.home-dermato .eden-service-procedure-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--border-radius--s, 0.75rem);
}
.home-dermato .eden-service-procedure-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-dermato .eden-service-procedure-title {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}

/* Tablet: 2-up cards. */
@media (max-width: 991px) {
    .home-dermato .eden-service-procedures {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile: single column. */
@media (max-width: 575px) {
    .home-dermato .eden-service-procedures {
        grid-template-columns: 1fr;
    }
}


/* ---- 4. Home page — Gift box / Packages cards --------------------- */

/* Replaces the deleted Dermato "bento" section with two side-by-side
   promotional cards (Siroon packages + Gift Cards) sourced from the old
   Eden home page. Class names live under `.eden-giftbox-*` so they can't
   collide with anything Dermato ships. */

.home-dermato .eden-giftbox-section {
    background-color: transparent;
}

.home-dermato .eden-giftbox-top {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3rem;
}

.home-dermato .eden-giftbox-top .pre-top {
    justify-content: center;
    display: flex;
    margin-bottom: 1rem;
}

.home-dermato .eden-giftbox-heading {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.15;
    margin: 0 0 1rem;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
}

.home-dermato .eden-giftbox-heading-accent {
    color: var(--color--chestnut, #8c5a44);
    font-style: normal;
}

.home-dermato .eden-giftbox-description {
    color: var(--color--body, #7a685d);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.home-dermato .eden-giftbox-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

@media (max-width: 767px) {
    .home-dermato .eden-giftbox-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

.home-dermato .eden-giftbox-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--border-radius--m, 1.25rem);
    min-height: 420px;
    text-decoration: none;
    color: #fff;
    isolation: isolate;
}

@media (max-width: 767px) {
    .home-dermato .eden-giftbox-card {
        min-height: 320px;
    }
}

.home-dermato .eden-giftbox-card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    transition: transform .6s ease;
}

.home-dermato .eden-giftbox-card:hover .eden-giftbox-card-bg {
    transform: scale(1.04);
}

.home-dermato .eden-giftbox-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(58, 32, 22, 0) 0%, rgba(58, 32, 22, 0.65) 100%);
    pointer-events: none;
}

.home-dermato .eden-giftbox-card-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    height: 100%;
    padding: 2.5rem;
    gap: 1rem;
}

@media (max-width: 767px) {
    .home-dermato .eden-giftbox-card-content {
        padding: 1.75rem;
    }
}

.home-dermato .eden-giftbox-card-pre {
    font-family: var(--_typography---font-family--body, "Inter", sans-serif);
    font-size: .8rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #f3e3d5;
    margin: 0;
}

.home-dermato .eden-giftbox-card-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.1;
    margin: 0;
    color: #fff;
    font-weight: 400;
}

.home-dermato .eden-giftbox-card-text {
    margin: 0;
    color: #f3e3d5;
    font-size: 1rem;
    line-height: 1.5;
}

.home-dermato .eden-giftbox-card-cta {
    margin-top: .25rem;
}


/* ---- 5. Home page — Specialists ("Our expert team") --------------- */

/* The Dermato /about team section ships with a Webflow IX2 hover
   interaction that fades & slides the social-icons list into view when
   you hover the card. We strip the `data-w-id` attributes (they'd collide
   across the @foreach loop), so this CSS provides the same effect with a
   pure-CSS hover transition. The `.eden-team-*` helper classes are added
   in pages/home/specialists.blade.php. */
.home-dermato .eden-team-social-list {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .35s ease, transform .35s ease;
    pointer-events: none;
}

.home-dermato .eden-team-card:hover .eden-team-social-list,
.home-dermato .eden-team-card:focus-within .eden-team-social-list {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}


/* ---- 5b. Specialists slider (Slick) ------------------------------- */

/* The team grid was swapped for a Slick slider (pages/home/
   specialists.blade.php). These rules adapt the Dermato `.team-card`
   styling — which was designed to be a CSS-grid child filling its track —
   into Slick's flex/transform-driven slide model. */
.home-dermato .eden-team-slider {
    position: relative;
}

/* Each `.eden-team-slide` is now a direct slick child. Give the inner
   card some breathing room so adjacent slides don't touch. */
.home-dermato .eden-team-slide {
    padding: 0 12px;
    box-sizing: border-box;
}

/* Ensure the card itself fills the slide width regardless of Dermato's
   grid-derived widths. */
.home-dermato .eden-team-slider .team-card {
    width: 100%;
    height: auto;
}

/* Slick adds tabindex to slides; remove the focus ring so it doesn't
   draw a default browser outline around every card. */
.home-dermato .eden-team-slide:focus {
    outline: 0;
}

/* Give the slider some bottom padding so the swipe affordance feels
   natural (arrows are intentionally disabled — see data-slick-options
   on .eden-team-slider). */
.home-dermato .eden-team-slider {
    padding-bottom: 1rem;
}

/* Sub-heading under "Our expert team". Mirrors the testimonial-description
   color/measure so the section's centered header reads as a single block
   with pre-title → title → description rhythm. */
.home-dermato .eden-team-description,
.home-dermato .eden-clinic-gallery-description,
.home-dermato .eden-blog-description {
    color: var(--color--body, #7a685d);
    font-size: 1rem;
    line-height: 1.6;
    max-width: 640px;
    margin: 0.75rem auto 0;
    text-align: center;
}


/* ---- 6. Appointment section ---------------------------------------- */

/* Smooth-scroll the anchor jump from the header "Book Appointment" CTA
   (href="/#appointment"). Global because the link works from any public
   page, not only the .home-dermato scope. */
html {
    scroll-behavior: smooth;
}

/* Leave some breathing room under the sticky-ish navbar when the page
   scrolls to the appointment section, so the heading isn't tight against
   the top edge. */
#appointment {
    scroll-margin-top: 96px;
}

/* The intl-tel-input plugin wraps `.telephone` inputs in a `.iti` div.
   Inside Dermato's CSS-grid `.input-group` cell the wrapper must occupy
   the full column width — otherwise it shrinks to its default `200px`. */
.home-dermato .appointment-form .iti {
    width: 100%;
}
.home-dermato .appointment-form .iti input.form-input {
    width: 100%;
    padding-left: 52px; /* room for the country flag/dial-code */
}

/* Bootstrap (`app.css`) provides `.is-invalid` red-border styling and the
   `.invalid-feedback` block that the .r-form ajax error handler in
   core.js injects on 422 responses. The selectors are written against
   `.form-control`, but our Dermato inputs use `.form-input`/`.form-select`
   — re-apply the same affordances scoped to our form so users still get
   visible field-level error feedback. */
.home-dermato .appointment-form .is-invalid {
    border-color: #dc3545 !important;
}
.home-dermato .appointment-form .invalid-feedback {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

/* The success alert sits above the form once submission succeeds; tone
   the Bootstrap default to fit the Dermato palette. */
.home-dermato .appointment-form-title + #appointment-success.alert {
    border-radius: var(--border-radius--m, 1rem);
    margin-bottom: 1.25rem;
}

/* The Dermato `.button-primary` already styles the CTA, but it's an
   <input type="submit"> in the original markup. We use a real <button>
   for the g-recaptcha widget, so guarantee it doesn't pick up Bootstrap
   button styling that would override Dermato visuals. */
.home-dermato .appointment-form button.button-primary {
    border: none;
    cursor: pointer;
    font: inherit;
}
.home-dermato .appointment-form button.button-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* ---- 7. Header action strip (cart / auth / language) -------------- */

/* The header right-side column adds, before the existing "Book Appointment"
   CTA, an action strip with: language dropdown, sign-in / user dropdown,
   cart icon (with #cart-count badge), and a vertical separator. All three
   triggers are Bootstrap components (dropdown / modal / offcanvas) — JS
   comes from /assets/app.js which is already loaded site-wide.
   Markup lives in layouts/public/header.blade.php. */

/* Swap the dermato logo asset for Eden's brand mark — match the footer
   sizing so the visual identity is consistent across pages. */
.home-dermato .navbar .brand .eden-header-logo {
    height: 56px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
}

/* Force the right-nav cell to be a flex row so .eden-header-actions,
   .nav-button-wrap and .menu-button sit side by side regardless of
   Dermato's underlying grid placement. */
.home-dermato .navbar .right-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

/* The strip wrapper: icons inline-row, centered vertically. */
.home-dermato .navbar .eden-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1;
}

/* Round icon-button look that fits Dermato's soft palette. Used by the
   cart, auth and language toggles. Bootstrap's .btn reset doesn't apply
   here (these are plain <button>s with no .btn class) so we declare a
   minimal baseline. */
.home-dermato .navbar .eden-header-icon {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 1px solid transparent;
    color: var(--color--bronze, #633b2c);
    font-size: 1rem;
    font-weight: 500;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    position: relative; /* anchor for the cart badge */
}
.home-dermato .navbar .eden-header-icon:hover,
.home-dermato .navbar .eden-header-icon:focus,
.home-dermato .navbar .eden-header-icon[aria-expanded="true"] {
    background-color: rgba(99, 59, 44, 0.08);
    color: var(--color--chestnut, #8c5a44);
    outline: none;
}
.home-dermato .navbar .eden-header-icon i {
    pointer-events: none; /* let clicks fall through to the button itself */
}

/* Hide Bootstrap's default dropdown caret on our toggle buttons — they're
   icon-driven and the caret looks redundant. */
.home-dermato .navbar .eden-header-icon.dropdown-toggle::after,
.home-dermato .navbar .eden-header-icon[data-bs-toggle="dropdown"]::after {
    display: none;
}

/* Language toggle shows text ("EN" / "HY") instead of an icon — give it
   enough room and consistent letter sizing. */
.home-dermato .navbar .eden-header-lang-toggle {
    width: auto;
    min-width: 40px;
    padding: 0 0.6rem;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Cart badge: small pill at top-right of the cart icon. The #cart-count
   span is always in the DOM (fetchUserCart in main.js sets its text);
   :empty hides the badge when the cart is empty. */
.home-dermato .navbar .eden-header-cart-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--color--chestnut, #8c5a44);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 0 0 2px #fff;
    pointer-events: none;
}
.home-dermato .navbar .eden-header-cart-badge:empty {
    display: none;
}

/* Vertical separator between the Eden actions and the Book Appointment
   CTA — purely decorative, kept selectable text "|" so screen-readers
   announce it as nothing (aria-hidden in markup). */
.home-dermato .navbar .eden-header-sep {
    color: rgba(99, 59, 44, 0.35);
    font-weight: 300;
    font-size: 1.1rem;
    user-select: none;
    margin: 0 0.25rem;
}

/* Bootstrap dropdown menus rendered inside the Dermato header need their
   own breathing room. Bring them above the navbar shadows and tone the
   default radius to match Dermato's soft visual language. */
.home-dermato .navbar .eden-header-dropdown {
    min-width: 180px;
    border-radius: var(--border-radius--m, 0.75rem);
    border: 1px solid rgba(99, 59, 44, 0.12);
    box-shadow: 0 12px 24px rgba(99, 59, 44, 0.12);
    padding: 0.5rem 0;
    z-index: 1100;
}
.home-dermato .navbar .eden-header-dropdown .dropdown-item {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    color: var(--color--bronze, #633b2c);
}
.home-dermato .navbar .eden-header-dropdown .dropdown-item:hover,
.home-dermato .navbar .eden-header-dropdown .dropdown-item:focus {
    background-color: rgba(99, 59, 44, 0.08);
    color: var(--color--chestnut, #8c5a44);
}

/* On narrow screens we keep the language switcher, auth (user/sign-in)
   and cart icons all visible alongside the burger — the only thing we
   drop is the vertical "|" separator (purely decorative) and the
   "Book Appointment" button text (handled below) so the burger stays
   inside the viewport. */
@media (max-width: 767px) {
    .home-dermato .navbar .eden-header-sep {
        display: none;
    }
    /* Tighten spacing so the action strip + burger fit comfortably on
       phone widths. */
    .home-dermato .navbar .eden-header-actions {
        gap: 0.25rem;
    }
    .home-dermato .navbar .eden-header-icon {
        padding: 0.35rem;
    }
    /* Collapse the "Book Appointment" button to just its icon at phone
       widths — full label only returns at ≥768px. Without this the strip
       overflows on narrow screens. */
    .home-dermato .navbar .nav-button-wrap .button-icon-primary .button-text {
        display: none;
    }
    .home-dermato .navbar .nav-button-wrap .button-icon-primary {
        padding: 0.45rem;
    }
}

/* Footer Instagram icon: Font Awesome glyph rendered through an <i>
   sized to match the original 18×18 Dermato <img> social icons (with
   the 16×16 reduction at the same ≤991px breakpoint Dermato uses for
   .footer-social-icon). */
.home-dermato .footer-social-item .eden-footer-social-fa {
    font-size: 18px;
    line-height: 1;
    color: var(--color--bronze, #633b2c);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.home-dermato .footer-social-item:hover .eden-footer-social-fa {
    color: var(--color--chestnut, #8c5a44);
}
@media (max-width: 991px) {
    .home-dermato .footer-social-item .eden-footer-social-fa {
        font-size: 16px;
    }
}


/* ---- 8. Approach section (about / "A clinic committed") ----------- */

/* Dermato ships .approach-section with 3.125rem horizontal padding (and
   step-down values at tablet/mobile) plus a rounded .approach-bg inner
   container (var(--border-radius--md), --sm at mobile). Eden wants this
   section to read full-bleed with sharp corners, so flatten both.
   `!important` is necessary because Dermato's media-query rules at 991px,
   767px and 479px would otherwise re-introduce the padding. */
.home-dermato .approach-section,
.home-dermato .approach-section[class] { /* selector boost; ties with any media rule */
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.home-dermato .approach-bg {
    border-radius: 0 !important;
}

.hero-bottom-content {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.home-dermato .hero-image {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}


/* ---- 10. Packages — list & single detail ------------------------- */

/* First non-home public page rebuilt against Dermato styling. Markup in
   pages/packages/index.blade.php (card grid) and
   pages/packages/single.blade.php (two-column detail).
   All selectors are scoped to .home-dermato (added on <body> via the
   `body_class` section). */

/* ---- 10a. Section header (shared by list + detail) ----------------- */

.home-dermato .eden-packages-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3rem;
}

.home-dermato .eden-packages-header .pre-center {
    justify-content: center;
    display: flex;
    margin-bottom: 1rem;
}

.home-dermato .eden-packages-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.15;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0 0 1rem;
}

.home-dermato .eden-packages-description {
    color: var(--color--body, #7a685d);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

/* ---- 10b. Grid + card -------------------------------------------- */

.home-dermato .eden-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 991px) {
    .home-dermato .eden-packages-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 600px) {
    .home-dermato .eden-packages-grid {
        grid-template-columns: 1fr;
    }
}

.home-dermato .eden-package-card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: var(--border-radius--m, 1rem);
    overflow: hidden;
    border: 1px solid rgba(99, 59, 44, 0.08);
    box-shadow: 0 6px 18px rgba(99, 59, 44, 0.04);
    transition: transform .35s ease, box-shadow .35s ease;
}

.home-dermato .eden-package-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(99, 59, 44, 0.10);
}

.home-dermato .eden-package-image-link {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background-color: var(--color--gray-3, #f3e8de);
}

.home-dermato .eden-package-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}

.home-dermato .eden-package-card:hover .eden-package-image {
    transform: scale(1.05);
}

.home-dermato .eden-package-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background-color: var(--color--chestnut, #8c5a44);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    line-height: 1;
}

.home-dermato .eden-package-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.5rem 1.5rem 1.75rem;
    gap: 0.75rem;
}

.home-dermato .eden-package-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.5rem;
    line-height: 1.2;
    margin: 0;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
}

.home-dermato .eden-package-title a {
    color: inherit;
    text-decoration: none;
}

.home-dermato .eden-package-title a:hover {
    color: var(--color--chestnut, #8c5a44);
}

.home-dermato .eden-package-meta {
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color--body, #7a685d);
    margin: 0;
}

.home-dermato .eden-package-price {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin: 0.25rem 0 0.5rem;
}

.home-dermato .eden-package-price-current {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.4rem;
    color: var(--color--bronze, #633b2c);
}

.home-dermato .eden-package-price-old {
    font-size: 0.95rem;
    color: var(--color--body, #7a685d);
    text-decoration: line-through;
}

.home-dermato .eden-package-excerpt {
    color: var(--color--body, #7a685d);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
    /* Cap to ~3 lines so cards stay roughly equal-height. */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Push the actions row to the bottom of the card so all cards align. */
.home-dermato .eden-package-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding-top: 0.75rem;
}

.home-dermato .eden-package-cta {
    border: none;
    cursor: pointer;
    font: inherit;
}

.home-dermato .eden-package-cta:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.home-dermato .eden-package-link {
    color: var(--color--chestnut, #8c5a44);
    font-size: 0.9rem;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    transition: color .2s ease;
}

.home-dermato .eden-package-link:hover {
    color: var(--color--bronze, #633b2c);
}

/* ---- 10c. Pagination + empty state ------------------------------- */

.home-dermato .eden-packages-pagination {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
}

/* Laravel's default Bootstrap pagination renders inside a .home-dermato
   region; override only the bits that look out of place against the
   Dermato palette without unstyling Bootstrap's behaviour. */
.home-dermato .eden-packages-pagination .pagination {
    --bs-pagination-color: var(--color--bronze, #633b2c);
    --bs-pagination-hover-color: var(--color--chestnut, #8c5a44);
    --bs-pagination-active-bg: var(--color--bronze, #633b2c);
    --bs-pagination-active-border-color: var(--color--bronze, #633b2c);
    --bs-pagination-focus-box-shadow: 0 0 0 0.2rem rgba(99, 59, 44, 0.15);
    gap: 0.25rem;
    margin: 0;
}

.home-dermato .eden-packages-pagination .page-link {
    border-radius: 999px;
    border: 1px solid rgba(99, 59, 44, 0.15);
}

.home-dermato .eden-packages-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: var(--color--body, #7a685d);
}

/* ---- 10d. Single package detail ---------------------------------- */

.home-dermato .eden-package-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

@media (max-width: 991px) {
    .home-dermato .eden-package-detail-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

.home-dermato .eden-package-detail-media {
    position: relative;
    border-radius: var(--border-radius--m, 1rem);
    overflow: hidden;
    background-color: var(--color--gray-3, #f3e8de);
    aspect-ratio: 4 / 3;
}

.home-dermato .eden-package-detail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-dermato .eden-package-detail-badge {
    top: 1.25rem;
    left: 1.25rem;
}

.home-dermato .eden-package-detail-info {
    padding-top: 0.5rem;
}

.home-dermato .eden-package-detail-pre {
    margin-bottom: 1rem;
}

.home-dermato .eden-package-detail-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    line-height: 1.15;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0 0 1.25rem;
}

.home-dermato .eden-package-detail-price {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.home-dermato .eden-package-detail-price .eden-package-price-current {
    font-size: 2rem;
}

.home-dermato .eden-package-detail-discount {
    background-color: var(--color--chestnut, #8c5a44);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
}

.home-dermato .eden-package-detail-meta {
    color: var(--color--body, #7a685d);
    margin: 0 0 1rem;
}

.home-dermato .eden-package-detail-meta strong {
    color: var(--color--bronze, #633b2c);
    font-weight: 600;
}

.home-dermato .eden-package-detail-description {
    color: var(--color--body, #7a685d);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.home-dermato .eden-package-detail-description p {
    margin-bottom: 1rem;
}

.home-dermato .eden-package-detail-cta {
    border: none;
    cursor: pointer;
    font: inherit;
    width: 100%;
    text-align: center;
    justify-content: center;
}

.home-dermato .eden-package-detail-cta:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* ---- 11. Title accent (reused across listing pages) -------------- */

.home-dermato .eden-packages-title-accent {
    color: var(--color--chestnut, #8c5a44);
    font-style: italic;
}


/* ---- 12. Services index — slick tab strip + procedure list ------------ */

/* Outer wrapper: keeps the rounded "card" the original design had and
   gives the slick arrows somewhere to live without overflowing. */
.home-dermato .eden-services-nav {
    position: relative;
    margin: 0 0 2.5rem;
    padding: 0.25rem 3rem; /* room for arrows on the sides */
    background: #fff;
    border: 1px solid rgba(99, 59, 44, 0.10);
    border-radius: var(--border-radius--m, 1rem);
    box-shadow: 0 4px 16px rgba(99, 59, 44, 0.04);
}

@media (max-width: 575.98px) {
    .home-dermato .eden-services-nav {
        padding: 0.25rem 0.75rem 1.25rem; /* extra bottom space for slick dots */
    }
}

/* Each slick slide is just a thin wrapper around the tab trigger so
   slick's flex/inline-block layout doesn't fight the button styling. */
.home-dermato .eden-services-slide {
    padding: 0;
    margin: 0;
}

/* Tab trigger inside a slick slide — Dermato look (no per-tab border,
   active state uses bronze underline). */
.home-dermato .eden-services-tab {
    appearance: none;
    background: transparent;
    border: none;
    width: 100%;
    padding: 1rem 0.75rem;
    font: inherit;
    color: var(--color--body, #7a685d);
    cursor: pointer;
    white-space: normal;
    text-align: center;
    border-bottom: 2px solid transparent;
    transition: color .2s ease, border-color .2s ease;
}

.home-dermato .eden-services-tab:hover {
    color: var(--color--bronze, #633b2c);
}

.home-dermato .eden-services-tab.is-active,
.home-dermato .eden-services-tab.active {
    color: var(--color--bronze, #633b2c);
    border-bottom-color: var(--color--chestnut, #8c5a44);
    font-weight: 600;
}

/* Slick prev/next arrows — round bronze buttons sitting in the side
   padding of .eden-services-nav. */
.home-dermato .eden-services-slider .slick-prev,
.home-dermato .eden-services-slider .slick-next {
    width: 2.5rem;
    height: 2.5rem;
    background: var(--color--cream, #fdf7ef);
    border: 1px solid rgba(99, 59, 44, 0.12);
    border-radius: 999px;
    z-index: 2;
    transition: background .2s ease, color .2s ease;
}
.home-dermato .eden-services-slider .slick-prev { left: -2.75rem; }
.home-dermato .eden-services-slider .slick-next { right: -2.75rem; }

.home-dermato .eden-services-slider .slick-prev:hover,
.home-dermato .eden-services-slider .slick-next:hover {
    background: var(--color--bronze, #633b2c);
}

.home-dermato .eden-services-slider .slick-prev:before,
.home-dermato .eden-services-slider .slick-next:before {
    color: var(--color--bronze, #633b2c);
    font-size: 1.25rem;
    opacity: 1;
}
.home-dermato .eden-services-slider .slick-prev:hover:before,
.home-dermato .eden-services-slider .slick-next:hover:before {
    color: #fff;
}

/* Slick dots (mobile fallback) — sit just under the strip. */
.home-dermato .eden-services-slider .slick-dots {
    bottom: -2rem;
}
.home-dermato .eden-services-slider .slick-dots li button:before {
    color: var(--color--chestnut, #8c5a44);
    opacity: 0.35;
    font-size: 0.5rem;
}
.home-dermato .eden-services-slider .slick-dots li.slick-active button:before {
    opacity: 1;
}

.home-dermato .eden-services-panels {
    min-height: 200px;
}

/* Procedure card — used by services tabs *and* search results. */
.home-dermato .eden-procedure-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (max-width: 767px) {
    .home-dermato .eden-procedure-list {
        grid-template-columns: 1fr;
    }
}

.home-dermato .eden-procedure-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    background: #fff;
    border-radius: var(--border-radius--m, 1rem);
    border: 1px solid rgba(99, 59, 44, 0.08);
    box-shadow: 0 4px 12px rgba(99, 59, 44, 0.04);
    text-decoration: none;
    color: var(--color--bronze, #633b2c);
    transition: transform .2s ease, box-shadow .2s ease;
}

.home-dermato .eden-procedure-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(99, 59, 44, 0.08);
}

.home-dermato .eden-procedure-media {
    width: 72px;
    height: 72px;
    border-radius: var(--border-radius--sm, 0.5rem);
    overflow: hidden;
    background: var(--color--gray-3, #f3e8de);
    flex: 0 0 auto;
}

.home-dermato .eden-procedure-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-dermato .eden-procedure-body {
    min-width: 0; /* enables text truncation in flex/grid */
}

.home-dermato .eden-procedure-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.1rem;
    color: var(--color--bronze, #633b2c);
    margin: 0 0 0.25rem;
    font-weight: 400;
    line-height: 1.25;
}

.home-dermato .eden-procedure-excerpt {
    font-size: 0.85rem;
    color: var(--color--body, #7a685d);
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.home-dermato .eden-procedure-price {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.1rem;
    color: var(--color--chestnut, #8c5a44);
    white-space: nowrap;
}


/* ---- 13. Services single — image stack + thumb gallery ----------- */

.home-dermato .eden-procedure-detail-media-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.home-dermato .eden-procedure-detail-hero {
    display: block;
    text-decoration: none;
    cursor: zoom-in;
}

.home-dermato .eden-procedure-detail-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
}

@media (max-width: 480px) {
    .home-dermato .eden-procedure-detail-thumbs {
        grid-template-columns: repeat(4, 1fr);
    }
}

.home-dermato .eden-procedure-detail-thumb {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: var(--border-radius--sm, 0.5rem);
    overflow: hidden;
    background: var(--color--gray-3, #f3e8de);
    cursor: zoom-in;
}

.home-dermato .eden-procedure-detail-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.home-dermato .eden-procedure-detail-thumb:hover img {
    transform: scale(1.05);
}


/* ---- 14. Blog — index grid + single article --------------------- */

.home-dermato .eden-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 991px) {
    .home-dermato .eden-blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 600px) {
    .home-dermato .eden-blog-grid {
        grid-template-columns: 1fr;
    }
}

.home-dermato .eden-blog-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: var(--border-radius--m, 1rem);
    overflow: hidden;
    border: 1px solid rgba(99, 59, 44, 0.08);
    box-shadow: 0 6px 18px rgba(99, 59, 44, 0.04);
    transition: transform .35s ease, box-shadow .35s ease;
}

.home-dermato .eden-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(99, 59, 44, 0.10);
}

.home-dermato .eden-blog-image-link {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--color--gray-3, #f3e8de);
}

.home-dermato .eden-blog-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}

.home-dermato .eden-blog-card:hover .eden-blog-image {
    transform: scale(1.05);
}

.home-dermato .eden-blog-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.5rem 1.5rem 1.75rem;
    gap: 0.75rem;
}

.home-dermato .eden-blog-meta {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color--body, #7a685d);
}

.home-dermato .eden-blog-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.35rem;
    line-height: 1.25;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0;
}

.home-dermato .eden-blog-title a {
    color: inherit;
    text-decoration: none;
}

.home-dermato .eden-blog-title a:hover {
    color: var(--color--chestnut, #8c5a44);
}

.home-dermato .eden-blog-cta-row {
    margin-top: auto;
    padding-top: 0.5rem;
}

/* Single article ----------------------------------------------------- */

.home-dermato .eden-blog-post-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 2.5rem;
}

.home-dermato .eden-blog-post-header .pre-center {
    justify-content: center;
    display: flex;
    margin-bottom: 1rem;
}

.home-dermato .eden-blog-post-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.15;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0 0 1.25rem;
}

.home-dermato .eden-blog-post-meta {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    font-size: 0.9rem;
    color: var(--color--body, #7a685d);
}

.home-dermato .eden-blog-post-meta li {
    list-style: none;
}

.home-dermato .eden-blog-post-hero {
    margin: 0 0 2.5rem;
    border-radius: var(--border-radius--m, 1rem);
    overflow: hidden;
    background: var(--color--gray-3, #f3e8de);
    aspect-ratio: 16 / 9;
    max-height: 70vh;
}

.home-dermato .eden-blog-post-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* ---- 15. Prose container (blog body, terms) --------------------- */

/* Editor-saved HTML lands here. Themes raw <h1>/<p>/<ul>/<a>/...
   to match the Dermato palette and typography. */
.home-dermato .eden-prose {
    max-width: 760px;
    margin: 0 auto;
    color: var(--color--body, #7a685d);
    font-size: 1.05rem;
    line-height: 1.75;
}

.home-dermato .eden-prose h1,
.home-dermato .eden-prose h2,
.home-dermato .eden-prose h3,
.home-dermato .eden-prose h4 {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    line-height: 1.2;
    margin: 2rem 0 1rem;
}

.home-dermato .eden-prose h1 { font-size: 2.25rem; }
.home-dermato .eden-prose h2 { font-size: 1.85rem; }
.home-dermato .eden-prose h3 { font-size: 1.45rem; }
.home-dermato .eden-prose h4 { font-size: 1.2rem; }

.home-dermato .eden-prose p {
    margin: 0 0 1.25rem;
}

.home-dermato .eden-prose a {
    color: var(--color--chestnut, #8c5a44);
    text-decoration: underline;
}

.home-dermato .eden-prose a:hover {
    color: var(--color--bronze, #633b2c);
}

.home-dermato .eden-prose ul,
.home-dermato .eden-prose ol {
    margin: 0 0 1.25rem;
    padding-left: 1.5rem;
}

.home-dermato .eden-prose li {
    margin-bottom: 0.5rem;
}

.home-dermato .eden-prose img {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius--m, 1rem);
    margin: 1.5rem 0;
}

.home-dermato .eden-prose blockquote {
    border-left: 3px solid var(--color--chestnut, #8c5a44);
    margin: 1.5rem 0;
    padding: 0.5rem 0 0.5rem 1.5rem;
    color: var(--color--bronze, #633b2c);
    font-style: italic;
}

.home-dermato .eden-prose strong {
    color: var(--color--bronze, #633b2c);
}


/* ---- 16. Contact page ------------------------------------------- */

.home-dermato .eden-contact-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
}

@media (max-width: 767px) {
    .home-dermato .eden-contact-info {
        grid-template-columns: 1fr;
    }
}

.home-dermato .eden-contact-info-card {
    background: #fff;
    border-radius: var(--border-radius--m, 1rem);
    border: 1px solid rgba(99, 59, 44, 0.08);
    padding: 1.75rem;
    text-align: center;
    box-shadow: 0 4px 12px rgba(99, 59, 44, 0.04);
}

.home-dermato .eden-contact-info-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 1rem;
    border-radius: 999px;
    background: rgba(99, 59, 44, 0.08);
    color: var(--color--chestnut, #8c5a44);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.home-dermato .eden-contact-info-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.25rem;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0 0 0.75rem;
}

.home-dermato .eden-contact-info-text {
    color: var(--color--body, #7a685d);
    margin: 0;
    line-height: 1.6;
}

.home-dermato .eden-contact-info-text a {
    color: var(--color--chestnut, #8c5a44);
    text-decoration: none;
}

.home-dermato .eden-contact-info-text a:hover {
    color: var(--color--bronze, #633b2c);
}

.home-dermato .eden-contact-form-wrap {
    max-width: 760px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--border-radius--m, 1rem);
    border: 1px solid rgba(99, 59, 44, 0.08);
    padding: 2.5rem;
    box-shadow: 0 6px 18px rgba(99, 59, 44, 0.04);
}

@media (max-width: 600px) {
    .home-dermato .eden-contact-form-wrap {
        padding: 1.5rem;
    }
}

.home-dermato .eden-contact-form-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.75rem;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0 0 1.5rem;
    text-align: center;
}

.home-dermato .eden-contact-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.home-dermato .eden-contact-form .grid-form-input {
    margin: 0;
}

.home-dermato .eden-contact-cta {
    border: none;
    cursor: pointer;
    font: inherit;
    align-self: flex-end;
    min-width: 200px;
}

@media (max-width: 600px) {
    .home-dermato .eden-contact-cta {
        align-self: stretch;
    }
}

/* intl-tel-input also wraps .telephone in the contact form (just like
   the appointment form) — same width override needed. */
.home-dermato .eden-contact-form .iti {
    width: 100%;
}

.home-dermato .eden-contact-form .iti input.form-input {
    width: 100%;
    padding-left: 52px;
}


/* ---- 17. Search page -------------------------------------------- */

.home-dermato .eden-search-form {
    display: flex;
    gap: 0.5rem;
    max-width: 760px;
    margin: 0 auto 3rem;
}

@media (max-width: 600px) {
    .home-dermato .eden-search-form {
        flex-direction: column;
    }
}

.home-dermato .eden-search-input {
    flex: 1 1 auto;
}

.home-dermato .eden-search-submit {
    border: none;
    cursor: pointer;
    font: inherit;
    flex: 0 0 auto;
    min-width: 140px;
    justify-content: center;
    text-align: center;
}

.home-dermato .eden-search-results-title {
    font-family: var(--_typography---font-family--heading, "Hedvig Letters Serif", serif);
    font-size: 1.5rem;
    color: var(--color--bronze, #633b2c);
    font-weight: 400;
    margin: 0 0 1.5rem;
}


/* ============================================================================
 * 18. Eden form buttons (auth / profile / orders / checkout)
 *
 * Auth-style pages (login, register, forgot password, profile, orders,
 * checkout) keep their Bootstrap layout — only the submit buttons are
 * upgraded to the Dermato bronze button look.
 *
 * Markup pattern (anywhere inside .home-dermato body):
 *
 *     <button class="button-primary w-button eden-form-btn ...">
 *
 * `eden-form-btn` only adds the bits the Dermato base buttons need to
 * coexist with Bootstrap utilities (`w-100`, `disabled`, link-as-button,
 * etc) and gives us a couple of variant modifiers (small / success).
 * ============================================================================ */

/* Reset the awful default Webflow blue from `.w-button` (only matters for
   `<button>` elements — `<a class="w-button">` is already overridden by
   `.button-primary` in dermato.css). */
.home-dermato button.w-button.button-primary,
.home-dermato input.w-button.button-primary {
    background-color: var(--color--bronze, #633b2c);
    color: var(--color--white, #ffffff);
    border: 1px solid var(--color--bronze, #633b2c);
    border-radius: var(--border-radius--button, 999px);
    padding: .75rem 1.5rem;
    font-family: inherit;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}

/* Hover (same logic as dermato.css .button-primary:hover). */
.home-dermato button.w-button.button-primary:hover,
.home-dermato input.w-button.button-primary:hover,
.home-dermato a.button-primary.eden-form-btn:hover {
    background-color: var(--color--gray-2, #fdf7ef);
    color: var(--color--body, #7a685d);
    border-color: var(--color--chestnut, #8c5a44);
}

/* Disabled state — used by checkout's "Place order" until terms is ticked,
   and by verify-page resend before the timer is up. */
.home-dermato .eden-form-btn:disabled,
.home-dermato .eden-form-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Anchors styled as buttons (Create Account on the login page, Details/Pay
   on the orders table) need explicit centering since they're inline-block. */
.home-dermato a.eden-form-btn {
    display: inline-block;
    text-decoration: none;
    text-align: center;
    line-height: 1.2;
}

/* Bootstrap's `w-100` utility expects a block-level element; make sure our
   inline-block Dermato button stretches and stays centred. */
.home-dermato .eden-form-btn.w-100 {
    display: block;
    width: 100%;
    text-align: center;
}

/* --- Variants ----------------------------------------------------------- */

/* Smaller variant — used for table actions on /user/orders. */
.home-dermato .eden-form-btn.eden-form-btn--sm {
    padding: .375rem 0.875rem;
    font-size: .8125rem;
}

/* Success variant — Pay button on orders list (green-ish accent without
   breaking the bronze palette). */
.home-dermato .eden-form-btn.eden-form-btn--success,
.home-dermato button.w-button.button-primary.eden-form-btn--success,
.home-dermato a.button-primary.eden-form-btn.eden-form-btn--success {
    background-color: #2c8a5e;
    border-color: #2c8a5e;
    color: #fff;
}

.home-dermato .eden-form-btn.eden-form-btn--success:hover {
    background-color: #fdf7ef;
    color: #2c8a5e;
    border-color: #2c8a5e;
}

/* Auth-page sub-section spacing — the headings on /login, /register, etc.
   look very tight against the Dermato cream background; give them room. */
.home-dermato section.pb-lg-20 {
    padding-top: 1rem;
}

/* Force the Bootstrap form fields used on auth/profile/checkout pages to
   blend nicely with the Dermato body background. Just colour + radius
   tweaks — keep the Bootstrap grid intact. */
.home-dermato .form-control:not(.form-input):not(.contact-input) {
    border-radius: var(--border-radius--xs, .625rem);
    border-color: rgba(99, 59, 44, 0.18);
    background-color: #fff;
}

.home-dermato .form-control:not(.form-input):not(.contact-input):focus {
    border-color: var(--color--bronze, #633b2c);
    box-shadow: 0 0 0 .15rem rgba(99, 59, 44, 0.12);
}

/* User-area listing tables (/user/orders, /user/packages, /user/gift-cards).
 *
 * The Bootstrap tables on those pages used `table-borderless table-nowrap`
 * which left an unstyled, edge-to-edge grid that didn't sit well inside
 * the Dermato cream layout. Add a soft chestnut border, generous cell
 * padding and centered text so the table reads as a clean card.
 *
 * Targets the `.eden-user-table` opt-in class so we don't accidentally
 * re-style every Bootstrap table on the site. */
.home-dermato .eden-user-table {
    background-color: var(--color--white, #ffffff);
    border-color: rgba(99, 59, 44, 0.18);
    border-radius: var(--border-radius--m, 0.75rem);
    overflow: hidden;
}
.home-dermato .eden-user-table > :not(caption) > * > * {
    /* Bootstrap's default cell padding is .5rem; bump it to feel
       breathable inside the Dermato layout. */
    padding: 1rem 0.875rem;
    border-color: rgba(99, 59, 44, 0.18);
    color: var(--color--bronze, #633b2c);
    text-align: center;
    vertical-align: middle;
}
.home-dermato .eden-user-table > thead > tr > th {
    background-color: var(--color--gray-2, #fdf7ef);
    color: var(--color--chestnut, #8c5a44);
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.home-dermato .eden-user-table > tbody > tr:hover > td {
    background-color: rgba(99, 59, 44, 0.04);
}
.home-dermato .eden-user-table a {
    color: var(--color--bronze, #633b2c);
    text-decoration: none;
}
.home-dermato .eden-user-table a:hover {
    color: var(--color--chestnut, #8c5a44);
    text-decoration: underline;
}

/* Status badges inside the user table — explicit `fit-content` so they
   don't visually stretch (Bootstrap's `.badge` is already inline-block,
   but being defensive in case something later cascades a wider display). */
.home-dermato .eden-user-table .badge {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    vertical-align: middle;
}

/* Action buttons inside the user table.
   The cell rule above sets `color: var(--color--bronze)` for ALL cell
   content (so plain text reads in the brand colour). That cascade was
   also turning the Details/Pay buttons' text bronze instead of white.
   Restore the Dermato button colour (and undo the hover-underline rule
   from `.eden-user-table a:hover`) for these specific buttons. */
.home-dermato .eden-user-table a.button-primary,
.home-dermato .eden-user-table a.button-primary:hover,
.home-dermato .eden-user-table a.button-primary:focus {
    color: var(--color--white, #ffffff);
    text-decoration: none;
}
.home-dermato .eden-user-table a.button-primary.eden-form-btn--success,
.home-dermato .eden-user-table a.button-primary.eden-form-btn--success:hover {
    color: var(--color--white, #ffffff);
}

/* Mobile menu drawer (#offCanvasNavBar) — link styling.
 *
 * Bootstrap's global `a:hover { text-decoration: underline }` was
 * underlining every entry on hover. The drawer is OUTSIDE `.home-dermato`
 * so we target it by its id (kept narrow on purpose). No color tinting —
 * just kill the underline and let the existing `.nav-link` styles drive
 * the look. */
#offCanvasNavBar .nav-link,
#offCanvasNavBar .nav-link:hover,
#offCanvasNavBar .nav-link:focus,
#offCanvasNavBar .nav-link:active {
    text-decoration: none;
}

/* Cart drawer (#shoppingCart) — "Your cart is saved for the next 48
 * hours" notice.
 *
 * Why it was clipping: the wrapper form uses `.shopping-cart`, whose
 * column widths (`.shop-product { width: 695px }` at ≥1200 px, plus the
 * 128 px `.shop-quantity`) live in app.css and stretch the inner table
 * to ~835 px. The notice's `<td colspan="3">` inherits that 835 px, so
 * the inner `<div>` becomes 835 px wide too. Inside the 400 px
 * offcanvas only the first ~360 px of that div is visible, so the
 * wrapped lines render past the drawer's right edge — they exist, they
 * just sit off-screen.
 *
 * Fix: cap THIS one div's width to roughly the drawer's visible area.
 * We deliberately do NOT touch `.shopping-cart` (JS hooks depend on it)
 * nor the parent table / td / form styles. Only the dedicated
 * `.eden-cart-saved-banner` class (added in cart.blade.php) is
 * targeted. */
#shoppingCart .eden-cart-saved-banner {
    /* Bootstrap offcanvas defaults `--bs-offcanvas-width: 400px`; minus
       the offcanvas-body horizontal padding (~3rem total). Falls back
       to a hard 360 px in browsers that don't surface the CSS var. */
    max-width: calc(var(--bs-offcanvas-width, 400px) - 3rem);
    width: 100%;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.4;
    font-size: 0.9rem;
}


/* ============================================================================
 * 19. Home — "Helpful tips and expert advice" featured (left) blog image
 *
 * The Dermato template's left card was designed for a wide hero image; with
 * Eden's portrait/square uploads it ends up dominating the section. Constrain
 * the featured (left) image to a fixed 260×200 thumbnail. Targets the LEFT
 * card only (`.blog-item .blog-image-item`); the right-stack thumbnails
 * (`.blog-list .blog-image-item`) keep their original sizing.
 * ============================================================================ */

.home-dermato .blog-item .blog-image-item {
    width: 260px;
    height: 200px;
    overflow: hidden;
    border-radius: var(--border-radius--m, 1rem);
    flex: 0 0 auto;
}

.home-dermato .blog-item .blog-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}