/*
Theme Name: Profitable Homesteader
Theme URI: https://profitablehomesteader.com
Author: Alchemy Bloom Studio LLC
Author URI: https://profitablehomesteader.com
Description: High-conversion full-funnel theme for WooCommerce.
Version: 5.0.0
Text Domain: profitablehomesteader
*/

/* ================== TOKENS ================== */
:root{
  /* colors */
  --brand:#1F3A2A;      /* evergreen headings */
  --cta:#038746;        /* spring green */
  --cta-ink:#026236;    /* hover */
  --crimson:#A54646;
  --wheat:#F1E5C6;
  --ink:#222;
  --muted:#555;
  --line:#E8E8E8;
  --card:#fff;
  --bg:#fff;

  /* typography */
  --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-sans-tight:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-serif:"Merriweather",Georgia,"Times New Roman",serif;
  --font-body:var(--font-sans);
  --font-heading:var(--font-serif);
  --lh:1.6;

  /* type scales */
  --h1:clamp(30px,3.0vw,40px);
  --h2:clamp(22px,2.2vw,30px);
  --h3:clamp(18px,2.1vw,24px);
  --small:13px;

  /* radii/spacing/shadow */
  --r-md:8px;
  --r-lg:12px;
  --pad:16px;
  --shadow:0 2px 12px rgba(0,0,0,.06);
}

/* ================== BASE ================== */
html{
  font-synthesis-weight:none;
  font-synthesis-style:none; /* avoid faux bold/italic */
}
*,*::before,*::after{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0; color:var(--ink); background:var(--bg);
  font:400 16px/var(--lh) var(--font-body);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--cta); text-decoration-thickness:.08em; text-underline-offset:.13em; }
a:hover{ color:var(--cta-ink); }
:focus-visible{ outline:2px solid rgba(3,135,70,.55); outline-offset:2px; }
p{ margin:0 0 1rem; }
ul,ol{ margin:0 0 1rem 1.15rem; }
small,.text-small{ font-size:var(--small); color:var(--muted); }
.clear{ clear:both; }
div.logo {background-color:#055a35;   padding-top: 0.5rem;
  padding-bottom: 0.5rem;}
/* Default logo size (desktop-ish) */
.ph-logo {
  display: block;
  max-height: 72px;   /* adjust up/down until it feels right */
  width: auto;
  height: auto;
}

/* Slightly smaller logo on small screens */
@media (max-width: 600px) {
  .ph-logo {
    max-height: 52px;
  }
}


/* tighter line-height */
h1{ font-size: var(--h1); line-height: 1.1; }
h2{ font-size: var(--h2); line-height: 1.2; }

.container{ max-width:1180px; margin-inline:auto; padding-inline:20px; }
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--pad); box-shadow:var(--shadow); }
.wp-block-buttons {
	margin:20px 0;
}
.wp-element-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:14px 22px;
  border-radius:9999px; /* pill */
  background:#16a34a;  /* emerald-ish */
  color:#fff;
  font-weight:800;
  font-size:1.05rem;
  line-height:1;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(22,163,74,.25), 0 2px 6px rgba(0,0,0,.12);
  transition:transform .06s ease, box-shadow .2s ease, background .2s ease;
}
.wp-element-button:hover{ 
  background:#14944a;
  box-shadow:0 10px 24px rgba(20,148,74,.32), 0 4px 10px rgba(0,0,0,.14);
  transform:translateY(-1px);
}
.wp-element-button:active{
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.wp-element-button:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(22,163,74,.6);
}

.wp-block-pullquote {
  background: #E9F8EE;          
  border: 1px solid #BFE8CB;    
  border-radius: 14px;          
  padding: 4px;          
  margin: 0px; 
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.wp-block-pullquote p {
  margin: 0px;
  font-size: 1rem;              /* normal font size */
  line-height: 1.6;             /* comfy line-height */
  font-style: normal;
}
.wp-block-pullquote cite, .wp-block-pullquote footer {
  display: block;
  text-align: right;            /* right-align the name/citation */
  font-style: normal;
	font-size:1rem;
	line-height:1.6;
}
.wp-block-pullquote blockquote {
	padding:5px;
	margin:0px;
}
/* Remove decorative lines some themes add */
.wp-block-pullquote::before,
.wp-block-pullquote::after { content: none !important; }

/* === Pullquote testimonial: override Gutenberg defaults === */
.wp-block-pullquote{
  background:#E9F8EE;
  border:1px solid #BFE8CB;
  border-radius:14px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);

  /* These 2 lines are what fix the "huge empty space" look */
  padding:20px 24px !important;
  margin:0 0 18px !important;
}

.wp-block-pullquote blockquote{
  margin:0 !important;
  padding:0 !important;

  /* This fixes the “narrow centered quote inside a big box” */
  max-width:none !important;

  /* This fixes the default centered pullquote text */
  text-align:left !important;
}

.wp-block-pullquote p{
  margin:0 !important;
  font-size:1rem;
  line-height:1.6;
  font-style:normal;
}

.wp-block-pullquote cite{
  display:block;
  margin-top:10px;
  text-align:right;
  font-style:normal;
  font-size:.95rem;
  color:var(--muted);
}


