/* =========================================================
   LEADING LINES — PHOTOGRAPHIC SOCIETY
   style.css

   Recreates the visual design of the original WordPress /
   Elementor homepage.

   Values are taken directly from the site's stylesheets:

     Header / navbar : elementor/css/post-174.css  (HFE template)
                       plugins/header-footer-elementor/*
     Page            : elementor/css/post-5.css
     Page background : elementor/css/local-5-frontend-desktop.css
     Kit / defaults  : elementor/css/post-3.css, base-desktop.css

   Bootstrap is only used for the grid + navbar mechanics; every
   visual property is defined below so the framework never
   changes the original appearance.
========================================================= */


/* =========================================================
   1. DESIGN TOKENS (CSS VARIABLES)
========================================================= */

:root {

    /* Brand / accent colours */
    --ll-primary:        #014c61;  /* dark teal (hero 2025 / footer) */
    --ll-nav:            #ff0000;  /* navbar link colour              */
    --ll-nav-hover:      #61ce70;  /* align hover / current colour    */
    --ll-hero-title:     #fffba2;  /* big hero heading                */
    --ll-ink:            #000000;  /* "Brilliance Salon" heading      */
    --ll-on-dark:        #ffffff;  /* footer copy + button text      */

    /* Surfaces */
    --ll-page-bg:        #ffffff;
    --ll-footer-bg:      #014c61;
    --ll-nav-border:     #c4c4c4;

    /* Buttons */
    --ll-btn-bg:         #000000;
    --ll-btn-bg-hover:   #075063;

    /* Elementor global defaults (kit post-3.css) */
    --ll-text:           #7a7a7a;
    --ll-accent:         #61ce70;

    /* Typography */
    --ll-font-heading:   "Berkshire Swash", cursive;
    --ll-font-body:      "Roboto", sans-serif;
    --ll-font-button:    "Times New Roman", Times, serif;

    /* Layout */
    --ll-container:      1140px;
    --ll-header-h:       91px;     /* header height (hero -91px)      */

    /* Hero background photograph */
    --ll-hero-bg-image:
        url("https://fmailer.co.in/leadinlines/wp-content/uploads/sites/3/2026/08/pexels-skyler-ewing-266953-13122605.jpg");
    --ll-hero-bg-color:  #ffffff;
}


/* =========================================================
   2. BASE
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

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

body {

    margin: 0;

    font-family: var(--ll-font-body);
    font-size: 16px;
    line-height: 1.5;

    color: var(--ll-text);
    background-color: var(--ll-page-bg);

    overflow-x: hidden;
}


/* Container — Elementor max-width (1140) then kit values 1024 / 767 */
.container {
    width: 100%;
    max-width: var(--ll-container);
    margin-inline: auto;
    padding-inline: 10px;
}

@media (max-width: 1199.98px) {
    .container { max-width: 1024px; }
}

@media (max-width: 767.98px) {
    .container { max-width: 767px; }
}


/* =========================================================
   3. HEADER / NAVBAR  (HFE template #174)
========================================================= */

.ll-header {
    position: relative;      /* the hero slides underneath it */
    z-index: 99;
}

.ll-header .container {
    padding-block: 10px;
}

.ll-navbar {
    min-height: calc(var(--ll-header-h) - 20px);
    padding: 0;
    align-items: center;
}


/* Menu links : Times New Roman 18px / 600, red, 15px padding */
.ll-navbar .nav-link {

    padding: 15px;

    font-family: var(--ll-font-button);
    font-size: 18px;
    font-weight: 600;
    line-height: 1;

    color: var(--ll-nav);
}

.ll-navbar .nav-link:hover,
.ll-navbar .nav-link:focus,
.ll-navbar .nav-link.active {
    color: var(--ll-nav-hover);
}


/* "Past Exhibitions" dropdown — white panel, red items */
.ll-navbar .dropdown-menu {
    min-width: 220px;
    padding: 0;
    margin: 0;
    background-color: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.1);
}

.ll-navbar .dropdown-item {

    padding: 15px 15px 15px 35px;

    font-family: var(--ll-font-button);
    font-size: 18px;
    font-weight: 600;

    color: var(--ll-nav);
    background-color: #ffffff;
}

.ll-navbar .dropdown-item:hover,
.ll-navbar .dropdown-item:focus {
    color: var(--ll-nav-hover);
    background-color: #ffffff;
}

.ll-navbar .dropdown-item + .dropdown-item {
    border-top: 1px solid var(--ll-nav-border);
}

.ll-navbar .dropdown-toggle::after {
    vertical-align: 0.15em;
}


/* Hamburger toggle */
.ll-navbar__toggle {
    margin: 0 auto;
    padding: 0.35em;
    border: 0;
    border-radius: 3px;
    color: #494c4f;
    background-color: transparent;
}

.ll-navbar__toggle:focus {
    box-shadow: none;
    outline: 0;
}

.ll-navbar__toggle .ll-navbar__icon {
    display: block;
    width: 25px;
    height: 25px;
    fill: currentColor;
}


/* Mobile / tablet : the menu drops down over the page */
@media (max-width: 991.98px) {

    .ll-navbar__collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 99;

        background-color: #ffffff;
        box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.1);
    }

    .ll-navbar__collapse .navbar-nav {
        width: 100%;
    }

    .ll-navbar__collapse .nav-link {
        padding: 15px 20px;
    }

    .ll-navbar__collapse .dropdown-menu {
        position: static;
        box-shadow: none;
        border-radius: 0;
    }

    .ll-navbar__collapse .dropdown-item {
        padding-left: 35px;
    }
}


