/* ============================================================
   CHI RENOVATION — THEME STYLESHEET
   ------------------------------------------------------------
   Table of contents
     1.  Design tokens (variables)
     2.  Fonts (@font-face)
     3.  Global resets
     4.  Header — layout & sticky
     5.  Header — logo
     6.  Nav — top-level menu
     7.  Nav — submenu (dropdown)
     8.  Header — burger button
     9.  Footer — layout
     10. Footer — info items
     11. Footer — "Work with us" CTA
     12. Footer — social icons
     13. Floating "Contact us" tab
     14. Shared — line + arrow button
     15. Home — banners
     16. Home — 2-column sections
     17. Home — quote block
     18. Home — line & process section
     19. Home — counters
     20. Home — portfolio slider
     21. Projects — room-type sections & post grid
     22. Single portfolio — banner slider
     23. Single portfolio — gallery grid
     24. Single portfolio — prev/next nav
     25. Shared — "more features" text block
     26. About — team grid
     27. About — services
     28. About — process
     29. Press — logo icons
     30. Press — press grid
     31. Press — reviews slider
     32. Blog — card grid
     33. Blog — single post content & form
     34. Misc — admin bar / body-template overrides
     35. Contact page
     36. Responsive — tablet / laptop (<= 1300px)
     37. Responsive — tablet / mobile (<= 1024px)
     38. Responsive — mobile (<= 767px)
     39. Responsive — admin bar (<= 600px)
   ============================================================ */


/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
    /* colors */
    --color-bg: #f4f2ee;
    --color-gold: #d0bb90;
    --color-accent: #ad8331;      /* nav hover/active, footer CTA, accents */
    --color-accent-alt: #ad8330;  /* logo, footer info items */
    --color-text: #504b4b;
    --color-border-light: #e2ded6;

    /* fonts */
    --font-alta: 'Alta regular', sans-serif;
    --font-tsars: 'Tsars regular', sans-serif;
    --font-ovo: 'Ovo regular', sans-serif;

    /* transitions */
    --transition-fast: all 0.2s ease;
    --transition-slow: all 0.4s ease;
    --transition-sticky: 0.3s ease;
}


/* ============================================================
   2. FONTS
   ============================================================ */
@font-face {
    font-family: 'Alta regular';
    src: url('fonts/alta-regular.otf') format('opentype');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Tsars regular';
    src: url('fonts/TT Tsars A Trial Regular.otf') format('opentype');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Ovo regular';
    src: url('fonts/Ovo-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}


/* ============================================================
   3. GLOBAL RESETS
   ============================================================ */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}


/* ============================================================
   4. HEADER — LAYOUT & STICKY
   ============================================================ */
.site-header-new {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
}

.site-header-new__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: var(--color-bg);
    border-bottom: solid 12px var(--color-gold);
    -webkit-transition: border-bottom-width var(--transition-sticky),
    -webkit-box-shadow var(--transition-sticky);
    transition: border-bottom-width var(--transition-sticky),
    -webkit-box-shadow var(--transition-sticky);
    transition: border-bottom-width var(--transition-sticky),
    box-shadow var(--transition-sticky);
    transition: border-bottom-width var(--transition-sticky),
    box-shadow var(--transition-sticky),
    -webkit-box-shadow var(--transition-sticky);
}

.header_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1700px;
    width: 100%;
    margin: auto;
    padding: 25px 20px;
    -webkit-transition: padding var(--transition-sticky);
    transition: padding var(--transition-sticky);
}

/* ---- Sticky (shrunk) state ---- */
.site-header-new.is-sticky .site-header-new__inner {
    border-bottom-width: 4px;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.site-header-new.is-sticky .header_container {
    padding: 10px 20px;
}


/* ============================================================
   5. HEADER — LOGO
   ============================================================ */
.header_logo_col a.site-header-new__title {
    display: inline-block;
    font-family: var(--font-alta) !important;
    font-size: 54.2px;
    line-height: 1;
    color: var(--color-accent-alt);
    text-decoration: none;
    -webkit-transition: font-size var(--transition-sticky);
    transition: font-size var(--transition-sticky);
}

.site-header-new.is-sticky .header_logo_col a.site-header-new__title {
    font-size: 38px;
}


/* ============================================================
   6. NAV — TOP-LEVEL MENU
   ============================================================ */
.header_menu_col .site-header-new__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header_menu_col .site-header-new__menu li {
    position: relative;
}

.header_menu_col .site-header-new__menu a {
    display: block;
    padding: 0;
    text-decoration: none;
    white-space: nowrap;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

/* Link typography */
.header_menu_col .site-header-new__menu li.menu-item a {
    color: var(--color-text);
    font-family: var(--font-tsars) !important;
    font-size: 13.8px;
}

/* Hover */
.header_menu_col .site-header-new__menu li.menu-item a:hover {
    color: var(--color-accent);
    background: transparent;
}

/* Active top-level item */
.header_menu_col .site-header-new__menu > li.menu-item.current-menu-item > a {
    color: var(--color-accent);
    font-weight: 600;
}

/* Active submenu item (set live by scrollspy JS) */
.header_menu_col .site-header-new__menu .sub-menu li.current-menu-item > a {
    color: var(--color-accent);
    border-bottom: solid 1px var(--color-accent);
}

/* Light up the top-level parent when one of its anchors is active */
.header_menu_col .site-header-new__menu > li.menu-item-has-children:has(.sub-menu li.current-menu-item) > a {
    color: var(--color-accent);
    font-weight: 600;
}


/* ============================================================
   7. NAV — SUBMENU (DROPDOWN)
   ============================================================ */
.header_menu_col .site-header-new__menu .sub-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 22px 20px 12px 20px;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(6px);
    -ms-transform: translateX(-50%) translateY(6px);
    transform: translateX(-50%) translateY(6px);
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
    text-align: center;
    background: var(--color-bg);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    z-index: 999;
}

.header_menu_col .site-header-new__menu .sub-menu a {
    padding: 8px 0;
}

/* Reveal on hover / keyboard focus */
.header_menu_col .site-header-new__menu li:hover > .sub-menu,
.header_menu_col .site-header-new__menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(-50%) translateY(0);
    -ms-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
}

/* Chevron toggle (mobile only — hidden on desktop) */
.header_menu_col .site-header-new__menu .menu-chevron {
    display: none;
}


/* ============================================================
   8. HEADER — BURGER BUTTON (mobile toggle)
   ============================================================ */
.header_burger {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    z-index: 1001;
}

.header_burger span {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--color-gold);
    border-radius: 0;
    -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
    transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transition: transform 0.25s ease, opacity 0.25s ease, -webkit-transform 0.25s ease;
}

/* Burger -> X when open */
body.menu-open .header_burger span:nth-child(1) {
    -webkit-transform: translateY(9.5px) rotate(45deg);
    -ms-transform: translateY(9.5px) rotate(45deg);
    transform: translateY(9.5px) rotate(45deg);
}
body.menu-open .header_burger span:nth-child(2) {
    opacity: 0;
}
body.menu-open .header_burger span:nth-child(3) {
    -webkit-transform: translateY(-9.5px) rotate(-45deg);
    -ms-transform: translateY(-9.5px) rotate(-45deg);
    transform: translateY(-9.5px) rotate(-45deg);
}


/* ============================================================
   9. FOOTER — LAYOUT
   ============================================================ */
footer.site-footer-new {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: var(--color-bg);
}

.footer_banner {
    display: none;
    width: 100%;
    overflow: hidden;
}

body.page-template-home-template .footer_banner, body.page-template-about-template .footer_banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.footer_banner img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-height: 45vw;
    object-fit: cover;
    object-position: top center;
}

