/* Applied Tactics Page Sections v0.3.0
   Self-contained front-end design system.
   New pages using Page Sections do not require page-specific Advanced CSS. */

.atps-front{
  --at-green:#173f2b;
  --at-dark:#102f21;
  --at-sage:#eef1ea;
  --at-cream:#faf8f4;
  --at-pink:#cb8885;
  --at-muted:#667068;
  --at-text:#26352d;
  --at-border:#dedfd9;
  --at-white:#fff;
  --at-radius:12px;
  --at-content:1180px;
  max-width:var(--at-content);
  margin:0 auto;
  padding:24px;
  color:var(--at-text);
}
.atps-front *{box-sizing:border-box}
.atps-front > .atps-sec img{max-width:100%;height:auto}
.atps-front > .atps-sec a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.atps-sec{margin:0 0 72px}
.atps-sec:last-child{margin-bottom:24px}
.atps-kicker{display:block;margin:0 0 12px;color:var(--at-pink);font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.3;text-transform:uppercase}
.atps-front > .atps-sec h2{margin:0 0 18px;color:var(--at-green);font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.08}
.atps-front > .atps-sec h3{margin:0 0 9px;color:var(--at-green);font-size:20px;line-height:1.25}
.atps-front > .atps-sec p,.atps-front > .atps-sec li{color:var(--at-muted);line-height:1.75}
.atps-front > .atps-sec p{margin:0 0 14px}
.atps-front > .atps-sec p:last-child{margin-bottom:0}
.atps-front > .atps-sec ul,.atps-front > .atps-sec ol{margin:14px 0 0;padding-left:22px}
.atps-front > .atps-sec li{margin-bottom:8px}
.atps-front > .atps-sec strong{font-weight:700}


/* Imported legacy Loudoun Nursery layouts keep their original page classes.
   These scope wrappers have no layout of their own; the existing page CSS remains authoritative. */
.atps-front.atps-has-legacy{padding-top:60px}
.atps-legacy-scope{max-width:none!important;margin:0!important;padding:0!important}

/* Intro */
.atps-intro{max-width:900px}
.atps-intro h2{font-size:clamp(42px,5vw,62px)}
.atps-intro p{font-size:18px}