/* =========================================================
   4. SECTION 1 — HERO  (atomic wrapper e-bc85304)
========================================================= */

.ll-hero {

    position: relative;

    /* Slides up underneath the transparent header */
    margin-block-start: calc(-1 * var(--ll-header-h));

    padding: 10px;

    background-color: var(--ll-hero-bg-color);
    background-image: var(--ll-hero-bg-image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


/* Heading : 100px Berkshire Swash, weight 600, #FFFBA2, centred */
.ll-hero__title {

    margin: 40px 0 20px;

    font-family: var(--ll-font-heading);
    font-size: 100px;
    font-weight: 600;
    line-height: 1.1;

    text-align: center;

    color: var(--ll-hero-title);

    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}


/* Logos — full width, left aligned (text-align:start) */
.ll-logos {
    margin: 0;
}

.ll-logo {
    margin-bottom: 20px;
    text-align: left;
}

.ll-logo:last-child {
    margin-bottom: 0;
}

.ll-logo__img {
    display: inline-block;
    width: 150px;
    height: 150px;
    max-width: 100%;
    object-fit: contain;
    vertical-align: middle;
}


/* =========================================================
   5. SECTION 2 — ONGOING SALON  (atomic wrapper e-c97580c)
========================================================= */

.ll-salon {
    padding: 10px;
}


/* "Ongoing Salon" : 40px, weight 600, #014C61, left */
.ll-salon__eyebrow {

    margin: 0 0 20px;

    font-family: var(--ll-font-heading);
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;

    text-align: left;

    color: var(--ll-primary);
}


/* "Brilliance Salon" : 84px, weight 600, #000000, centred */
.ll-salon__title {

    margin: 0 0 20px;

    font-family: var(--ll-font-heading);
    font-size: 84px;
    font-weight: 600;
    line-height: 1.1;

    text-align: center;

    color: var(--ll-ink);
}


/* Banner image — 768 x 521, centred */
.ll-salon__figure {
    margin: 0 0 20px;
    text-align: center;
}

.ll-salon__img {
    display: inline-block;
    width: 768px;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}


/* Button row — flex row, centred */
.ll-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}


/* =========================================================
   6. BUTTONS
========================================================= */

.btn.ll-btn {

    display: inline-block;

    padding: 12px 24px;

    font-family: var(--ll-font-button);
    font-size: 20px;
    font-weight: 500;
    line-height: 1;

    color: var(--ll-on-dark);
    background-color: var(--ll-btn-bg);

    border: 1px solid var(--ll-btn-bg);
    border-radius: 3px;

    text-align: center;
    text-decoration: none;

    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.btn.ll-btn:hover,
.btn.ll-btn:focus {
    color: var(--ll-on-dark);
    background-color: var(--ll-btn-bg-hover);
    border-color: var(--ll-btn-bg-hover);
}

.btn.ll-btn:focus-visible {
    outline: 2px solid #014c61;
    outline-offset: 2px;
}


/* =========================================================
   7. SECTION 3 — FOOTER  (atomic wrapper e-6be83b9)
   height:112px; background-color:#014c61
========================================================= */

.ll-footer {

    display: flex;
    align-items: center;

    height: 112px;

    padding: 10px;

    background-color: var(--ll-footer-bg);
}

.ll-footer .container {
    width: 100%;
}

.ll-footer__inner {
    text-align: center;
}

/* The original footer image is 5% of its wrapper width */
.ll-footer__logo {
    display: inline-block;
    width: 5%;
    height: auto;
    min-width: 30px;
    max-width: 57px;
    vertical-align: middle;
}

.ll-footer__copy {
    margin: 4px 0 0;

    font-family: var(--ll-font-body);
    font-size: 16px;
    line-height: 1.4;

    color: var(--ll-on-dark);
}


/* =========================================================
   8. RESPONSIVE
   Mirrors the @media(max-width:767px) rules in post-5.css
========================================================= */

@media (max-width: 767.98px) {

    /* Heading : 68px */
    .ll-hero__title {
        font-size: 68px;
        margin-top: 30px;
    }

    /* Logos become centred */
    .ll-logo {
        text-align: center;
    }

    /* "Ongoing Salon" : 35px + centred */
    .ll-salon__eyebrow {
        font-size: 35px;
        text-align: center;
    }

    /* "Brilliance Salon" : 68px */
    .ll-salon__title {
        font-size: 68px;
    }

    /* NOTE: the original homepage does NOT change the buttons on
       mobile — they keep Times New Roman 20px and simply wrap. */
    .ll-actions {
        gap: 14px;
    }
}


/* Technical fallback for very small phones — prevents the large
   display heading from overflowing the viewport. */
@media (max-width: 480px) {

    .ll-hero__title {
        font-size: 42px;
    }

    .ll-salon__eyebrow {
        font-size: 28px;
    }

    .ll-salon__title {
        font-size: 42px;
    }

    .ll-logo__img {
        width: 120px;
        height: 120px;
    }

    .ll-actions {
        gap: 12px;
    }
}


/* =========================================================
   9. ACCESSIBILITY / MOTION
========================================================= */

img {
    border-style: none;
}

a {
    color: inherit;
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        transition-duration: 0.001ms !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
    }
}
