/* =========================================================
   DATAWORKS PROPERTIES — GRAND BAIE PREMIUM THEME
   Visual layer only. No PHP logic, data queries or texts.
   ========================================================= */

:root{
  --dwt-navy:#071321;
  --dwt-navy-2:#0b1e33;
  --dwt-navy-3:#132b42;
  --dwt-gold:#d7aa52;
  --dwt-gold-soft:#f3d08a;
  --dwt-cream:#f7f3eb;
  --dwt-white:#ffffff;
  --dwt-ink:#172033;
  --dwt-muted:#657084;
  --dwt-line:#e9e1d2;
  --dwt-shadow:0 20px 50px rgba(9,20,38,.10);
  --dwt-shadow-lg:0 30px 80px rgba(7,19,33,.16);
  --dwt-radius:24px;
  --dwt-radius-lg:32px;
}

html{scroll-behavior:smooth}
body{
  color:var(--dwt-ink);
  background:#fff;
  font-family:Inter,"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.65;
}
body::selection{background:var(--dwt-gold-soft);color:var(--dwt-navy)}
h1,h2,h3,.hero h1,.hero h2,
.properties-hero h1,.blog-hero h1,.invest-hero h1,.projects-hero h1,
.social-hero h1,.about-page-hero h1,.thanks-hero h1,.property-hero h1,
.pen-hero h1,.brochure-cover h1{
  font-family:Georgia,"Times New Roman",serif !important;
  letter-spacing:-.025em;
}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
a:hover{transform:translateY(-1px)}

/* ---------- Global section rhythm ---------- */
.section,.pen-section{
  padding-top:88px !important;
  padding-bottom:88px !important;
}
.section.white{background:#fff !important}
.section:not(.white),.pen-section:nth-of-type(even){background:var(--dwt-cream)}
.section-head{max-width:820px;margin-bottom:42px}
.section-head h2{
  font-size:clamp(34px,4vw,54px) !important;
  line-height:1.12 !important;
  margin:.2em 0 .35em !important;
  color:var(--dwt-ink);
}
.section-head p{color:var(--dwt-muted);font-size:17px}
.kicker,.pen-kicker{
  color:#9d712c !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  font-size:12px !important;
  font-weight:900 !important;
}

/* ---------- Premium page heroes ---------- */
.properties-hero,
.blog-hero,
.invest-hero,
.projects-hero,
.social-hero,
.about-page-hero,
.thanks-hero,
.property-hero,
.pen-hero{
  position:relative;
  overflow:hidden;
  color:#fff !important;
  background:
    radial-gradient(circle at 78% 20%,rgba(215,170,82,.22),transparent 32%),
    radial-gradient(circle at 20% 75%,rgba(63,125,162,.18),transparent 34%),
    linear-gradient(135deg,var(--dwt-navy) 0%,var(--dwt-navy-2) 62%,var(--dwt-navy-3) 100%) !important;
  border:0 !important;
}
.properties-hero::before,
.blog-hero::before,
.invest-hero::before,
.projects-hero::before,
.social-hero::before,
.about-page-hero::before,
.thanks-hero::before,
.property-hero::before,
.pen-hero::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:38px 38px;
}
.properties-hero > *,
.blog-hero > *,
.invest-hero > *,
.projects-hero > *,
.social-hero > *,
.about-page-hero > *,
.thanks-hero > *,
.property-hero > *,
.pen-hero > *{position:relative;z-index:1}
.properties-hero,.blog-hero,.invest-hero,.projects-hero,.social-hero,.about-page-hero,.thanks-hero{
  padding-top:92px !important;
  padding-bottom:92px !important;
}
.properties-hero h1,.blog-hero h1,.invest-hero h1,.projects-hero h1,
.social-hero h1,.about-page-hero h1,.thanks-hero h1,.property-hero h1,.pen-hero h1{
  color:#fff !important;
  font-size:clamp(46px,6vw,78px) !important;
  line-height:1.04 !important;
  max-width:930px;
}
.properties-hero p,.blog-hero p,.invest-hero p,.projects-hero p,.social-hero p,
.about-page-hero p,.thanks-hero p,.property-hero p,.pen-hero p{
  color:#d8e0e9 !important;
  font-size:17px;
  max-width:820px;
}
.properties-hero .kicker,.blog-hero .kicker,.invest-hero .kicker,.projects-hero .kicker,
.social-hero .kicker,.about-page-hero .kicker,.thanks-hero .kicker,.property-hero .kicker,
.pen-hero .pen-kicker{color:var(--dwt-gold-soft) !important}