.footer_container_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border-top: solid 12px var(--color-gold);
}

.footer_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1700px;
    width: 100%;
    margin: auto;
    padding: 0 20px;
}


/* ============================================================
   10. FOOTER — INFO ITEMS (phone, email, address, hours)
   ============================================================ */
.footer_container_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
    padding: 60px 0 20px 0;
}

.footer_site_title {
    margin: 0px;
    color: var(--color-accent);
    font-family: var(--font-alta);
    font-size: 38px;
    line-height: 1.4;
    font-weight: 400;
}

.footer_info_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 19px;
    color: var(--color-accent-alt);
    font-family: var(--font-ovo) !important;
}

.footer_info_item a {
    color: var(--color-accent-alt);
    font-family: var(--font-ovo) !important;
    font-size: 19px;
    text-decoration: none;
}

.footer_info_item img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 29px;
    height: 29px;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

.footer_info_item:hover img {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
}


/* ============================================================
   11. FOOTER — "WORK WITH US" CTA
   ============================================================ */
.footer_work_with_us {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}


/* ============================================================
   12. FOOTER — SOCIAL ICONS
   ============================================================ */
.footer_container_socials {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 75px;
}

.footer_container_socials img {
    width: 34px;
    height: 34px;
    -o-object-fit: contain;
    object-fit: contain;
}

.footer_container_socials a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-decoration: none;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

.footer_container_socials a:hover {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
}


/* ============================================================
   13. FLOATING "CONTACT US" TAB
   ============================================================ */
/*.contact_us_float_btn {*/
/*    position: fixed;*/
/*    right: 0px;*/
/*    z-index: 9999;*/
/*    top: 50%;*/
/*    background: var(--color-gold);*/
/*    display: -webkit-box;*/
/*    display: -ms-flexbox;*/
/*    display: flex;*/
/*    -webkit-writing-mode: vertical-rl;*/
/*    -ms-writing-mode: tb-rl;*/
/*    writing-mode: vertical-rl;*/
/*    -webkit-transform: rotate(180deg);*/
/*    -ms-transform: rotate(180deg);*/
/*    transform: rotate(180deg);*/
/*    color: white;*/
/*    white-space: nowrap;*/
/*    padding: 0px;*/
/*    -webkit-transition: var(--transition-slow);*/
/*    transition: var(--transition-slow);*/
/*}*/

.contact_us_float_btn {
    position: fixed;
    right: 18px;
    z-index: 9999;
    bottom: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: white;
    white-space: nowrap;
    padding: 0px;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.contact_us_float_btn a {
    color: #fff;
    text-decoration: unset;
    font-family: var(--font-alta);
    font-size: 20px;
    letter-spacing: 1px;
    padding: 10px 5px;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.contact_us_float_btn a:hover {
    padding: 15px 5px;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.contact_us_float_btn a img {
    width: 250px;
    height: auto;
}


/* ============================================================
   14. SHARED — LINE + ARROW BUTTON
   (used in footer CTA and home/projects "line" sections)
   ============================================================ */
.btn_with_arrow_and_line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding-right: 75px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 60px;
}

.btn_with_arrow_and_line img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 64.5px;
    height: 64.5px;
    border: solid 1px var(--color-gold);
    border-radius: 100%;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

.lobster_line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6px;
    width: 100%;
    background: var(--color-gold);
}

.btn_with_arrow_box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 39px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    color: var(--color-accent);
    text-decoration: none;
    font-family: var(--font-alta) !important;
    font-size: 58.3px;
}

.btn_with_arrow_box a:hover img {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
}


/* ============================================================
   15. HOME — BANNERS
   ============================================================ */
section.lobster_banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

section.lobster_banner a {
    display: flex;
    width: 100%;
}

section.lobster_banner img {
    width: 100%;
}

section.lobster_banner.lobster_banner_about img.lobster_banner_desk {
    height: 42.2vw;
    object-fit: cover;
    object-position: top center;
}

img.lobster_banner_mob {
    display: none;
}


/* ============================================================
   16. HOME — 2-COLUMN SECTIONS
   ============================================================ */
section.home_2_col_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: var(--color-bg);
}

.home_2_col_section_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1700px;
    width: 100%;
    margin: auto;
    padding: 0 20px;
}

.home_2_col_row {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 220px 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 220px;
    width: 100%;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    padding: 210px 0px 100px 0px;
}

.col_desc {
    max-width: 565px;
}

.col_desc,
.col_desc p,
.col_desc h2 {
    margin: 0px;
    font-family: var(--font-ovo) !important;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-text);
}

span.text_yellow {
    color: var(--color-accent);
    font-family: var(--font-ovo) !important;
}


/* ============================================================
   17. HOME — QUOTE BLOCK
   ============================================================ */
.col_quote.col_quote_home {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.col_quote.col_quote_home span.quote {
    font-family: var(--font-tsars) !important;
    font-weight: 600;
    font-size: 31.2px;
    line-height: 1.4;
    color: var(--color-text);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 40px 28px;
    max-width: 565px;
}

.col_quote.col_quote_home span.quote:before {
    content: ' ';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 35px;
    height: 35px;
    background: url(/wemanage/wp-content/uploads/2026/07/1.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

span.quote_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% - 63px);
}

span.quote_author {
    font-family: var(--font-ovo);
    font-size: 16px;
    font-weight: 400;
    color: var(--color-text);
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
}

span.quote_author:before {
    content: ' ';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 1px;
    width: 25px;
    background: var(--color-text);
}


/* ============================================================
   18. HOME — LINE SECTION & PROCESS SECTION
   ============================================================ */
section.line_section {
    background: var(--color-bg);
    padding-bottom: 120px;
}

section.line_section.line_section_smaller_padding {
    padding-bottom: 82px;
}

section.line_section .btn_with_arrow_and_line {
    max-width: 1700px;
}

section.line_section .btn_with_arrow_and_line .btn_with_arrow_box a {
    font-size: 30px;
    gap: 35px;
}

section.line_section .btn_with_arrow_and_line .btn_with_arrow_box a img {
    width: 56px;
    height: 56px;
}

section.home_2_col_section.home_process_section .home_2_col_row {
    padding: 120px 0px 57px 0px;
    text-align: right;
}

span.desc_bold_text {
    font-family: var(--font-tsars);
    font-size: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 50px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}


/* ============================================================
   19. HOME — COUNTERS
   ============================================================ */
section.counter_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: var(--color-bg);
    padding-bottom: 120px;
}

.counter_section_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1400px;
    width: 100%;
    margin: auto;
    padding: 0 20px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.counter_col_grid_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
}

.counter_col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
    font-family: var(--font-ovo);
    font-size: 17px;
    text-transform: uppercase;
    color: var(--color-accent);
    line-height: 1.4;
    width: 33.3%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.counter_col_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
    font-family: var(--font-ovo);
    font-size: 17px;
    text-transform: uppercase;
    color: var(--color-accent);
    line-height: 1.4;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: unset;
}

.counter_col.projects_counter {
    border: solid 1px var(--color-gold);
    border-width: 0px 1px 0px 1px;
}

