/*
Theme Name: Desert Defense
Theme URI: https://desertdefense.com
Author: Desert Defense LLC
Description: WooCommerce-ready theme for Desert Defense — nutritional support for dogs of the Desert Southwest. Landing-page front page, product grid, testimonial carousel, FAQ accordion.
Version: 1.0.5
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: desert-defense
Tags: e-commerce, woocommerce, custom-colors, custom-menu, custom-logo, featured-images
WC requires at least: 7.0
WC tested up to: 9.0
*/

:root{
  --dd-olive:#77821b; --dd-olive-dk:#5f6b1c; --dd-olive-lt:#a3b03a;
  --dd-orange:#e07b1f; --dd-orange-dk:#c96a14; --dd-sand-orange:#f0b064;
  --dd-navy:#1f4e6e; --dd-navy-lt:#2a5f8a;
  --dd-cream:#fdfbf5; --dd-sand:#f6f0df; --dd-border:#e7e0cc;
  --dd-text:#3b3a33; --dd-text-mid:#4a483d; --dd-text-lt:#8b876f; --dd-dark:#2b2a24;
  --dd-serif:'Sorts Mill Goudy', Georgia, serif;
  --dd-sans:'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --dd-max:1240px;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--dd-sans);color:var(--dd-text);background:var(--dd-cream);font-size:16px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--dd-orange-dk);text-decoration:none}
a:hover{color:#8a950f}
h1,h2,h3,h4{font-family:var(--dd-serif);color:var(--dd-navy);line-height:1.15;margin:0 0 .5em}
.dd-wrap{max-width:var(--dd-max);margin:0 auto;padding:0 40px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.dd-skip-link:focus{position:fixed;left:16px;top:16px;z-index:999;background:#fff;padding:10px 16px}

/* Buttons */
.dd-btn{display:inline-block;font-weight:700;border-radius:4px;padding:14px 30px;border:none;cursor:pointer;font-family:var(--dd-sans);font-size:17px;line-height:1.2;text-align:center}
.dd-btn--primary{background:var(--dd-orange);color:#fff}
.dd-btn--primary:hover{background:var(--dd-orange-dk);color:#fff}
.dd-btn--outline{background:transparent;border:2px solid var(--dd-olive);color:var(--dd-olive-dk);padding:12px 28px}
.dd-btn--outline:hover{background:var(--dd-olive);color:#fff}
.dd-btn--ghost-sand{border:2px solid var(--dd-sand-orange);color:var(--dd-sand-orange);background:transparent;padding:12px 26px}
.dd-btn--ghost-sand:hover{background:var(--dd-sand-orange);color:var(--dd-navy)}
.dd-btn--sm{font-size:16px;padding:11px 22px}
.dd-btn--block{display:block;width:100%}

/* Top bar */
.dd-topbar{background:var(--dd-navy);color:#cfe3ef;font-size:13px}
.dd-topbar .dd-wrap{display:flex;justify-content:flex-end;align-items:center;gap:24px;min-height:30px;padding-top:6px;padding-bottom:6px}
.dd-topbar a{color:var(--dd-sand-orange)}

/* Header */
.dd-header{background:#fff;border-bottom:3px solid #8a950f;position:sticky;top:0;z-index:50}
.dd-header .dd-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}
.dd-brand{display:flex;flex-direction:column;line-height:1}
.dd-brand__img img{max-height:96px;width:auto}
.dd-wordmark{font-weight:700;font-size:44px;letter-spacing:-.5px}
.dd-wordmark__a{color:var(--dd-olive)}
.dd-wordmark__b{color:var(--dd-orange)}
.dd-wordmark__r{color:var(--dd-olive);font-size:18px;vertical-align:super}
.dd-slogan{color:var(--dd-olive);font-size:13.5px;font-weight:600;letter-spacing:.4px;margin-top:6px;max-width:56ch}
.dd-nav{display:flex;align-items:center;gap:28px;font-weight:600;font-size:15px}
.dd-nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.dd-nav a{color:var(--dd-text)}
.dd-nav a:hover,.dd-nav .current-menu-item>a,.dd-nav .current_page_item>a{color:var(--dd-orange)}
.dd-cart{color:var(--dd-olive);font-size:20px;white-space:nowrap}
.dd-cart__count{font-size:13px;background:var(--dd-olive);color:#fff;border-radius:10px;padding:1px 7px;margin-left:4px;font-family:var(--dd-sans);font-weight:600}
.dd-nav-toggle{display:none;background:none;border:1px solid var(--dd-border);border-radius:4px;padding:8px 12px;font-size:16px;cursor:pointer}

/* Hero */
.dd-hero{background:linear-gradient(180deg,#bcd7e6 0%,#dfe9dc 70%,#e8dfc4 100%);display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:560px;overflow:hidden}
.dd-hero__copy{padding:64px 24px 64px 64px}
.dd-hero__title{font-family:var(--dd-serif);font-size:58px;line-height:1.05;color:var(--dd-navy);margin:0}
.dd-hero__title em{font-style:normal;color:var(--dd-orange)}
.dd-hero__sub{font-family:var(--dd-serif);font-size:26px;color:var(--dd-navy-lt);margin-top:18px}
.dd-hero__text{font-size:17px;line-height:1.6;max-width:52ch;margin:20px 0 28px}
.dd-hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.dd-hero__media{height:100%;min-height:560px;background-size:cover;background-position:center}

/* Section shells */
.dd-section{padding:64px 0}
.dd-section--sand{background:var(--dd-sand)}
.dd-section--cream{background:var(--dd-cream)}
.dd-section--olive{background:var(--dd-olive);color:#fff;padding:40px 0}
.dd-section--navy{background:var(--dd-navy);color:#fff}
.dd-eyebrow{color:var(--dd-orange);font-weight:700;letter-spacing:2px;font-size:14px}
.dd-eyebrow--sand{color:var(--dd-sand-orange)}
.dd-section__head{text-align:center;margin-bottom:40px}
.dd-section__title{font-family:var(--dd-serif);font-size:38px;color:var(--dd-navy);margin:6px 0 0}
.dd-section--navy .dd-section__title,.dd-section--olive .dd-section__title{color:#fff}

/* Formula levels */
.dd-levels__title{text-align:center;font-family:var(--dd-serif);font-size:30px;margin:0 auto 24px;color:#fff}
.dd-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
.dd-level{background:rgba(255,255,255,.12);border-radius:6px;padding:20px 24px}
.dd-level__tag{color:var(--dd-sand-orange);font-weight:700;letter-spacing:1.5px;font-size:13px}
.dd-level__name{font-family:var(--dd-serif);font-size:22px;margin:6px 0}
.dd-level__desc{font-size:15px;line-height:1.5;color:#eef0da}

/* Product grid */
.dd-products{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.dd-card{background:#fff;border:1px solid var(--dd-border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}
.dd-card:hover{box-shadow:0 12px 28px rgba(60,50,20,.12)}
.dd-card__media{background:#f4f2ec;height:250px;display:flex;align-items:center;justify-content:center;padding:12px}
.dd-card__media img{max-height:100%;width:auto;object-fit:contain}
.dd-card__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.dd-card__tag{color:var(--dd-olive);font-weight:700;font-size:12px;letter-spacing:1.5px}
.dd-card__name{font-family:var(--dd-serif);font-size:21px;color:var(--dd-dark);line-height:1.2;margin:0}
.dd-card__name a{color:inherit}
.dd-card__meta{font-size:14px;color:var(--dd-text-lt)}
.dd-card__price{font-size:22px;font-weight:700;color:var(--dd-navy)}
.dd-card__price .woocommerce-Price-amount{font-size:inherit}
.dd-card__price del{opacity:.5;font-weight:400;font-size:16px}
.dd-card__ship{font-size:13px;font-weight:400;color:var(--dd-text-lt)}
.dd-card__cta{margin-top:auto}

/* Valley fever */
.dd-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.dd-split p{font-size:17px;line-height:1.7;color:#d8e6f0}
.dd-supports{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dd-support{background:rgba(255,255,255,.08);border-left:3px solid var(--dd-orange);border-radius:4px;padding:16px 18px;font-size:15px;line-height:1.4}
.dd-support strong{color:var(--dd-sand-orange)}

/* Testimonial carousel */
.dd-carousel{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:20px}
.dd-carousel__arrow{background:#fff;border:1px solid var(--dd-border);border-radius:50%;width:44px;height:44px;font-size:20px;color:var(--dd-olive);cursor:pointer;flex-shrink:0;line-height:1}
.dd-carousel__arrow:hover{background:var(--dd-olive);color:#fff}
.dd-carousel__viewport{flex:1;overflow:hidden}
.dd-carousel__track{display:flex;transition:transform .45s ease}
.dd-slide{flex:0 0 100%;padding:4px}
.dd-quote{background:#fff;border-radius:8px;padding:36px 40px;box-shadow:0 6px 18px rgba(60,50,20,.08);display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:center}
.dd-quote--nophoto{grid-template-columns:1fr}
.dd-quote__photo{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#efece1}
.dd-quote__photo img{width:100%;height:100%;object-fit:cover}
.dd-quote__mark{font-family:var(--dd-serif);font-size:40px;color:var(--dd-orange);line-height:.4;margin-bottom:10px}
.dd-quote__text{font-size:17px;line-height:1.65;font-style:italic;color:var(--dd-text-mid)}
.dd-quote__text p{margin:0 0 .5em}
.dd-quote__who{margin-top:14px;font-weight:700;color:var(--dd-olive)}
.dd-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.dd-dot{width:10px;height:10px;border-radius:50%;border:none;padding:0;cursor:pointer;background:#d8d2bd}
.dd-dot.is-active{background:var(--dd-orange)}

/* Page shells */
.dd-page-head{background:var(--dd-olive);color:#fff;padding:44px 0}
.dd-page-head__title{font-family:var(--dd-serif);font-size:42px;margin:0;color:#fff}
.dd-crumbs{font-size:16px;color:#eef0da;margin-top:6px}
.dd-crumbs a{color:#eef0da}
.dd-crumbs span{color:var(--dd-sand-orange)}
.dd-notice{background:var(--dd-sand);border-bottom:1px solid var(--dd-border);padding:18px 0;font-size:15px;line-height:1.6}
.dd-notice strong{color:var(--dd-orange-dk)}
.dd-callout{background:#fdf3e6;border-left:3px solid var(--dd-orange);border-radius:4px;padding:14px 18px;font-size:14.5px;line-height:1.6;color:#7a5325}
.dd-legal{background:#fff;border:1px solid var(--dd-border);border-radius:8px;padding:24px 28px;font-size:13.5px;line-height:1.7;color:#6b6853}
.dd-legal strong{color:var(--dd-text)}
.dd-entry{font-size:16.5px;line-height:1.75;max-width:76ch}
.dd-entry h2{font-size:30px;margin-top:1.6em}
.dd-entry h3{font-size:23px;margin-top:1.4em}

/* About page */
.dd-lede{font-size:18px;line-height:1.7;max-width:76ch;margin:0}
.dd-bio{display:grid;grid-template-columns:420px 1fr;gap:48px;align-items:start}
.dd-bio__aside{display:flex;flex-direction:column;gap:14px}
.dd-bio__portrait img,.dd-bio__extra img{width:100%;border-radius:8px;box-shadow:0 12px 30px rgba(60,50,20,.18);display:block}
.dd-bio__extra{margin:0}
.dd-bio__name{font-family:var(--dd-serif);font-size:24px;color:var(--dd-navy);margin:0}
.dd-bio__role{color:var(--dd-olive);font-weight:700;font-size:14px;letter-spacing:1px}
.dd-bio__quote{background:var(--dd-sand);border-radius:6px;padding:16px 18px;margin:2px 0 0;font-family:var(--dd-serif);font-style:italic;font-size:17px;line-height:1.5;color:var(--dd-text-mid)}
.dd-bio__body{max-width:none}
.dd-bio__body>p:first-child{margin-top:0}
.dd-lectures{background:#fff;border:1px solid var(--dd-border);border-radius:8px;padding:20px 24px;margin-top:24px}
.dd-lectures__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:15px;margin-top:10px}
.dd-lectures__item{border-left:3px solid var(--dd-olive-lt);padding-left:10px}
.dd-bio2{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:center}
.dd-bio2__photo img{width:100%;border-radius:8px;display:block}
.dd-bio2__name{font-family:var(--dd-serif);font-size:30px;color:var(--dd-navy);margin:0}
.dd-bio2__text{font-size:16.5px;line-height:1.75;max-width:80ch;margin-top:14px}

/* Editor images and galleries inside page content */
.dd-entry img{border-radius:8px}
.dd-entry figure{margin:1.6em 0}
.dd-entry figcaption{font-size:13.5px;color:var(--dd-text-lt);margin-top:8px}
.dd-entry .wp-block-gallery{gap:16px}
.dd-entry .alignleft{float:left;margin:.4em 28px 1.2em 0;max-width:45%}
.dd-entry .alignright{float:right;margin:.4em 0 1.2em 28px;max-width:45%}
.dd-entry .aligncenter{margin-left:auto;margin-right:auto}

/* FAQ accordion */
.dd-faqs{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.dd-faq{background:#fff;border:1px solid var(--dd-border);border-radius:8px;overflow:hidden}
.dd-faq__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-family:var(--dd-serif);font-size:21px;color:var(--dd-navy)}
.dd-faq__mark{color:var(--dd-orange);font-size:24px;line-height:1}
.dd-faq__a{padding:0 24px 22px;font-size:16px;line-height:1.7;color:var(--dd-text-mid)}
.dd-faq__a p{margin:0 0 .8em}
.dd-faq[hidden],.dd-faq__a[hidden]{display:none}

/* Contact */
.dd-contact{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}
.dd-info{display:flex;flex-direction:column;gap:18px;margin-top:24px}
.dd-info__card{background:#fff;border:1px solid var(--dd-border);border-radius:8px;padding:18px 22px}
.dd-info__label{color:var(--dd-olive);font-weight:700;font-size:13px;letter-spacing:1.5px}
.dd-info__value{font-size:16px;line-height:1.6;margin-top:4px}
.dd-formcard{background:#fff;border:1px solid var(--dd-border);border-radius:8px;padding:32px 36px}
.dd-formcard h2{font-size:26px;margin-bottom:20px}
.dd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dd-field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.dd-field--full{grid-column:1/-1}
.dd-field input,.dd-field textarea,.dd-formcard input[type=text],.dd-formcard input[type=email],.dd-formcard textarea{font-family:var(--dd-sans);font-size:15px;padding:12px 14px;border:1px solid #d8d2bd;border-radius:4px;background:var(--dd-cream);width:100%}
.dd-field textarea{resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--dd-olive-lt)}
.dd-form-ok{margin-top:14px;background:#eef3d8;border-left:3px solid var(--dd-olive);padding:12px 16px;font-size:15px;color:var(--dd-olive-dk)}

/* CTA strip */
.dd-cta{background:var(--dd-navy);color:#fff;text-align:center;padding:56px 24px}
.dd-cta__title{font-family:var(--dd-serif);font-size:34px;color:#fff;margin:0 0 20px}

/* Footer */
.dd-footer{background:var(--dd-dark);color:#b8b4a0;padding:48px 0 24px;margin-top:auto}
.dd-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.dd-footer__mark{font-weight:700;font-size:22px}
.dd-footer__mark .dd-wordmark__a{color:var(--dd-olive-lt)}
.dd-footer__mark .dd-wordmark__b{color:var(--dd-sand-orange)}
.dd-footer__mark .dd-wordmark__r{color:var(--dd-olive-lt);font-size:11px}
.dd-footer p{font-size:14px;line-height:1.6;max-width:44ch}
.dd-footer__badges{font-size:13px;color:var(--dd-text-lt)}
.dd-footer h2{color:#fff;font-family:var(--dd-sans);font-weight:700;font-size:15px;margin:0 0 4px}
.dd-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.dd-footer a{color:#b8b4a0}
.dd-footer a:hover{color:var(--dd-sand-orange)}
.dd-footer__contact{font-size:15px;line-height:1.8}
.dd-footer__legal{border-top:1px solid #4a483d;margin-top:36px;padding-top:18px;font-size:12px;line-height:1.6;color:var(--dd-text-lt)}

/* Layout helper */
.dd-site{min-height:100vh;display:flex;flex-direction:column}
.dd-main{flex:1}

/* WooCommerce alignment */
.woocommerce .dd-main,.woocommerce-page .dd-main{padding:48px 0}
.woocommerce ul.products li.product .price{color:var(--dd-navy);font-weight:700}
.woocommerce ul.products li.product h2,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--dd-serif);color:var(--dd-dark)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--dd-orange);color:#fff;border-radius:4px;font-weight:700}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--dd-orange-dk);color:#fff}
.woocommerce div.product .product_title{font-family:var(--dd-serif);color:var(--dd-navy)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--dd-olive)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--dd-olive)}

/* Responsive */
@media (max-width:1080px){
  .dd-products{grid-template-columns:repeat(2,1fr)}
  .dd-hero__title{font-size:46px}
}
@media (max-width:900px){
  .dd-wrap{padding:0 24px}
  .dd-hero{grid-template-columns:1fr}
  .dd-hero__copy{padding:48px 24px}
  .dd-hero__media{min-height:340px}
  .dd-split,.dd-contact,.dd-levels,.dd-supports,.dd-footer__grid,.dd-form-grid,.dd-bio,.dd-bio2,.dd-lectures__grid{grid-template-columns:1fr}
  .dd-entry .alignleft,.dd-entry .alignright{float:none;margin:1.2em 0;max-width:100%}
  .dd-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:3px solid #8a950f;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 24px;display:none}
  .dd-nav.is-open{display:flex}
  .dd-nav ul{flex-direction:column;align-items:flex-start;gap:16px}
  .dd-nav-toggle{display:block}
  .dd-header .dd-wrap{position:relative;flex-wrap:wrap}
  .dd-wordmark{font-size:32px}
  .dd-quote{grid-template-columns:1fr;text-align:center;justify-items:center}
  .dd-section{padding:44px 0}
}
@media print{.dd-topbar,.dd-nav,.dd-carousel__arrow,.dd-dots{display:none}}