/* ---------- Cards ---------- */
.card,
.property-page-card,
.blog-card,
.invest-card,
.project-card,
.social-card,
.director-card,
.next-card,
.request-card,
.similar-card,
.pen-card,
.article-intro-card,
.panel,
.calc-box,
.campaign-panel,
.vip-panel,
.empty-panel{
  background:#fff !important;
  border:1px solid var(--dwt-line) !important;
  border-radius:var(--dwt-radius) !important;
  box-shadow:var(--dwt-shadow) !important;
}
.card:hover,.property-page-card:hover,.blog-card:hover,.invest-card:hover,
.project-card:hover,.social-card:hover,.director-card:hover,.next-card:hover,
.similar-card:hover,.pen-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--dwt-shadow-lg) !important;
}
.card .body,.project-card-body{padding:26px !important}
.card h3,.blog-card-title,.project-title,.invest-card h3,.social-card h3,
.director-card h3,.next-card h3,.similar-card h3,.pen-card h2,.pen-card h3{
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--dwt-ink) !important;
}
.loc,.property-desc,.project-desc,.blog-card-excerpt,.director-role,
.card p,.invest-card p,.social-card p,.next-card p,.similar-card p{
  color:var(--dwt-muted) !important;
}

/* ---------- Images ---------- */
.card .pic,.project-card-img,.property-main-img,.blog-hero-img,
.director-photo,.similar-card .pic,.mini-property .pic{
  border-radius:20px !important;
  overflow:hidden;
}
.property-main-img{box-shadow:var(--dwt-shadow-lg)}
.property-gallery img,.blog-gallery img,.gallery img,.pen-gallery img{
  border-radius:18px !important;
  box-shadow:0 10px 28px rgba(9,20,38,.09);
}

/* ---------- Buttons ---------- */
.btn,
.property-conversion-btn,
.project-cta,
.featured-view-all,
.seo-actions a,
.thanks-actions a{
  border-radius:999px !important;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:850 !important;
  border:1px solid var(--dwt-gold) !important;
  background:linear-gradient(135deg,var(--dwt-gold),var(--dwt-gold-soft)) !important;
  color:var(--dwt-navy) !important;
  box-shadow:0 10px 24px rgba(215,170,82,.18);
}
.btn.dark,.property-conversion-btn.details,.header-cta.dark{
  background:var(--dwt-navy) !important;
  border-color:var(--dwt-navy) !important;
  color:#fff !important;
}
.btn:hover,.property-conversion-btn:hover,.project-cta:hover,.featured-view-all:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(7,19,33,.16);
}

/* ---------- Prices & badges ---------- */
.price,.featured-property-price,.brochure-price{
  color:#9b6a22 !important;
  font-weight:900 !important;
}
.tag,.badge-foreign,.featured-sale-badge,.sold-ribbon,.gold{
  border-radius:999px !important;
}
.meta span,.property-badges span,.featured-property-specs span,
.brochure-meta div,.feature-list li{
  border-radius:14px !important;
}