.hero-video video {
  aspect-ratio: 16/9;
  width: 100%;
  display: block;
  background: #000; /* prevents flash of white */
}

/* Mobile: soften indent/padding */
@media (max-width: 640px){
  .wp-block-pullquote {
    margin-left: .75rem;
    padding: 14px 16px;
  }
}

/* Make it full-width on small screens if you want */
@media (max-width:640px){
  .ph-cta{ width:100%; }
}
}

/* ================== TYPOGRAPHY ================== */
h1,h2,h3,h4,h5,h6{
  margin:.4em 0 .35em;
  font-family:var(--font-heading);
  color:var(--brand);
  font-weight:800;
  line-height:1.25;
}
h1{ font-size:var(--h1); }
h2{ font-size:var(--h2); }
h3{ font-size:var(--h3); }

/* Optional: quick class to opt into tight sans */
.tight{ font-family:var(--font-sans-tight); }

/* ================== BUTTONS ================== */
button,
input[type="submit"],
input[type="button"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 16px; border-radius:12px; border:none;
  font-weight:800; cursor:pointer; color:#fff;
  background:var(--cta);
  box-shadow:0 6px 20px rgba(3,135,70,.18);
  transition:background .15s, box-shadow .15s, transform .02s;
}
class="woocommerce-MyAccount-downloads-file button alt"
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background:var(--cta-ink);
  box-shadow:0 10px 24px rgba(3,135,70,.26);
}
button:active,
input[type="submit"]:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active{ transform:translateY(1px); }

/* Hard override for CART checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:var(--cta) !important; color:#fff !important; border:none !important;
  box-shadow:0 6px 20px rgba(3,135,70,.18) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--cta-ink) !important;
}
/* Make .button.alt match the primary .button styles */