.counter_num {
    font-family: var(--font-alta);
    font-size: 86px;
    line-height: 90px;
    color: var(--color-gold);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.projects_counter .counter_num:after {
    content: '+';
    font-family: 'Ovo regular';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 70px;
    line-height: 30px;
    font-weight: 400;
}

.counter_col.rating_counter .counter_num {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.rating_counter .counter_num:after {
    content: ' ';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 30px;
    height: 30px;
    background: url(/wemanage/wp-content/uploads/2026/07/star.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}


/* ============================================================
   20. HOME — PORTFOLIO SLIDER
   ============================================================ */
section.portfolio_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: var(--color-bg);
    padding: 10px 32px 110px 32px;
}

.portfolio_swiper {
    padding-bottom: 30px;
}

.portfolio_slide_img {
    overflow: hidden;
    order: 2;
}

.portfolio_swiper .portfolio_slide_img img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

a.portfolio_slide_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    color: var(--color-accent);
    font-size: 21px;
    font-family: var(--font-tsars);
    text-transform: uppercase;
    font-weight: 400;
    line-height: 1.4;
    margin: 0px;
    text-decoration: unset;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

a.portfolio_slide_link:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

span.portfolio_slide_title {
    padding-bottom: 30px;
    order: 1;
}

.portfolio_section .portfolio_swiper .portfolio_pagination {
    bottom: 0px;
}

.portfolio_section .portfolio_swiper .portfolio_pagination span.swiper-pagination-bullet {
    width: 40px;
    border-radius: 0px;
    height: 3px;
    margin: 0px 2px;
    background: var(--color-text);
}

.portfolio_section .portfolio_swiper .portfolio_pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-accent-alt);
}


/* ============================================================
   21. PROJECTS — ROOM-TYPE SECTIONS & POST GRID
   ============================================================ */
.room_type_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0px 40px;
    background: var(--color-bg);
    width: 100%;
    scroll-margin-top: 100px;
}

.room_type_section .room_type_preview_title, .room_type_section .portfolio_posts {
    max-width: 1660px;
    margin: auto;
}

.room_type_section:first-child {
    padding-top: 80px;
}

section.line_section.room_type_line_section {
    padding: 80px 0px 55px 0px;
}

main.taxonomy_page section.room_type_section {
    padding-bottom: 100px;
}

.room_type_preview_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    padding-bottom: 65px;
    color: var(--color-accent);
    font-family: var(--font-tsars);
    font-size: 29px;
    line-height: 1.4;
}

.room_type_preview_title h3 {
    margin: 0px;
    color: var(--color-accent);
    font-family: var(--font-tsars);
    font-size: 40px;
    line-height: 1.4;
    font-weight: 400;
}

.portfolio_posts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 60px 30px;
    justify-content: space-between;
}

.portfolio_posts .portfolio_item {
    width: calc(25% - 25px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.portfolio_posts .portfolio_item:nth-child(7n+1) {
    width: calc(50% - 10px);
}

.portfolio_posts .portfolio_item span.portfolio_item_desc {
    display: none;
}

.portfolio_posts .portfolio_item:nth-child(7n+1) span.portfolio_item_desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.portfolio_posts .portfolio_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    text-decoration: unset;
}

.portfolio_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    overflow: hidden;
}

.portfolio_posts .portfolio_item a img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 27.8vw;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.portfolio_posts .portfolio_item a:hover img {
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.portfolio_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 30px 0px 15px 0px;
    gap: 15px;
}

span.portfolio_item_title {
    color: var(--color-text);
    text-transform: uppercase;
    font-family: var(--font-tsars);
    font-size: 18px;
    line-height: 1.4;
}

span.portfolio_item_desc {
    color: var(--color-text);
    font-family: var(--font-ovo);
    font-size: 17px;
    line-height: 1.4;
}

.portfolio_bottom {
    font-family: var(--font-ovo);
    font-size: 16px;
    color: var(--color-text);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 25px;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* ============================================================
   22. SINGLE PORTFOLIO — BANNER SLIDER
   ============================================================ */
.portfolio_banner {
    position: relative;
}

.portfolio_banner_back_link {
    position: absolute;
    top: 40px;
    left: 20px;
    z-index: 2;
}

.portfolio_banner_back_link a {
    color: #fff;
    margin: 0px;
    font-family: var(--font-tsars);
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-transform: uppercase;
    text-decoration: unset;
    border-bottom: solid 1px #fff;
}

.portfolio_banner_slider {
    position: relative;
}

.portfolio_banner_slider .swiper-slide img {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.portfolio_banner_overlay {
    position: absolute;
    inset: 0;
    background: rgb(80 75 75 / 37%);
    z-index: 2;
    pointer-events: none;
}

.portfolio_banner_content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
    padding: 0px 80px;
    gap: 20px;
}

.portfolio_banner_content h1 {
    color: #fff;
    margin: 0px;
    font-family: var(--font-tsars);
    font-weight: 400;
    font-size: 30px;
    line-height: 1.4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-transform: uppercase;
    max-width: 1200px;
}

.portfolio_banner_content .portfolio_banner_meta {
    color: #fff;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 400;
    font-family: var(--font-alta);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    letter-spacing: 2px;
}

.portfolio_banner_features h2 {
    margin: 0px;
    color: #fff;
    font-family: var(--font-ovo);
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;
    max-width: 1200px;
}

/* ---- Slider arrows ---- */
.portfolio_slider_prev,
.portfolio_slider_next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 4;
    cursor: pointer;
}

.portfolio_slider_prev {
    left: 30px;
}

.portfolio_slider_prev_link {
    left: 30px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 4;
    cursor: pointer;
}

.portfolio_slider_next {
    right: 30px;
}

.portfolio_slider_next_link {
    right: 30px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 4;
    cursor: pointer;
}

.portfolio_slider_prev img,
.portfolio_slider_next img {
    border: solid 1px #f1f1f1bf;
    border-radius: 100%;
    width: 45px;
    height: 45px;
    display: block;
}

.portfolio_slider_prev_link img, .portfolio_slider_next_link img {
    border: solid 1px #f1f1f1bf;
    border-radius: 100%;
    width: 45px;
    height: 45px;
    display: block;
}


/* ============================================================
   23. SINGLE PORTFOLIO — GALLERY GRID
   ============================================================ */
section.portfolio_gallery {
    padding: 0px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.portfolio_gallery_grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

.portfolio_gallery_item {
    width: calc(33.333% - 13.4px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.portfolio_gallery_item:nth-child(8n+1) {
    width: calc(66.666% - 6.6px);
}

.portfolio_gallery_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
}

.portfolio_gallery_item img {
    width: 100%;
    height: 50vw;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.portfolio_gallery_item a:hover img {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04);
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

/* Magnific Popup arrow reset */
body.single-portfolio .mfp-arrow.mfp-arrow-left:before,
body.single-portfolio .mfp-arrow.mfp-arrow-right:before {
    content: '';
    background-color: transparent !important;
}


/* ============================================================
   24. SINGLE PORTFOLIO — PREV / NEXT NAV
   ============================================================ */
.portfolio_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    padding: 100px 50px;
}

.portfolio_nav_prev a,
.portfolio_nav_next a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    color: var(--color-accent);
    font-family: var(--font-alta);
    font-size: 25px;
    line-height: 1.4;
    text-decoration: unset;
}

.portfolio_nav_next a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.portfolio_nav_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.portfolio_nav_next a span.portfolio_nav_label {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.portfolio_nav_title {
    display: block;
}

span.portfolio_nav_label img {
    width: 25px;
    height: 25px;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

.portfolio_nav_prev a:hover img,
.portfolio_nav_next a:hover img {
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}


/* ============================================================
   25. SHARED — "MORE FEATURES" TEXT BLOCK
   (single portfolio + about page intro + single post body)
   ============================================================ */
section.portfolio_more_features {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: #fff;
    padding: 200px 20px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

section.portfolio_more_features.portfolio_about_more_features {
    padding: 350px 20px;
}

section.portfolio_more_features .about_page_team_section_title.room_type_preview_title {
    text-transform: uppercase;
}

.portfolio_more_features_inner {
    color: var(--color-text);
    font-family: 'Ovo regular', s;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 400;
    max-width: 1400px;
}


/* ============================================================
   26. ABOUT — TEAM GRID
   ============================================================ */
section.about_page_team_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: var(--color-bg);
}

.about_page_team_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1600px;
    margin: auto;
    padding: 65px 20px 100px 20px;
}

.about_page_team_section_title.room_type_preview_title {
    padding-bottom: 65px;
}

.about_page_team_section_title.room_type_preview_title h3 {
    font-size: 42px;
}

.about_page_team_grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 185px 20px;
}

.team_grid_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.team_grid_item .team_img,
.team_grid_item img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 340px;
    object-fit: cover;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.team_grid_item .team_img {
    overflow: hidden;
}

.team_grid_item:hover .team_img img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

.team_grid_item .team_name {
    color: var(--color-gold);
    font-family: var(--font-tsars);
    padding-top: 20px;
    line-height: 1.4;
    text-transform: uppercase;
    font-weight: 600;
}

.team_position {
    color: var(--color-text);
    font-family: 'Ovo regular', s;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
    padding-top: 5px;
}


/* ============================================================
   27. ABOUT — SERVICES
   ============================================================ */
section.about_services_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    /*background: var(--color-bg);*/
}

