/* ============================================================
   WP-THEME — the WpResidence pages (every property listing, the search results, the archives) brought to the
   same aesthetic as the new pages. 17 September 2026 (board §178). Sophie: "update all the listings to the new
   aesthetic, and make sure they all are correct and have the same format/structure".
   Loaded site-wide through WPCode → Header & Footer, so it applies to theme-rendered pages; on our own canvas
   pages `.gg-site` carries its own stylesheets and these rules are inert.
   Palette = site.css: pine #274A3B · eucalyptus #4C7C67 · gold #C9A24A · ink #16271E · ground #E9EEE7.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600;700&display=swap");

:root { --gg-pine:#274A3B; --gg-euc:#4C7C67; --gg-gold:#C9A24A; --gg-gold-ink:#1C1403; --gg-ink:#16271E; --gg-soft:#3E5148; --gg-ground:#E9EEE7; --gg-line:#D3DBCE; --gg-serif:"Playfair Display","Iowan Old Style",Palatino,Georgia,serif; --gg-sans:"Inter","Segoe UI",system-ui,Roboto,Arial,sans-serif; }

/* 1. Type — one heading voice, one text voice, readable ink instead of grey */
body:not(.elementor-template-canvas) { font-family: var(--gg-sans) !important; color: var(--gg-soft) !important; font-size: 16px !important; line-height: 1.62 !important; }
body:not(.elementor-template-canvas) h1, body:not(.elementor-template-canvas) h2, body:not(.elementor-template-canvas) h3, body:not(.elementor-template-canvas) h4,
body:not(.elementor-template-canvas) .entry-title, body:not(.elementor-template-canvas) .property_content_section_title, body:not(.elementor-template-canvas) .description_title,
body:not(.elementor-template-canvas) .listing_title, body:not(.elementor-template-canvas) .listing_title a, body:not(.elementor-template-canvas) .title_container h1 {
  font-family: var(--gg-serif) !important; font-weight: 600 !important; color: var(--gg-ink) !important; letter-spacing: 0 !important; line-height: 1.15 !important; }
body:not(.elementor-template-canvas) h1, body:not(.elementor-template-canvas) .entry-title { font-size: clamp(1.7rem, 3.2vw, 2.4rem) !important; }
body:not(.elementor-template-canvas) h2 { font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important; }
body:not(.elementor-template-canvas) h3 { font-size: 1.2rem !important; }
body:not(.elementor-template-canvas) p, body:not(.elementor-template-canvas) li { font-size: 1rem; }
body:not(.elementor-template-canvas) .wpestate_property_description, body:not(.elementor-template-canvas) .wpestate_property_description p { color: var(--gg-soft) !important; font-size: 1.02rem !important; line-height: 1.7 !important; }
body:not(.elementor-template-canvas) .wpestate_property_description strong { color: var(--gg-ink); }

/* 2. Price, badges, labels */
body:not(.elementor-template-canvas) .price_area, body:not(.elementor-template-canvas) .listing_unit_price_wrapper, body:not(.elementor-template-canvas) .price_area_top {
  font-family: var(--gg-serif) !important; color: var(--gg-pine) !important; font-weight: 600 !important; }