/* Order received → Downloads table */
body.woocommerce-order-received .woocommerce-table--order-downloads .button.alt{
  background-color: var(--btn-primary, #1f7a2e) !important;   /* same as Order again */
  border-color: var(--btn-primary, #1f7a2e) !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.woocommerce-order-received .woocommerce-table--order-downloads .button.alt:hover,
body.woocommerce-order-received .woocommerce-table--order-downloads .button.alt:focus{
  background-color: var(--btn-primary-hover, #166a24) !important;
  border-color: var(--btn-primary-hover, #166a24) !important;
  color: #fff !important;
}

/* My Account → Downloads */
body.woocommerce-account .woocommerce-MyAccount-downloads .button.alt{
  background-color: var(--btn-primary, #1f7a2e) !important;
  border-color: var(--btn-primary, #1f7a2e) !important;
  color: #fff !important;
}
body.woocommerce-account .woocommerce-MyAccount-downloads .button.alt:hover,
body.woocommerce-account .woocommerce-MyAccount-downloads .button.alt:focus{
  background-color: var(--btn-primary-hover, #166a24) !important;
  border-color: var(--btn-primary-hover, #166a24) !important;
  color: #fff !important;
}


/* ================== FORMS ================== */
label{ font-size:13px; color:var(--muted); display:block; margin:0 0 4px; }
.form-row{ margin-bottom:12px; }
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],
input[type="number"],select,textarea{
  width:100%; border:1px solid var(--line); border-radius:var(--r-md);
  padding:9px 11px; font:inherit; background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
textarea{ min-height:120px; }
input:focus,select:focus,textarea:focus{
  border-color:#cfe5d0; box-shadow:0 0 0 3px rgba(3,135,70,.12); outline:none;
}

/* ================== WOO GLOBAL ================== */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info{
  border-radius:12px; padding:12px 14px;
}
.woocommerce .woocommerce-error{ border-color:#f4d6d6; background:#fff7f7; }
.woocommerce .woocommerce-message{ border-color:#d8f0e2; background:#f6fffa; }
.woocommerce .woocommerce-info{ border-color:#dfe6f3; background:#f8fbff; }

/* product grid */
.woocommerce ul.products li.product{
  border:1px solid var(--line); border-radius:var(--r-lg);
  padding:var(--pad); box-shadow:var(--shadow);
}
.woocommerce ul.products li.product .button{ width:100%; }

/* price tones */
.price ins{ color:var(--brand); text-decoration:none; }
.price del{ color:var(--crimson); }
.onsale{ background:var(--crimson); color:#fff; }

/* My Account nav */
.woocommerce-MyAccount-navigation ul{
  list-style:none; padding:0; margin:0 0 16px; display:grid; gap:8px;
}
.woocommerce-MyAccount-navigation li a{
  display:block; padding:10px 12px; border:1px solid var(--line);
  border-radius:10px; color:var(--brand);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover{
  background:#f6faf8; border-color:#cfe5d0;
}

/* ================== CHECKOUT LAYOUT (hf-*) ================== */
.hf-right{ width:100%; max-width:400px; margin:0 auto; }
.hf-sticky{ position:sticky; top:20px; }

.hf-product-hero{ margin:-24px -24px 20px; border-radius:12px 12px 0 0; overflow:hidden; }
.hf-product-hero img{ width:100%; height:auto; display:block; }

.hf-headline{
  font-size:1.5rem; font-weight:700; line-height:1.3;
  margin:0 0 20px; text-align:center; color:#333;
}

.hf-checkout-columns{ display:flex; flex-direction:column; gap:24px; }
@media (min-width:768px){
  .hf-checkout-columns{ flex-direction:row; }
  .hf-column-left{ flex:1; }
  .hf-column-right{ flex:0 0 380px; }
}

/* ================== CHECKOUT FORMS ================== */
.woocommerce-billing-fields h3,
#order_review_heading{
  font-size:1.2rem; font-weight:600; margin:0 0 16px; color:#333;
}

.form-row{ margin-bottom:16px; }
.form-row label{
  display:block; margin-bottom:6px; font-weight:500; color:#333; font-size:.9rem;
}
.form-row input[type="text"],
.form-row input[type="tel"],
.form-row input[type="email"],
.form-row select{
  width:100%; padding:12px; border:2px solid #e1e5e9; border-radius:8px;
  font-size:1rem; transition:border-color .2s ease; box-sizing:border-box;
}
.form-row input:focus,
.form-row select:focus{ outline:none; border-color:#038746; }

/* order summary */
.shop_table{ width:100%; border-collapse:collapse; margin-bottom:20px; }
.shop_table .cart_item td{ padding:8px 0; border-bottom:1px solid #f0f0f0; }
.shop_table .order-total{ border-top:2px solid #e1e5e9; }
.shop_table .order-total th,
.shop_table .order-total td{ padding:16px 0; font-size:1.1rem; font-weight:700; }
.order-total .woocommerce-Price-amount{ color:#038746; }

/* order bumps */
.hf-bumps-enhanced{ background:#f8f9fa; border:2px solid #e9ecef; border-radius:8px; }
.hf-bump-title{ font-size:1.1rem; color:#333; }
.hf-bump-row{
  display:flex; align-items:flex-start; padding:12px; margin-bottom:12px;
  cursor:pointer; transition:all .2s ease;
}
.hf-bump-row:last-child{ margin-bottom:0; }
.hf-bump-row:hover{ border-color:#038746; }
.hf-bump-thumb{ flex:0 0 60px; margin-right:12px; }
.hf-bump-img{ width:60px; height:60px; border-radius:6px; object-fit:cover; }
.hf-bump-copy{ flex:1; }
.hf-bump-name{ display:block; font-weight:600; margin-bottom:4px; color:#333; }
.hf-bump-price{ display:block; margin-bottom:4px; }
.hf-bump-price del{ color:#6c757d; margin-right:6px; }
.hf-bump-price ins{ text-decoration:none; color:#038746; font-weight:600; }
.hf-bump-desc{ font-size:.9rem; color:#6c757d; line-height:1.4; }
.hf_order_bump{ margin-left:12px; margin-top:4px; }

/* payment methods */
#payment .wc_payment_methods{ list-style:none; padding:0; margin:0 0 20px; }
.wc_payment_method{
  margin-bottom:12px; padding:12px; border:2px solid #e1e5e9;
  border-radius:8px; background:#fff;
}
.wc_payment_method label{
  display:flex; align-items:center; cursor:pointer; font-weight:500; margin:0;
}
.wc_payment_method input[type="radio"]{ margin-right:8px; }
.payment_box{
  margin-top:12px; padding:12px; background:#f8f9fa; border-radius:6px; font-size:.9rem;
}

/* terms & conditions */
.woocommerce-terms-and-conditions-wrapper{ margin:20px 0; }
.woocommerce-form__label-for-checkbox{
  display:flex; align-items:flex-start; cursor:pointer; font-size:.9rem;
}
.woocommerce-form__label-for-checkbox input{ margin-right:8px; margin-top:2px; }

/* place order */
#place_order{
  width:100%; background:#038746; color:#fff; border:none; padding:16px;
  font-size:1.1rem; font-weight:600; border-radius:8px; cursor:pointer;
  transition:background-color .2s ease;
}
#place_order:hover{ background:#027a3e; }

/* guarantee */
.hf-guarantee{
  text-align:center; color:#6c757d; font-size:.9rem; margin-top:20px;
  padding-top:20px; border-top:1px solid #e1e5e9;
}

/* coupon */
.checkout_coupon{
  background:#f8f9fa; padding:16px; border-radius:8px; margin-bottom:20px;
}
.checkout_coupon p{ margin:0 0 12px; }
.checkout_coupon .form-row{ margin-bottom:12px; }
.checkout_coupon .button{
  background:#6c757d; color:#fff; border:none; padding:12px 20px; border-radius:6px; cursor:pointer; font-weight:500;
}
.checkout_coupon .button:hover{ background:#5a6268; }
.required{ color:#dc3545; }
.optional{ color:#6c757d; font-size:.8rem; }

/* ================== RESPONSIVE ================== */
@media (max-width:767px){
  .hf-card{ padding:16px; margin:0 -16px; border-radius:0; box-shadow:none; }
  .hf-product-hero{ margin:-16px -16px 16px; border-radius:0; }
  .form-row-first,.form-row-last{ width:100%; float:none; }
}