/* ---------- Toolbars, forms, calculators ---------- */
.properties-toolbar,
.article-intro-card,
.share-box,
.newsletter-investor,
.lead-gate,
.brochure-panel,
.contact-block,
.property-region-note{
  background:var(--dwt-cream) !important;
  border:1px solid var(--dwt-line) !important;
  border-radius:var(--dwt-radius) !important;
  box-shadow:var(--dwt-shadow) !important;
}
input,select,textarea,.input{
  border:1px solid #d9d4ca !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--dwt-ink) !important;
  min-height:48px;
}
input:focus,select:focus,textarea:focus,.input:focus{
  outline:none !important;
  border-color:var(--dwt-gold) !important;
  box-shadow:0 0 0 4px rgba(215,170,82,.12) !important;
}

/* ---------- Specific content panels ---------- */
.invest-grid,.projects-grid,.social-grid,.director-grid,.next-grid,.similar-grid,.properties-grid,.blog-grid{
  gap:24px !important;
}
.vip-panel,.campaign-panel{
  background:
    radial-gradient(circle at 85% 10%,rgba(215,170,82,.20),transparent 28%),
    linear-gradient(135deg,var(--dwt-navy),var(--dwt-navy-3)) !important;
  color:#fff !important;
  border-color:rgba(215,170,82,.35) !important;
}
.vip-panel h2,.vip-panel h3,.campaign-panel h2,.campaign-panel h3{color:#fff !important}
.vip-panel p,.campaign-panel p{color:#d8e0e9 !important}

/* ---------- Article ---------- */
.blog-content{max-width:1180px;margin:auto}
.blog-article{
  font-size:17px;
  color:#465164;
}
.blog-article h2,.blog-article h3{
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--dwt-ink) !important;
}
.blog-article blockquote{
  margin:32px 0;padding:24px 28px;
  border-left:4px solid var(--dwt-gold);
  background:var(--dwt-cream);
  border-radius:0 18px 18px 0;
}

/* ---------- Brochure ---------- */
.brochure-wrap{background:#fff !important}
.brochure-cover{
  background:
    radial-gradient(circle at 80% 15%,rgba(215,170,82,.22),transparent 30%),
    linear-gradient(135deg,var(--dwt-navy),var(--dwt-navy-3)) !important;
  border-radius:var(--dwt-radius-lg) !important;
  overflow:hidden;
}
.brochure-section{border-radius:var(--dwt-radius) !important}
.brochure-brand{filter:none}

/* ---------- Footer ---------- */
.footer{
  background:var(--dwt-navy) !important;
  color:#cbd4de !important;
  padding-top:52px !important;
  padding-bottom:36px !important;
}
.footer h3{color:#fff !important;font-family:Georgia,"Times New Roman",serif !important}
.footer p,.footer a{color:#cbd4de !important}
.footer a:hover{color:var(--dwt-gold-soft) !important}
.footer-grid{gap:42px !important}
.footer-brand-logo{max-width:160px}

/* ---------- WhatsApp ---------- */
.wa-float{
  background:#128c5a !important;
  color:#fff !important;
  border-radius:999px !important;
  box-shadow:0 14px 34px rgba(18,140,90,.28) !important;
  border:0 !important;
}

/* ---------- Homepage content ---------- */
.featured-property-card,.new-project-card,.blog-card,.request-card{
  border-radius:var(--dwt-radius) !important;
  overflow:hidden;
}
.featured-property-image{border-radius:20px 20px 0 0 !important}
.new-projects-section{background:var(--dwt-cream) !important}
#region-grid,.region-grid{gap:18px}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .section,.pen-section{padding-top:66px !important;padding-bottom:66px !important}
  .properties-hero,.blog-hero,.invest-hero,.projects-hero,.social-hero,.about-page-hero,.thanks-hero{
    padding-top:72px !important;padding-bottom:72px !important
  }
}
@media(max-width:640px){
  .properties-hero h1,.blog-hero h1,.invest-hero h1,.projects-hero h1,
  .social-hero h1,.about-page-hero h1,.thanks-hero h1,.property-hero h1,.pen-hero h1{
    font-size:42px !important
  }
  .section-head h2{font-size:34px !important}
  .card .body,.project-card-body{padding:22px !important}
}