.about_page_services_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1600px;
    margin: auto;
    padding: 65px 20px 100px 20px;
}

.about_page_services_section_title.room_type_preview_title {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-bottom: 55px;
}

.about_page_services_section_title.room_type_preview_title h3 {
    font-size: 42px;
}

.about_page_services_content_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}

.about_page_services_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 40px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px 0px 50px 0px;
}

.about_page_services_gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 50%;
    padding-left: 200px;
    gap: 50px;
}

.about_page_services_gallery img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

.our_service_title,
.our_service_title a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: var(--color-gold);
    font-family: var(--font-tsars);
    font-size: 19px;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: unset;
}

.our_service_title a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}

.our_service_title a:after {
    content: ' ';
    background: url(/wemanage/wp-content/uploads/2026/07/2.webp);
    width: 35px;
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-size: contain;
    border: solid 1px var(--color-gold);
    border-radius: 100%;
}

.our_service_description {
    display: block;
    width: 100%;
    padding-top: 30px;
    font-family: var(--font-ovo);
    font-size: 17px;
    line-height: 1.4;
    color: var(--color-text);
}

.our_service_description a {
    color: var(--color-accent);
    text-decoration: unset;
}


/* ============================================================
   28. ABOUT — PROCESS
   ============================================================ */
section.about_process_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: var(--color-bg);
}

.about_page_process_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1400px;
    margin: auto;
    padding: 65px 20px 100px 20px;
}

.about_page_process_section_title.room_type_preview_title h3 {
    font-size: 42px;
}

.about_page_process_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 100px;
    width: 100%;
}

.our_process_grid_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    gap: 40px;
}

.our_process_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 35%;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-transform: uppercase;
    color: var(--color-gold);
    font-family: var(--font-tsars);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    text-align: right;
}

.our_process_description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 65%;
    color: var(--color-text);
    font-family: var(--font-ovo);
    font-size: 17px;
    line-height: 1.4;
}

section.line_section.line_section_portfolio_about {
    padding-bottom: 60px;
    padding-top: 60px;
}


/* ============================================================
   29. PRESS — LOGO ICONS
   ============================================================ */
section.press_page_icons_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.press_page_icons_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 1500px;
    margin: auto;
    padding: 100px 20px;
}

.press_page_icons_grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    gap: 100px 30px;
}

.press_page_icon_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(30% - 10px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.press_page_icon img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 50px;
    -o-object-fit: contain;
    object-fit: contain;
}


/* ============================================================
   30. PRESS — PRESS GRID
   ============================================================ */
section.press_page_press_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

section.press_page_press_section.press_page_press_section_with_back .press_page_press_container {
    flex-direction: column;
}

.press_page_press_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 1700px;
    margin: auto;
    padding: 0px 40px;
}

.press_page_press_grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 30px 1fr 30px 1fr 30px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 100px 30px;
    width: 100%;
}

/* Center incomplete last row — 4 columns */

/* 1 post in the last row */
.press_page_press_grid:has(> :last-child:nth-child(4n + 1)) > :last-child {
    grid-column: 2;
}

/* 2 posts in the last row */
.press_page_press_grid:has(> :last-child:nth-child(4n + 2)) > :nth-last-child(2) {
    grid-column: 2;
}

.press_page_press_grid:has(> :last-child:nth-child(4n + 2)) > :last-child {
    grid-column: 3;
}

/* 3 posts in the last row */
.press_page_press_grid:has(> :last-child:nth-child(4n + 3)) > :nth-last-child(3) {
    grid-column: 1;
}

.press_page_press_grid:has(> :last-child:nth-child(4n + 3)) > :nth-last-child(2) {
    grid-column: 2;
}

.press_page_press_grid:has(> :last-child:nth-child(4n + 3)) > :last-child {
    grid-column: 3;
}


a.press_page_press_grid_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-decoration: unset;
}

.press_page_press_grid_item_image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    overflow: hidden;
}

.press_page_press_grid_item_image img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 28.35vw;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

a.press_page_press_grid_item:hover img {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04);
    -webkit-transition: var(--transition-slow);
    transition: var(--transition-slow);
}

h3.press_page_press_grid_item_title {
    margin: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: var(--font-tsars);
    color: var(--color-text);
    line-height: 1.4;
    text-transform: uppercase;
    font-size: 18px;
    padding-top: 20px;
    font-weight: 400;
    text-align: center;
}

span.press_page_press_grid_item_year {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: var(--font-alta);
    font-size: 16px;
    color: var(--color-text);
    line-height: 1.4;
    padding-top: 5px;
}


/* ============================================================
   31. PRESS — REVIEWS SLIDER
   ============================================================ */
section.press_page_reviews_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    padding: 0px 0px 0px 0px;
}

section.press_page_press_section.press_page_press_section_with_back {
    padding: 100px 0px;
    background: #f4f2ee;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    border-bottom: solid 12px var(--color-gold);
    border-top: solid 12px var(--color-gold);
}

.press_page_press_title.room_type_preview_title.room_type_featured_preview_title {
    padding-bottom: 100px;
    text-align: center;
}

.press_page_reviews_title.room_type_preview_title {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 1500px;
    margin: auto;
    padding: 0px 20px 20px 20px;
}

.press_page_reviews_title.room_type_preview_title h3,
.blog_title.room_type_preview_title h3 {
    font-size: 44px;
}

.press_page_reviews_overlay {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.press_page_reviews_container {
    width: 100%;
    max-width: 1700px;
    margin: auto;
    padding: 120px 20px;
}

.press-reviews-slider-wrap {
    position: relative;
    padding: 0 60px;
}

.press-review-slide {
    background: var(--color-bg);
    opacity: 0.93;
    padding: 90px 40px 90px 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    border-radius: 35px;
}

.press-review-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: var(--font-tsars);
    text-transform: uppercase;
    color: var(--color-text);
    font-size: 14px;
    line-height: 1.4;
}

.press-review-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: var(--font-alta);
    color: var(--color-text);
    font-size: 13px;
    line-height: 1.4;
    padding-top: 3px;
}

.press-review-content {
    padding: 25px 0px;
}

.press-review-content,
.press-review-content p {
    margin: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    color: var(--color-text);
    font-family: var(--font-ovo);
    font-size: 13.6px;
    line-height: 1.4;
}

.press-review-star {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
}

.press-review-star img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 40px;
    height: 40px;
}

