/*
Theme Name: PantryTec
Theme URI: https://pantrytec.com
Description: Custom theme for PantryTec, built on the Astra framework. This is a locked, renamed child theme — all PantryTec branding, header, and layout customizations live here so that framework updates can never overwrite them. Do not delete the Astra parent theme; this theme depends on it.
Author: PantryTec
Author URI: https://pantrytec.com
Template: astra
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pantrytec
*/

/* ============================================================
   PantryTec — Brand tokens
   ============================================================ */
:root{
  --pt-green:#17a34a;
  --pt-green-dark:#128a3e;
  --pt-navy:#1a2431;
}

/* ============================================================
   Fonts (loaded from Google Fonts via functions.php)
   ============================================================ */
body,
.ast-container,
.entry-content,
button,
input,
select,
textarea{
  font-family:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title{
  font-family:'Montserrat', sans-serif;
  font-weight:700;
  color:var(--pt-navy);
}

/* ============================================================
   HEADER — logo left, nav centered, CTA buttons right
   (matches pantrytec.com)
   ------------------------------------------------------------
   Astra's primary header uses a left section (logo) and a
   right section (menu). We let the right section fill the row,
   center the regular menu items, and push the two CTA buttons
   to the far right using auto margins.
   ============================================================ */
.site-header-primary-section-right{
  flex:1 1 auto;
}
.main-header-menu{
  width:100%;
}
/* auto-margin before the first real menu item centers the group */
.main-header-menu > li.menu-item:first-child{
  margin-left:auto !important;
}
/* auto-margin before the first button pushes both buttons right */
.main-header-menu > li.pt-btn-outline{
  margin-left:auto !important;
}

/* ---- CTA buttons ---- */
.main-header-menu li.pt-nav-btn{
  display:flex;
  align-items:center;
}
.main-header-menu li.pt-nav-btn > a{
  border-radius:8px;
  padding:9px 20px !important;
  font-weight:600;
  line-height:1.1;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.main-header-menu li.pt-btn-outline > a{
  border:2px solid var(--pt-green);
  color:var(--pt-green);
  background:transparent;
  margin-right:10px;
}
.main-header-menu li.pt-btn-outline > a:hover{
  background:var(--pt-green);
  color:#fff;
}
.main-header-menu li.pt-btn-solid > a{
  background:var(--pt-green);
  color:#fff !important;
  border:2px solid var(--pt-green);
}
.main-header-menu li.pt-btn-solid > a:hover{
  background:var(--pt-green-dark);
  border-color:var(--pt-green-dark);
}
/* strip Astra's default menu underline/animation on the buttons */
.main-header-menu li.pt-nav-btn > a:before,
.main-header-menu li.pt-nav-btn > a:after{
  display:none !important;
}

/* ---- Regular nav links ---- */
.main-header-menu .menu-item:not(.pt-nav-btn) > a{
  color:var(--pt-navy);
  font-weight:500;
}
.main-header-menu .menu-item:not(.pt-nav-btn) > a:hover{
  color:var(--pt-green);
}

/* ============================================================
   Hide the auto-generated page title on rebuilt pages
   (each page ships its own hero/heading in its content)
   ============================================================ */
.page .entry-header{
  display:none !important;
}
.ast-separate-container .ast-article-single{
  padding-top:0 !important;
}

/* ============================================================
   Remove the "Powered by Astra WordPress Theme" footer credit
   ============================================================ */
.ast-small-footer .ast-footer-copyright a[href*="wpastra"],
.site-below-footer-wrap a[href*="wpastra"],
.site-below-footer-wrap a[rel~="nofollow"][href*="astra"]{
  display:none !important;
}

/* ============================================================
   CUSTOM FOOTER
   ============================================================ */
/* hide Astra's empty default footer bar */
.site-primary-footer-wrap,
.site-below-footer-wrap,
.ast-small-footer{ display:none !important; }

.pt-footer{
	background:#1a2431;
	color:#c7cfda;
	font-family:'Montserrat', sans-serif;
}
.pt-footer a{ text-decoration:none; }
.pt-footer-inner{
	max-width:1340px;
	margin:0 auto;
	padding:64px 40px 44px;
	display:grid;
	grid-template-columns:1.7fr 1fr 1fr 1.2fr;
	gap:48px;
}
.pt-footer-wordmark{
	display:inline-block;
	font-size:27px;
	font-weight:800;
	letter-spacing:-.5px;
	color:#fff !important;
	line-height:1;
}
.pt-footer-wordmark span{ color:#17a34a; }
.pt-footer-brand p{
	margin:16px 0 22px;
	line-height:1.65;
	font-size:15px;
	color:#94a0b1;
	max-width:340px;
}
.pt-social{ display:flex; gap:12px; }
.pt-social-link{
	width:40px; height:40px;
	border-radius:9px;
	background:rgba(255,255,255,.08);
	display:flex; align-items:center; justify-content:center;
	color:#fff !important;
	transition:background .15s ease, transform .15s ease;
}
.pt-social-link:hover{ background:#17a34a; transform:translateY(-2px); }
.pt-social-link svg{ width:19px; height:19px; fill:currentColor; }
.pt-footer-col h4{
	color:#fff;
	font-size:14px;
	font-weight:700;
	margin:0 0 18px;
	text-transform:uppercase;
	letter-spacing:.6px;
}
.pt-footer-col ul{ list-style:none; margin:0; padding:0; }
.pt-footer-col li{ margin-bottom:11px; }
.pt-footer-col a{ color:#94a0b1 !important; font-size:15px; transition:color .15s ease; }
.pt-footer-col a:hover{ color:#17a34a !important; }
.pt-footer-cta p{ color:#94a0b1; font-size:15px; line-height:1.6; margin:0 0 18px; }
.pt-footer a.pt-footer-btn{
	display:inline-block;
	background:#17a34a;
	color:#fff !important;
	padding:12px 26px;
	border-radius:9px;
	font-weight:600;
	font-size:15px;
	transition:background .15s ease;
}
.pt-footer a.pt-footer-btn:hover{ background:#128a3e; color:#fff !important; }
.pt-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.pt-footer-bottom-inner{
	max-width:1340px;
	margin:0 auto;
	padding:22px 40px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;
	font-size:14px;
	color:#8792a4;
}
.pt-legal a{ color:#8792a4 !important; margin-left:26px; transition:color .15s ease; }
.pt-legal a:first-child{ margin-left:0; }
.pt-legal a:hover{ color:#17a34a !important; }

@media (max-width:921px){
	.pt-footer-inner{ grid-template-columns:1fr 1fr; gap:36px; padding:48px 24px 32px; }
	.pt-footer-bottom-inner{ flex-direction:column; text-align:center; padding:20px 24px; }
	.pt-legal a{ margin:0 13px; }
}
@media (max-width:560px){
	.pt-footer-inner{ grid-template-columns:1fr; gap:30px; }
}