/* Image + Text / Partner */
.atps-split{display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center;border-radius:var(--at-radius)}
.atps-split.image-right .atps-image{order:2}
.atps-copy{min-width:0}
.atps-copy p{font-size:17px}
.atps-split.bg-white{background:transparent}
.atps-split.bg-cream,.atps-full.bg-cream{background:var(--at-cream);padding:44px}
.atps-split.bg-sage,.atps-full.bg-sage{background:var(--at-sage);padding:44px}
.atps-split.bg-green,.atps-full.bg-green{background:var(--at-green);padding:44px}
.atps-split.bg-green h2,.atps-full.bg-green h2{color:#fff}
.atps-split.bg-green .atps-kicker,.atps-full.bg-green .atps-kicker{color:#efb0ad}
.atps-split.bg-green p,.atps-full.bg-green p,.atps-split.bg-green li,.atps-full.bg-green li{color:rgba(255,255,255,.9)}
.atps-image{position:relative;overflow:hidden;border-radius:var(--at-radius);background:var(--at-sage)}
.atps-image img{display:block;width:100%;height:430px;object-fit:cover;object-position:center}
.atps-credit{position:absolute;right:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:3px;background:rgba(16,47,33,.86);color:#fff;font-size:10px;line-height:1.3}

/* Full width text */
.atps-full{max-width:100%;border-radius:var(--at-radius)}
.atps-full.bg-white{background:transparent}
.atps-full>p,.atps-full>ul,.atps-full>ol{max-width:900px}

/* Buttons */
.atps-btn{display:inline-block;margin-top:10px;padding:13px 22px;border:1px solid var(--at-green);border-radius:4px;background:var(--at-green);color:#fff!important;font-size:12px;font-weight:700;letter-spacing:.8px;line-height:1.2;text-align:center;text-decoration:none!important;text-transform:uppercase}
.atps-btn:hover,.atps-btn:focus{background:var(--at-dark);border-color:var(--at-dark);color:#fff!important;transform:translateY(-1px)}
.atps-btn.secondary{background:transparent;color:var(--at-green)!important}
.atps-btn.secondary:hover,.atps-btn.secondary:focus{background:var(--at-sage);border-color:var(--at-green);color:var(--at-green)!important}

/* Feature cards */
.atps-cards{padding:48px;border-radius:var(--at-radius);background:var(--at-cream)}
.atps-introtext{max-width:800px}
.atps-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:28px}
.atps-card{min-width:0;padding-top:20px;border-top:1px solid #cfd3cc}
.atps-card>span{display:block;margin-bottom:12px;color:var(--at-pink);font-size:12px;font-weight:700;letter-spacing:2px}
.atps-card p{font-size:15px}

/* Gallery */
.atps-gallery>p{max-width:800px;font-size:17px}
.atps-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px}
.atps-gallery-grid figure{margin:0;overflow:hidden;border-radius:10px;background:var(--at-sage)}
.atps-gallery-grid img{display:block;width:100%;height:320px;object-fit:cover;object-position:center;transition:transform .3s ease}
@media (hover:hover) and (pointer:fine){.atps-gallery-grid figure:hover img{transform:scale(1.02)}}
.atps-gallery-credit{margin-top:12px;text-align:right;color:var(--at-muted);font-size:12px}
.atps-gallery-credit a{color:var(--at-green);font-weight:700;text-decoration:none}
.atps-gallery-credit a:hover{text-decoration:underline}

/* Announcement */
.atps-announcement{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center;padding:50px 56px;border-radius:var(--at-radius);background:var(--at-green)}
.atps-announcement .atps-kicker{color:#efb0ad}
.atps-announcement h2{color:#fff}
.atps-announcement p,.atps-announcement li{color:rgba(255,255,255,.9)}
.atps-badge{display:flex;align-items:center;justify-content:center;width:190px;height:190px;padding:20px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.15}

/* Two column feature */
.atps-two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:30px;align-items:stretch}
.atps-two-main{padding:44px;border-radius:var(--at-radius);background:var(--at-sage)}
.atps-two-side{padding:44px;border-radius:var(--at-radius);background:var(--at-green);color:#fff}
.atps-two-side h3{margin:0 0 14px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:400;line-height:1.2}
.atps-two-side p,.atps-two-side li{color:rgba(255,255,255,.9)}
.atps-side-label{display:block;margin-bottom:12px;color:#efb0ad;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.atps-two-side .atps-btn{background:#fff;border-color:#fff;color:var(--at-green)!important}
.atps-two-side .atps-btn:hover{background:var(--at-cream);border-color:var(--at-cream)}

/* CTA */
.atps-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:42px 46px;border-top:1px solid var(--at-border);border-bottom:1px solid var(--at-border)}
.atps-actions{display:flex;flex-direction:column;gap:10px;min-width:190px}
.atps-actions .atps-btn{margin-top:0}

/* Hours / Info */
.atps-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;align-items:center;padding:42px 46px;border-radius:var(--at-radius);background:var(--at-sage)}
.atps-info-highlight{max-width:280px;padding:22px 26px;border-radius:8px;background:var(--at-green);color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.25;text-align:center}

/* Form / shortcode */
.atps-shortcode{display:grid;grid-template-columns:.78fr 1.22fr;gap:55px;align-items:start;padding:52px;border-radius:var(--at-radius);background:var(--at-cream)}
.atps-shortcode-heading{min-width:0}
.atps-shortcode-box{min-width:0;padding:36px;border:1px solid var(--at-border);border-radius:10px;background:#fff}
.atps-shortcode .nf-form-title{display:none}
.atps-shortcode .nf-before-form-content{margin-bottom:18px}
.atps-shortcode .nf-form-fields-required{color:var(--at-muted);font-size:12px}
.atps-shortcode .nf-field-label{margin-bottom:7px!important}
.atps-shortcode .nf-field-label label{color:var(--at-green);font-size:14px;font-weight:700}
.atps-shortcode .nf-field-container{margin-bottom:22px!important}
.atps-shortcode .nf-form-content input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.atps-shortcode .nf-form-content select,
.atps-shortcode .nf-form-content textarea{width:100%!important;border:1px solid #d4d8d2!important;border-radius:5px!important;background:#fff!important;color:#26352d!important;font-size:16px!important;box-shadow:none!important;outline:none!important;transition:border-color .2s ease,box-shadow .2s ease}
.atps-shortcode .nf-form-content input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
.atps-shortcode .nf-form-content select{min-height:48px!important;padding:10px 13px!important}
.atps-shortcode .nf-form-content textarea{min-height:145px!important;padding:12px 13px!important;resize:vertical}
.atps-shortcode .nf-form-content input:focus,
.atps-shortcode .nf-form-content select:focus,
.atps-shortcode .nf-form-content textarea:focus{border-color:var(--at-green)!important;box-shadow:0 0 0 2px rgba(23,63,43,.08)!important}
.atps-shortcode .nf-form-content input[type=button],
.atps-shortcode .nf-form-content input[type=submit],
.atps-shortcode .nf-form-content button{min-height:46px!important;padding:13px 26px!important;border:1px solid var(--at-green)!important;border-radius:4px!important;background:var(--at-green)!important;color:#fff!important;font-size:12px!important;font-weight:700!important;letter-spacing:.8px!important;text-transform:uppercase!important;cursor:pointer!important}
.atps-shortcode .nf-form-content input[type=button]:hover,
.atps-shortcode .nf-form-content input[type=submit]:hover,
.atps-shortcode .nf-form-content button:hover{background:var(--at-dark)!important;border-color:var(--at-dark)!important}
.atps-shortcode .nf-error-msg,.atps-shortcode .ninja-forms-req-symbol{color:#a94848!important}
.atps-shortcode .nf-error .ninja-forms-field{border-color:#a94848!important}
.atps-shortcode .nf-response-msg{padding:20px 22px;border-left:4px solid var(--at-green);border-radius:4px;background:var(--at-sage);color:var(--at-green)}
.atps-shortcode .nf-response-msg p{margin:0;color:var(--at-green)}

/* Tablet */
@media(max-width:900px){
  .atps-split,.atps-announcement,.atps-two-col,.atps-cta,.atps-info,.atps-shortcode{grid-template-columns:1fr}
  .atps-split.image-right .atps-image{order:0}
  .atps-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .atps-actions{flex-direction:row;flex-wrap:wrap}
  .atps-badge{width:165px;height:165px}
  .atps-image img{height:370px}
}

/* Mobile */
@media(max-width:600px){
  .atps-front{padding:18px}
  .atps-sec{margin-bottom:50px}
  .atps-intro p{font-size:17px}
  .atps-split{gap:28px}
  .atps-split.bg-cream,.atps-split.bg-sage,.atps-split.bg-green,
  .atps-full.bg-cream,.atps-full.bg-sage,.atps-full.bg-green,
  .atps-cards,.atps-announcement,.atps-two-main,.atps-two-side,.atps-cta,.atps-info,.atps-shortcode{padding:28px 22px}
  .atps-image img{height:290px}
  .atps-card-grid,.atps-gallery-grid{grid-template-columns:1fr}
  .atps-gallery-grid img{height:280px}
  .atps-actions{flex-direction:column}
  .atps-btn{width:100%;text-align:center}
  .atps-gallery-credit{text-align:left}
  .atps-shortcode-box{padding:24px 18px}
  .atps-shortcode .nf-form-content input[type=button],
  .atps-shortcode .nf-form-content input[type=submit],
  .atps-shortcode .nf-form-content button{width:100%!important}
  .atps-badge{width:155px;height:155px;font-size:23px}
}