/* ---- Reviews arrows ---- */
.press-reviews-arrow {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: solid 1px #f1f1f1bf;
    border-radius: 100%;
    cursor: pointer;
    z-index: 5;
}

.press-reviews-prev {
    left: 0;
    background-image: url('https://www.chirenovation.com/wemanage/wp-content/uploads/2026/07/arrow-left.webp');
}

.press-reviews-next {
    right: 0;
    background-image: url('https://www.chirenovation.com/wemanage/wp-content/uploads/2026/07/arrow-right.webp');
}

.press-reviews-arrow.swiper-button-lock {
    display: none;
}


/* ============================================================
   32. BLOG — CARD GRID
   ============================================================ */
section.blog_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.blog_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    max-width: 1580px;
    margin: auto;
    padding: 20px;
}

.blog_container.blog_container_with_padding {
    padding-top: 90px;
}

.blog_title.room_type_preview_title {
    padding-bottom: 90px;
}

.blog_grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0px;
    width: 100%;
}

.blog_grid_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 50px;
}

/* Alternating card colours */
.blog_grid_item:nth-child(odd) {
    background: var(--color-gold);
}

.blog_grid_item:nth-child(even) {
    background: var(--color-bg);
}

.blog_grid_item:nth-child(odd) .post_content,
.blog_grid_item:nth-child(odd) .post_content a {
    color: #fff;
    text-decoration: unset;
}

.blog_grid_item:nth-child(even) .post_content,
.blog_grid_item:nth-child(even) .post_content a {
    color: var(--color-gold);
    text-decoration: unset;
}

.blog_grid_item_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
}

.blog_grid_item_container .post_image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(55% - 15px);
}

.blog_grid_item_container .post_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(45% - 15px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px 0px;
}

.blog_grid_item_container .post_image a {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.blog_grid_item_container .post_image a,
.blog_grid_item_container .post_image a img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
}

/* Desktop shows the CSS background on the <a>; the <img> is hidden here and
   re-enabled at <=767px (see section 38). Keep this rule AFTER the grouped
   rule above — the order is what makes the override work. */
.blog_grid_item_container .post_image a img {
    display: none;
}

.post_title a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    font-family: var(--font-tsars);
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.4;
    padding-bottom: 8px;
}

.post_date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    font-family: var(--font-alta);
    font-size: 18px;
    line-height: 1.4;
    padding-bottom: 25px;
}

.post_description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    font-family: var(--font-ovo);
    font-size: 16px;
    line-height: 1.4;
}

/* Mobile-only shorter excerpt (revealed at <=767px) */
.post_description.post_description_mob {
    display: none;
}

.post_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    padding-top: 20px;
}

.post_link a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.blog_grid_item:nth-child(odd) .post_link svg {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    border: solid 1px #f1f1f1bf;
    border-radius: 100%;
}

.blog_grid_item:nth-child(even) .post_link svg {
    border: solid 1px var(--color-gold);
    border-radius: 100%;
}

section.line_section.line_section_press_blog {
    background: #fff;
    padding-top: 40px;
    padding-bottom: 40px;
}

.blog_title.room_type_preview_title.blog_page_title {
    padding-top: 40px;
}

.blog_load_more_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 50px 0px;
}

.blog_load_more_wrap button#wm_blog_load_more {
    background: var(--color-gold);
    color: #fff;
    border: none;
    padding: 10px 40px;
    font-family: 'Alta regular';
    font-size: 18px;
    font-weight: 400;
    cursor: pointer;
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

.blog_load_more_wrap button#wm_blog_load_more:hover {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-transition: var(--transition-fast);
    transition: var(--transition-fast);
}

body.blog .footer_banner,
body.single-post .footer_banner {
    display: none;
}


/* ============================================================
   33. BLOG — SINGLE POST CONTENT & INLINE FORM
   ============================================================ */
.portfolio_banner_slider.single_post_banner_media img.single_post_banner_img.wp-post-image {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    -o-object-position: center center;
    object-position: center center;
}

section.portfolio_more_features.single_post_content {
    padding: 50px 20px;
    max-width: 1400px;
    margin: auto;
    width: 100%;
}

.portfolio_more_features_inner.single_post_content_inner {
    text-align: left;
}

.portfolio_more_features_inner.single_post_content_inner h1,
.portfolio_more_features_inner.single_post_content_inner h2,
.portfolio_more_features_inner.single_post_content_inner h3 {
    font-family: var(--font-tsars);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}

.portfolio_more_features_inner.single_post_content_inner p,
.portfolio_more_features_inner.single_post_content_inner span,
.portfolio_more_features_inner.single_post_content_inner a {
    font-family: var(--font-ovo);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.portfolio_more_features_inner.single_post_content_inner a {
    text-decoration: unset;
    color: var(--color-accent);
}

.portfolio_more_features_inner.single_post_content_inner img {
    width: 100%;
}

/* ---- Inline CF7 form inside post body ---- */
.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px 12px;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form hr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    font-family: var(--font-tsars);
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.4;
    margin: 0px;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form > p > strong {
    font-family: var(--font-tsars);
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.4;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-md-4,
.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-sm-4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(30% - 4px);
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-md-4 p,
.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-sm-4 p {
    margin: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-md-4 p span,
.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-sm-4 p span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-md-4 input,
.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-sm-4 input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border: solid 1px var(--color-accent-alt);
    padding: 0px 20px;
    font-family: var(--font-ovo);
    height: 60px;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-sm-4 input.wpcf7-submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border: solid 1px var(--color-accent-alt);
    padding: 0px 20px;
    font-family: var(--font-ovo);
    height: 60px;
    background: var(--color-accent-alt);
    color: #fff !important;
    text-transform: uppercase;
    cursor: pointer;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form span.wpcf7-spinner {
    position: absolute;
    margin-top: 15px;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
}

.portfolio_more_features_inner.single_post_content_inner form.wpcf7-form span.wpcf7-not-valid-tip {
    position: absolute;
    padding: 0px 20px;
}


/* ============================================================
   34. MISC — ADMIN BAR / BODY-TEMPLATE OVERRIDES
   ============================================================ */
div#wpadminbar + header.site-header-new {
    top: 32px;
}

body.page-template-contact-template .footer_banner,
body.single-portfolio .footer_banner {
    display: none;
}


/* ============================================================
   35. CONTACT PAGE
   ============================================================ */
section.contact_page_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    background: #fff;
}

.contact_page_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1700px;
    width: 100%;
    margin: auto;
    padding: 120px 20px;
}

.contact_page_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 140px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.contact_page_col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.contact_page_col.contact_page_col_text {
    width: calc(45% - 70px);
    -ms-flex-line-pack: end;
    align-content: flex-end;
}

.contact_page_col.contact_page_col_form {
    width: calc(55% - 70px);
}

.contact_page_text_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 500px;
}

.contact_page_text_bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 500px;
}

.contact_page_title h1 {
    margin: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: var(--color-accent-alt);
    font-family: var(--font-tsars);
    font-size: 45px;
    font-weight: 400;
    line-height: 1.03;
    text-transform: uppercase;
}

.contact_page_desc h2 {
    color: var(--color-text);
    font-family: var(--font-ovo);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0px;
    padding-top: 20px;
}

.contact_page_seperator {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 70px 0px 60px 0px;
}

.contact_seperator {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 1px;
    background: var(--color-gold);
    position: absolute;
    left: 0px;
    width: calc(45% - 70px);
}

.contact_page_text_bottom .footer_container_info {
    padding: 0px;
}

.contact_page_text_bottom .footer_container_info .footer_info_item,
.contact_page_text_bottom .footer_container_info .footer_info_item a {
    color: var(--color-text);
}

