/*
Theme Name: PDK GP Child
Theme URI: https://pdkcontracting.com
Description: PDK Contracting GeneratePress child theme (premium, conversion-first).
Author: PDK Marketing
Template: generatepress
Version: 1.1.0
Text Domain: pdk-gp-child
*/

:root{
  --pdk-green:#555D4D;
  --pdk-brass:#8E795F;
  --pdk-warmwhite:#F7F5F0;
  --pdk-charcoal:#353733;

  --pdk-radius:16px;
  --pdk-shadow:0 14px 38px rgba(0,0,0,0.10);
  --pdk-shadow-soft:0 10px 24px rgba(0,0,0,0.07);
  --pdk-max:1180px;

  --pdk-border:rgba(53,55,51,0.12);
  --pdk-border-strong:rgba(53,55,51,0.20);
}

/* Base */
body{
  color:var(--pdk-charcoal);
  background:var(--pdk-warmwhite);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pdk-section{ padding: clamp(2.5rem, 3vw, 4.25rem) 1.2rem; }
.pdk-section > .pdk-container{ max-width:var(--pdk-max); margin:0 auto; }

h1{ font-size: clamp(2.1rem, 3.2vw, 3rem); line-height:1.08; }
h2{ font-size: clamp(1.55rem, 2.2vw, 2.05rem); line-height:1.14; }
h3{ font-size: 1.15rem; line-height:1.2; }

p{ line-height:1.6; }
a{ color:var(--pdk-green); text-underline-offset: 3px; }
a:hover{ color:var(--pdk-brass); }

/* Buttons */
.wp-block-button__link,
button,
input[type="submit"],
a.button{
  background:var(--pdk-green);
  color:#fff;
  border-radius:999px;
  padding:.9rem 1.15rem;
  border:1px solid var(--pdk-green);
  text-decoration:none;
  font-weight:700;
  box-shadow: var(--pdk-shadow-soft);
}
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover,
a.button:hover{
  background:transparent;
  color:var(--pdk-green);
}

/* Secondary button */
.pdk-btn-secondary .wp-block-button__link{
  background:transparent;
  color:var(--pdk-green);
  border-color:var(--pdk-green);
  box-shadow:none;
}
.pdk-btn-secondary .wp-block-button__link:hover{
  background:var(--pdk-green);
  color:#fff;
}

/* Cards */
.pdk-card{
  background:#fff;
  border-radius:var(--pdk-radius);
  box-shadow:var(--pdk-shadow);
  border:1px solid var(--pdk-border);
  overflow:hidden;
}
.pdk-card .pdk-card-inner{
  padding:1.25rem;
}
.pdk-card.pdk-cta{
  box-shadow: var(--pdk-shadow-soft);
  border-color: var(--pdk-border);
}

/* Accent rule */
.pdk-rule{
  height:2px;
  background:linear-gradient(90deg, var(--pdk-brass), rgba(142,121,95,0));
  margin:1rem 0 1.5rem;
}

/* Simple image placeholder */
.pdk-photo-placeholder{
  background:
    linear-gradient(135deg, rgba(85,93,77,0.12), rgba(142,121,95,0.10)),
    repeating-linear-gradient(0deg, rgba(53,55,51,0.08) 0, rgba(53,55,51,0.08) 1px, transparent 1px, transparent 12px);
  border:1px solid var(--pdk-border);
  border-radius:var(--pdk-radius);
  min-height: 300px;
}

/* Nav CTA (assign class 'pdk-nav-cta' to the menu item) */
.main-navigation .pdk-nav-cta > a{
  background:var(--pdk-green);
  color:#fff !important;
  padding:.55rem .9rem;
  border-radius:999px;
  border:1px solid var(--pdk-green);
}
.main-navigation .pdk-nav-cta > a:hover{
  background:transparent;
  color:var(--pdk-green) !important;
}

/* WPForms styling */
.pdk-form .wpforms-container{
  margin: 0;
}
.pdk-form .wpforms-field input,
.pdk-form .wpforms-field textarea,
.pdk-form .wpforms-field select{
  border-radius:14px !important;
  border:1px solid var(--pdk-border-strong) !important;
  padding:.78rem .88rem !important;
  background:#fff !important;
}
.pdk-form .wpforms-field-label{
  font-weight:700 !important;
}
.pdk-form .wpforms-submit{
  width:100%;
}

/* Sticky mobile call bar */
.pdk-mobile-callbar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  padding:.75rem .9rem;
  background:rgba(247,245,240,0.92);
  backdrop-filter: blur(10px);
  border-top:1px solid var(--pdk-border);
  display:none;
}
.pdk-mobile-callbar a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  width:100%;
  background:var(--pdk-green);
  color:#fff;
  border-radius:999px;
  padding:.95rem 1rem;
  text-decoration:none;
  font-weight:800;
}
.pdk-mobile-callbar a span.small{ font-weight:700; opacity:.92; }

@media (max-width: 820px){
  .pdk-mobile-callbar{ display:block; }
  body{ padding-bottom: 88px; }
}