body:not(.elementor-template-canvas) .single_property_labels .property_title_label { background: var(--gg-ground) !important; border-radius: 100px !important; padding: .3em .9em !important; }
body:not(.elementor-template-canvas) .single_property_labels .property_title_label a { color: var(--gg-pine) !important; font-family: var(--gg-sans) !important; font-weight: 600 !important; font-size: .78rem !important; letter-spacing: .04em; text-transform: uppercase; }
body:not(.elementor-template-canvas) .property_categs, body:not(.elementor-template-canvas) .property_categs a { color: var(--gg-soft) !important; font-family: var(--gg-sans) !important; font-size: .92rem !important; }
body:not(.elementor-template-canvas) .property_categs a:hover { color: var(--gg-pine) !important; }
body:not(.elementor-template-canvas) .featured_div, body:not(.elementor-template-canvas) .status-wrapper .action_details, body:not(.elementor-template-canvas) .ribbon-inside {
  background: var(--gg-pine) !important; color: #fff !important; border-radius: 100px !important; font-family: var(--gg-sans) !important; font-weight: 600 !important; font-size: .74rem !important; letter-spacing: .04em; text-transform: uppercase; }
body:not(.elementor-template-canvas) .status-wrapper .action_details { background: var(--gg-gold) !important; color: var(--gg-gold-ink) !important; }
body:not(.elementor-template-canvas) .property_details_grid, body:not(.elementor-template-canvas) .single-content-listing .property_details_grid { color: var(--gg-ink); }

/* 3. Links and buttons: pine everywhere, gold only on dark surfaces */
body:not(.elementor-template-canvas) a { color: var(--gg-euc); }
body:not(.elementor-template-canvas) a:hover { color: var(--gg-pine); }
body:not(.elementor-template-canvas) .wpresidence_button, body:not(.elementor-template-canvas) .wpb_button, body:not(.elementor-template-canvas) input[type=submit],
body:not(.elementor-template-canvas) button.wpresidence_button, body:not(.elementor-template-canvas) .wpestate_button, body:not(.elementor-template-canvas) #viewphotos, body:not(.elementor-template-canvas) .listing_actions a {
  background: var(--gg-pine) !important; color: #fff !important; border: 1px solid var(--gg-pine) !important; border-radius: 10px !important; font-family: var(--gg-sans) !important; font-weight: 600 !important; box-shadow: none !important; }
body:not(.elementor-template-canvas) .wpresidence_button:hover, body:not(.elementor-template-canvas) input[type=submit]:hover { background: var(--gg-euc) !important; border-color: var(--gg-euc) !important; }

/* 4. The theme header: white, our logo, the menu in Inter, one pine button */
body:not(.elementor-template-canvas) .master_header, body:not(.elementor-template-canvas) .header_wrapper, body:not(.elementor-template-canvas) .mobile-header, body:not(.elementor-template-canvas) .header_wrapper_inside {
  background: #fff !important; }
body:not(.elementor-template-canvas) .header_wrapper { border-bottom: 1px solid #E4E9E1; }
body:not(.elementor-template-canvas) .wpresidence-navigation-menu .menu > li > a { font-family: var(--gg-sans) !important; font-weight: 500 !important; font-size: .95rem !important; color: var(--gg-soft) !important; text-transform: none !important; letter-spacing: 0 !important; }
body:not(.elementor-template-canvas) .wpresidence-navigation-menu .menu > li > a:hover, body:not(.elementor-template-canvas) .wpresidence-navigation-menu .menu > li.current-menu-item > a { color: var(--gg-euc) !important; }
body:not(.elementor-template-canvas) .wpresidence-navigation-menu .sub-menu a { font-family: var(--gg-sans) !important; color: var(--gg-soft) !important; }
body:not(.elementor-template-canvas) .wpresidence-navigation-menu .sub-menu { border-radius: 10px; border: 1px solid var(--gg-line); }

/* 5. Cards in lists and grids (search results, related listings) */
body:not(.elementor-template-canvas) .listing_wrapper, body:not(.elementor-template-canvas) .property_listing { border-radius: 14px !important; overflow: hidden; border: 1px solid var(--gg-line) !important; box-shadow: 0 10px 30px -18px rgba(22,39,30,.25) !important; }
body:not(.elementor-template-canvas) .property_listing h4, body:not(.elementor-template-canvas) .property_listing h4 a { font-family: var(--gg-serif) !important; font-weight: 600 !important; color: var(--gg-ink) !important; }
body:not(.elementor-template-canvas) .property_listing .listing_details { color: var(--gg-soft) !important; font-family: var(--gg-sans) !important; }
body:not(.elementor-template-canvas) .property_listing .property_location_image, body:not(.elementor-template-canvas) .property_listing .property_location { color: var(--gg-soft) !important; }

/* 6. Section boxes on the single listing: quieter borders, our line colour */
body:not(.elementor-template-canvas) .single-content-listing .panel-default, body:not(.elementor-template-canvas) .single-content-listing .wpestate_property_description,
body:not(.elementor-template-canvas) .single-content-listing .property_details, body:not(.elementor-template-canvas) .single-content-listing .property-features, body:not(.elementor-template-canvas) .single_property_section_wrapper,
body:not(.elementor-template-canvas) .single-content-listing .sidebar_agent_wrapper, body:not(.elementor-template-canvas) .agent_unit {
  border: 1px solid var(--gg-line) !important; border-radius: 14px !important; box-shadow: none !important; }
body:not(.elementor-template-canvas) .listing_detail { color: var(--gg-soft); }
body:not(.elementor-template-canvas) .listing_detail strong { color: var(--gg-ink); }

/* 7. Footer */
body:not(.elementor-template-canvas) footer, body:not(.elementor-template-canvas) .footer_wrapper, body:not(.elementor-template-canvas) #colophon { background: var(--gg-ground) !important; color: var(--gg-soft) !important; font-family: var(--gg-sans) !important; }
body:not(.elementor-template-canvas) footer h3, body:not(.elementor-template-canvas) .footer_wrapper h3 { font-family: var(--gg-serif) !important; color: var(--gg-ink) !important; }

/* 8. The card ribbons on the search and archive pages: the theme puts "Featured" and the status pills at the same
      spot. Featured stays top-left; the status pills move to the top-right. */
body:not(.elementor-template-canvas) .tag-wrapper .featured_div { position: absolute !important; top: 14px !important; left: 14px !important; right: auto !important; width: auto !important; padding: .3em .8em !important; z-index: 3; }
body:not(.elementor-template-canvas) .tag-wrapper .status-wrapper { position: absolute !important; top: 14px !important; right: 14px !important; left: auto !important; display: flex; gap: .35rem; z-index: 3; }
body:not(.elementor-template-canvas) .tag-wrapper .action_tag_wrapper, body:not(.elementor-template-canvas) .tag-wrapper .ribbon-inside { position: static !important; margin: 0 !important; background: var(--gg-pine) !important; color: #fff !important; border-radius: 100px !important; padding: .3em .8em !important; font-size: .72rem !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .04em; }
body:not(.elementor-template-canvas) .tag-wrapper .ribbon-inside { background: var(--gg-gold) !important; color: var(--gg-gold-ink) !important; }
body:not(.elementor-template-canvas) .tag-wrapper { left: 0 !important; right: 0 !important; width: auto !important; }
/* 8b. Flow, not absolute: the wrapper is a row; Featured on the left, the status pills on the right, wrapping on narrow cards. */
body:not(.elementor-template-canvas) .tag-wrapper { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: .35rem; padding: 14px; top: 0 !important; height: auto !important; pointer-events: none; }
body:not(.elementor-template-canvas) .tag-wrapper .featured_div, body:not(.elementor-template-canvas) .tag-wrapper .status-wrapper { position: static !important; top: auto !important; left: auto !important; right: auto !important; pointer-events: auto; }