.contact_page_text_bottom .footer_container_info .footer_info_item {
    display: none;
}

.contact_page_text_bottom .footer_container_info .footer_info_item:first-child,
.contact_page_text_bottom .footer_container_info .footer_info_item:nth-child(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.contact_page_text_bottom .footer_container_socials {
    padding: 60px 0px 0px 0px;
    gap: 20px;
}

.contact_page_text_bottom .footer_container_socials img {
    width: 25px;
    height: 25px;
}

/* ---- Contact form (CF7) ---- */
.contact_page_form form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 15px 30px;
    max-width: 680px;
}

.contact_page_form form .col-sm-6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(50% - 15px);
}

.contact_page_form form .col-sm-6 p,
.contact_page_form form .col-sm-6 span,
.contact_page_form form .col-sm-6 input,
.contact_page_form form .col-sm-6 select,
.contact_page_form form .col-sm-6 label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0px;
    gap: 15px;
}

.contact_page_form form .col-sm-12,
.contact_page_form form .col-sm-12 p,
.contact_page_form form .col-sm-12 span,
.contact_page_form form .col-sm-12 textarea,
.contact_page_form form .col-sm-12 label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0px;
    gap: 15px;
}

.contact_page_form form label {
    font-family: var(--font-tsars);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--color-accent-alt);
}

.contact_page_form form input {
    background: #f7f4ee;
    height: 60px;
    border: none;
    border-bottom: solid 1px var(--color-gold);
    outline: unset;
    color: var(--color-text);
    padding: 0px 15px;
}

.contact_page_form form input::-webkit-input-placeholder {
    opacity: 0.6;
    font-style: italic;
}

.contact_page_form form input::-moz-placeholder {
    opacity: 0.6;
    font-style: italic;
}

.contact_page_form form input:-ms-input-placeholder {
    opacity: 0.6;
    font-style: italic;
}

.contact_page_form form input::-ms-input-placeholder {
    opacity: 0.6;
    font-style: italic;
}

.contact_page_form form input::placeholder {
    opacity: 0.6;
    font-style: italic;
}

.contact_page_form form .col-sm-12 textarea {
    background: #f7f4ee;
    height: 120px;
    border: none;
    border-bottom: solid 1px var(--color-gold);
    outline: unset;
    color: var(--color-text);
    padding: 15px;
}

.contact_page_form form .form_button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.contact_page_form form .form_button p {
    margin: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.contact_page_form form .form_button input.wpcf7-submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0px !important;
    background: var(--color-gold);
    border: none !important;
    color: #fff !important;
    font-family: var(--font-ovo) !important;
    text-transform: uppercase;
    font-size: 20px;
    width: 210px;
    height: 60px;
    cursor: pointer;
}

.contact_page_form form .wpcf7-response-output {
    margin: 0px;
}

.contact_page_form form .col-sm-6 select {
    background: #f7f4ee;
    height: 60px;
    line-height: 60px;
    border: none;
    border-bottom: solid 1px var(--color-gold);
    outline: unset;
    color: var(--color-text);
    padding: 0px 40px 0px 15px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' stroke='%23d0bb90' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 14px 9px;
    cursor: pointer;
}

.contact_page_form form .col-sm-6 select::-ms-expand {
    display: none;
}

.contact_page_form form .col-sm-6 select.wpcf7-placeholder {
    opacity: 0.6;
    font-style: italic;
}

/* reset styling for all options in the dropdown list */
.contact_page_form form .col-sm-6 select option {
    opacity: 1;
    font-style: normal;
    color: var(--color-text);
}

.awards_banner_section {
    position: relative;
    width: 100%;
    min-height: 520px;
    overflow: hidden;
}

.awards_banner_bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.awards_banner_bg_mobile {
    display: none;
}

.awards_banner_content {
    position: relative;
    z-index: 2;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 1580px;
    margin: auto;
    padding: 200px 20px 130px 20px;
}

.awards_banner_title {
    color: var(--color-accent);
    font-family: var(--font-tsars);
    font-size: 78.5px;
    text-transform: uppercase;
    letter-spacing: 9px;
    line-height: 1.4;
    margin: 0px;
    font-weight: 600;
}

.awards_banner_icons {
    margin-top: auto;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 15px;
    padding-top: 230px;
}

.awards_banner_icon_item a,
.awards_banner_icon_item img {
    display: block;
    height: 106px;
    width: auto;
}


/* ============================================================
   36. RESPONSIVE — TABLET / LAPTOP (<= 1300px)
   ============================================================ */
@media screen and (max-width: 1300px) {
    /*.press_page_video_reviews_section {*/
    /*    padding: 40px 0px 0px 0px;*/
    /*}*/
    section.press_page_video_reviews_section .press_page_reviews_title.room_type_preview_title {
        padding: 0px 0px 40px 0px;
    }
    section.press_page_video_reviews_section .press_page_reviews_title.room_type_preview_title h3 {
        font-size: 20px;
    }
    .video-review-text {
        padding: 20px 0px;
    }

    .awards_banner_title {
        font-size: 40px;
    }
    .awards_banner_content {
        padding: 100px 20px;
    }
    .awards_banner_icons {
        padding-top: 100px;
    }

    .contact_us_float_btn {
        right: 0px;
    }
    .contact_us_float_btn a img {
        width: 200px;
    }

    /* ---- Projects grid ---- */
    .room_type_section {
        padding: 0px 20px;
    }
    section.line_section.room_type_line_section {
        padding: 40px 0px 60px 0px;
    }
    section.line_section.room_type_line_section.room_type_line_section_padding {
        padding: 40px 0px 25px 0px;
    }
    main.taxonomy_page section.room_type_section {
        padding-bottom: 60px;
    }
    .room_type_section.room_type_section_padding:first-child {
        padding-top: 40px;
    }
    .room_type_preview_title {
        padding-bottom: 40px;
    }
    .portfolio_posts {
        gap: 40px 20px;
    }
    .portfolio_posts .portfolio_item {
        width: calc(25% - 15px);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .portfolio_posts .portfolio_item a img {
        height: 35vw;
    }
    .portfolio_top {
        padding: 20px 0px 15px 0px;
        gap: 10px;
    }
    span.portfolio_item_title {
        font-size: 14px;
    }
    span.portfolio_item_desc {
        font-size: 15px;
    }
    .portfolio_bottom {
        font-size: 14px;
    }

    /* ---- Contact page ---- */
    .contact_page_row {
        gap: 60px;
    }
    .contact_page_container {
        padding: 60px 20px;
    }

    /* ---- Press page ---- */
    .press_page_icons_container {
        padding: 60px 20px;
    }
    .press_page_icon img {
        height: 40px;
    }
    .press_page_press_container {
        padding: 0px 20px;
    }
    .press_page_press_grid {
        gap: 50px 20px;
    }
    h3.press_page_press_grid_item_title {
        font-size: 14px;
    }
    section.press_page_reviews_section {
        padding: 0px 0px 0px 0px;
    }
    .press-review-slide {
        padding: 40px;
    }

    /* ---- Blog cards ---- */
    .blog_grid_item {
        padding: 20px;
    }
    .blog_grid_item_container {
        gap: 20px;
    }
    .blog_grid_item_container .post_image {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: calc(50% - 10px);
    }
    .blog_grid_item_container .post_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: calc(50% - 10px);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 20px 0px;
    }

}


/* ============================================================
   37. RESPONSIVE — TABLET / MOBILE (<= 1024px)
   ============================================================ */
@media screen and (max-width: 1024px) {

    /* ---- Header ---- */
    .header_burger {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .header_container {
        padding: 18px 20px;
        position: relative;
    }

    .header_logo_col a.site-header-new__title {
        font-size: 34px;
    }

    /* Keep sticky logo readable on mobile (override desktop 38px) */
    .site-header-new.is-sticky .header_logo_col a.site-header-new__title {
        font-size: 28px;
    }

    /* Menu column -> absolute overlay panel (does NOT push content) */
    .header_menu_col {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--color-bg);
        -webkit-box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: max-height 0.3s ease, opacity 0.25s ease, visibility 0.3s;
        transition: max-height 0.3s ease, opacity 0.25s ease, visibility 0.3s;
        z-index: 1000;
    }

    body.menu-open .header_menu_col {
        max-height: calc(100vh - 100%);
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
    }

    /* Top-level menu -> vertical stack */
    .header_menu_col .site-header-new__menu {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0;
        padding: 10px 20px 20px;
    }

    .header_menu_col .site-header-new__menu > li.menu-item {
        border-bottom: 1px solid var(--color-border-light);
    }

    .header_menu_col .site-header-new__menu li.menu-item a {
        padding: 14px 4px;
        font-size: 16px;
    }

    /* Parent link row: make space for the chevron */
    .header_menu_col .site-header-new__menu li.menu-item-has-children > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    /* Show chevron (pure-CSS arrow) */
    .header_menu_col .site-header-new__menu .menu-chevron {
        display: inline-block;
        width: 9px;
        height: 9px;
        margin-left: 12px;
        border-right: 2px solid var(--color-text);
        border-bottom: 2px solid var(--color-text);
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transition: -webkit-transform 0.25s ease;
        transition: -webkit-transform 0.25s ease;
        transition: transform 0.25s ease;
        transition: transform 0.25s ease, -webkit-transform 0.25s ease;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        position: relative;
        top: -2px;
    }

    /* Enlarge the chevron's tap target without moving the arrow */
    .header_menu_col .site-header-new__menu .menu-chevron::after {
        content: '';
        position: absolute;
        top: -22px;
        right: -22px;
        bottom: -22px;
        left: -22px;
        /* counter-rotate so the box stays square despite the parent's 45deg */
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    /* Rotate chevron when open */
    .header_menu_col .site-header-new__menu li.is-open > a .menu-chevron {
        -webkit-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        transform: rotate(-135deg);
        top: 2px;
    }

    /* Submenu -> static, hidden until parent opened */
    .header_menu_col .site-header-new__menu .sub-menu {
        position: static;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        display: none;
        opacity: 1;
        visibility: visible;
        min-width: 100%;
        text-align: left;
        padding: 0 0 8px 16px;
        background: transparent;
    }

    .header_menu_col .site-header-new__menu .sub-menu a {
        padding: 10px 4px;
    }

    /* Reveal submenu on tap (.is-open added via JS) */
    .header_menu_col .site-header-new__menu li.is-open > .sub-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    /* Disable desktop hover-reveal on mobile */
    .header_menu_col .site-header-new__menu li:hover > .sub-menu,
    .header_menu_col .site-header-new__menu li:focus-within > .sub-menu {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }

    /* ---- Footer CTA scaled down ---- */
    .btn_with_arrow_box a {
        font-size: 30px;
        gap: 20px;
    }

    .btn_with_arrow_and_line {
        padding-right: 20px;
        gap: 20px;
    }

    .btn_with_arrow_and_line img {
        width: 40px;
        height: 40px;
    }

    .team_grid_item .team_img, .team_grid_item img {
        height: 210px;
    }

    /* ---- Home sections ---- */
    .home_2_col_row {
        gap: 50px;
        padding: 60px 0px 40px 0px;
    }

    section.line_section {
        padding-bottom: 60px;
    }

    section.line_section .btn_with_arrow_and_line .btn_with_arrow_box a {
        font-size: 25px;
        gap: 15px;
    }

    section.line_section .btn_with_arrow_and_line .btn_with_arrow_box a img {
        width: 35px;
        height: 35px;
    }

    section.home_2_col_section.home_process_section .home_2_col_row {
        gap: 50px;
        padding: 60px 0px 40px 0px;
    }

    section.portfolio_section {
        padding: 10px 20px 40px 20px;
    }

    span.portfolio_slide_title {
        padding-top: 15px;
        font-size: 16px;
    }

    section.counter_section {
        padding-bottom: 60px;
    }

    .counter_col, .counter_col_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5px;
        text-align: center;
    }


    /* ---- Projects grid reflow ---- */
    .portfolio_posts .portfolio_item:nth-child(3n+1) {
        width: 100%;
    }
    .portfolio_posts .portfolio_item {
        width: calc(50% - 10px);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .portfolio_posts .portfolio_item:nth-child(7n+1) {
        width: unset;
    }
    .portfolio_posts .portfolio_item:nth-child(3n+1) span.portfolio_item_desc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    /* ---- Contact page stacks ---- */
    .contact_page_col.contact_page_col_text {
        width: 100%;
    }
    .contact_page_text_top {
        max-width: 100%;
    }
    .contact_page_seperator {
        padding: 30px 0px 30px 0px;
    }
    .contact_page_text_bottom {
        max-width: 100%;
    }
    .contact_seperator {
        width: calc(85% - 0px);
    }
    .contact_page_col.contact_page_col_form {
        width: 100%;
    }
    .contact_page_form form {
        max-width: 100%;
        gap: 15px;
    }
    .contact_page_form form .col-sm-6 {
        width: calc(50% - 7.5px);
    }
    .contact_page_title h1 {
        font-size: 30px;
    }

    /* ---- Single portfolio banner ---- */
    .portfolio_banner_slider .swiper-slide img {
        height: 80vh;
    }
    .portfolio_banner_content {
        padding: 0px 50px;
        gap: 15px;
    }
    .portfolio_banner_content h1 {
        font-size: 16px;
    }
    .portfolio_banner_content .portfolio_banner_meta {
        font-size: 16px;
    }
    .portfolio_banner_features h2 {
        font-size: 15px;
    }
    .portfolio_slider_prev, .portfolio_slider_prev_link {
        left: 10px;
    }
    .portfolio_slider_next, .portfolio_slider_next_link {
        right: 10px;
    }
    .portfolio_slider_prev img,
    .portfolio_slider_next img,
    .portfolio_slider_prev_link img,
    .portfolio_slider_next_link img
    {
        width: 35px;
        height: 35px;
    }

    /* ---- Single portfolio nav ---- */
    section.portfolio_nav {
        padding: 60px 20px;
    }
    .portfolio_nav_prev a,
    .portfolio_nav_next a {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        font-size: 14px;
        gap: 2px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    span.nav_separator {
        display: none;
    }
    .portfolio_nav_label {
        gap: 10px;
    }
    span.portfolio_nav_label img {
        width: 15px;
        height: 15px;
        padding-bottom: 3px;
    }

    /* ---- Single portfolio gallery ---- */
    section.portfolio_more_features {
        padding: 60px 20px;
    }
    section.portfolio_more_features.portfolio_about_more_features {
        padding: 100px 20px;
    }
    .portfolio_gallery_grid {
        gap: 10px;
    }
    .portfolio_gallery_item:nth-child(7n+1) {
        width: 100% !important;
    }
    .portfolio_gallery_item {
        width: calc(50% - 5px);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .portfolio_gallery_item img {
        height: 70vw;
    }
    .portfolio_gallery_item:nth-child(8n+1) {
        width: calc(50% - 5px);
    }

    /* ---- About page ---- */
    .about_page_team_container {
        padding: 40px 20px 60px 20px;
    }
    .about_page_team_grid {
        gap: 60px 20px;
    }
    .about_page_team_section_title.room_type_preview_title h3,
    .about_page_services_section_title.room_type_preview_title h3,
    .about_page_process_section_title.room_type_preview_title h3 {
        font-size: 30px;
    }
    .about_page_team_section_title.room_type_preview_title,
    .about_page_services_section_title.room_type_preview_title,
    .about_page_process_section_title.room_type_preview_title {
        padding-bottom: 40px;
    }
    .about_page_services_content {
        width: 100%;
        padding: 0px;
    }
    .about_page_services_gallery {
        display: -ms-grid;
        display: grid;
        width: 100%;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
        padding: 0px;
        padding-top: 40px;
    }
    .about_page_services_gallery img {
        height: 100%;
    }
    .our_process_grid_item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 20px;
    }
    .our_process_title {
        width: 100%;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: left;
    }
    .our_process_description {
        width: 100%;
    }
    .about_page_process_content {
        gap: 50px;
    }
    section.line_section.line_section_portfolio_about {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    /* ---- Press page ---- */
    .press_page_icons_grid {
        gap: 50px 20px;
    }
    .press_page_press_grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 60px 30px;
        width: 100%;
    }

    .press_page_press_grid > * {
        width: calc((100% - 60px) / 3);
        max-width: calc((100% - 60px) / 3);
    }


    .press_page_press_grid_item_image img {
        height: 38.8vw;
    }
    .press_page_reviews_title.room_type_preview_title h3,
    .blog_title.room_type_preview_title h3 {
        font-size: 30px;
    }

    /* ---- Blog ---- */
    .post_title a {
        font-size: 16px;
    }
    .post_date {
        font-size: 15px;
        padding-bottom: 20px;
    }
    .portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-md-4,
    .portfolio_more_features_inner.single_post_content_inner form.wpcf7-form .col-sm-4 {
        width: 100%;
    }
    .portfolio_banner_back_link {
        top: 30px;
        left: 20px;
    }
    .portfolio_banner_back_link a {
        font-size: 14px;
    }
    .footer_site_title {
        font-size: 28px;
    }

}


/* ============================================================
   38. RESPONSIVE — MOBILE (<= 767px)
   ============================================================ */
@media screen and (max-width: 767px) {

    /* ---- Header ---- */
    .site-header-new__inner {
        border-bottom: solid 6px var(--color-gold);
    }

    .header_logo_col a.site-header-new__title {
        font-size: 26px;
    }

    /* ---- Footer ---- */
    .footer_container_top {
        border-top: solid 6px var(--color-gold);
    }

    .footer_container_info {
        gap: 15px;
        padding: 40px 0 20px 0;
    }

    .footer_info_item,
    .footer_info_item a {
        font-size: 14px;
        gap: 10px;
    }

    .footer_info_item img {
        width: 25px;
        height: 25px;
    }

    .footer_container_socials {
        gap: 10px;
        padding-bottom: 40px;
    }

    .footer_container_socials img {
        width: 25px;
        height: 25px;
    }

    .team_grid_item .team_img, .team_grid_item img {
        height: 230px;
    }

    /* ---- Home banners: swap desktop/mobile ---- */
    img.lobster_banner_mob {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    img.lobster_banner_desk {
        display: none;
    }

    /* ---- Home 2-col -> single column ---- */
    .home_2_col_row {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

    .col_quote.col_quote_home span.quote {
        font-size: 25px;
        gap: 10px;
    }

    section.line_section {
        padding-bottom: 40px;
    }

    section.home_2_col_section.home_process_section .home_2_col_row {
        text-align: left;
    }

    section.home_2_col_section.home_process_section .home_2_col_row .col_quote.col_quote_home {
        display: none;
    }

    span.desc_bold_text {
        padding-top: 20px;
    }

    /* ---- Counters -> reflowed 2+1 grid ---- */
    .counter_col_grid_container {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .counter_col, .counter_col_link {
        width: 100%;
    }

    .counter_col.year_counter {
        width: 50%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        border-right: solid 1px var(--color-gold);
    }

    .counter_col.rating_counter {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: calc(50% - 1px);
        border-left: solid 0px var(--color-gold);
    }

    .counter_col.projects_counter {
        border-width: 1px 0px 0px 0px;
        padding: 20px 0px;
        margin: 20px 0px;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .counter_num {
        font-size: 55px;
    }

    .projects_counter .counter_num:after {
        font-size: 50px;
        line-height: 50px;
    }

    .rating_counter .counter_num:after {
        width: 25px;
        height: 25px;
    }

    section.counter_section {
        padding-bottom: 20px;
    }

    /* ---- Projects grid -> single column ---- */
    .portfolio_posts .portfolio_item a img {
        height: 55vw;
    }
    .portfolio_posts .portfolio_item {
        width: 100%;
    }
    .portfolio_posts .portfolio_item span.portfolio_item_desc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .room_type_preview_title h3 {
        font-size: 24px;
    }

    /* ---- Contact form -> single column ---- */
    .contact_page_form form .col-sm-6 {
        width: 100%;
    }

    /* ---- About page ---- */
    .about_page_team_grid {
        -ms-grid-columns: 1fr 40px 1fr;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
    .about_page_services_container,
    .about_page_process_container {
        padding: 40px 20px;
    }
    .about_page_services_gallery {
        gap: 20px;
        padding-top: 40px;
    }
    .our_service_description {
        padding-top: 10px;
    }
    .about_page_process_section_title.room_type_preview_title {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    /* ---- Press page ---- */
    .press_page_icon_item {
        width: calc(50% - 20px);
    }
    .press_page_icons_grid {
        gap: 50px 40px;
    }
    .press_page_press_grid {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 40px;
        width: 100%;
    }

    .press_page_press_grid > * {
        width: 100%;
        max-width: 100%;
    }

    .press_page_press_grid_item_image img {
        height: auto;
    }
    .press_page_reviews_title.room_type_preview_title h3,
    .blog_title.room_type_preview_title h3 {
        text-align: center;
    }
    .press_page_reviews_container {
        padding: 70px 10px;
    }
    .press-reviews-slider-wrap {
        padding: 0 35px;
    }
    .press-reviews-arrow {
        width: 28px;
        height: 28px;
    }
    .press-review-slide {
        padding: 30px 20px;
    }
    .press-review-content {
        padding: 10px 0px 15px 0px;
    }
    .press-review-star img {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 25px;
        height: 25px;
    }

    /* ---- Blog cards -> stacked, real <img> instead of CSS background ---- */
    .blog_grid_item_container .post_image {
        width: 100%;
    }
    .blog_grid_item_container .post_image a img {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .blog_grid_item_container .post_image a {
        background-image: unset !important;
    }
    .blog_grid_item_container .post_content {
        width: 100%;
    }
    .post_description {
        display: none;
    }
    .post_description.post_description_mob {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .awards_banner_bg_desktop {
        display: none;
    }
    .awards_banner_bg_mobile  {
        display: block;
    }
    .awards_banner_title {
        font-size: 18px;
        letter-spacing: 1px;
    }
    .awards_banner_icon_item a,
    .awards_banner_icon_item img {
        height: 50px;
    }

}


/* ============================================================
   39. RESPONSIVE — ADMIN BAR (<= 600px)
   ============================================================ */
@media screen and (max-width: 600px) {
    div#wpadminbar + header.site-header-new {
        top: 0px;
    }
    .about_page_team_grid {
        -ms-grid-columns: 1fr;
        grid-template-columns: repeat(1, 1fr);
        gap: 40px;
    }
    .team_grid_item .team_img, .team_grid_item img {
        height: 65vw;
    }
}
