/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
    width: 100%;
	border-color: #e0e0e0;
}

.site-header {
    border-bottom: 1px solid #e0e0e0;
}

/* h1.page-title {
	display: inline-block;
	background-color: rgba(0,0,0,0.5);
	margin: 0 auto;
	padding: 0.35rem 2rem;
	font-weight: bold;
} */

h1.page-title {
	font-weight: bold;
}

.page-hero  {
	border-bottom: 1px solid #e0e0e0;
}

p.forgot-password {
	margin-bottom: 0;
}

nav.woocommerce-MyAccount-navigation ul {
    border-top: none;
}

nav.woocommerce-MyAccount-navigation ul li:last-child a {
    border-bottom: none;
}

.main-navigation .menu-bar-item.wc-menu-item {
    order: 10;
}

.lightweight-accordion {
    border: 1px solid #e0e0e0;
}

.google-map iframe {
	margin-bottom: -7px;
}

.custom-product-info {
    margin-top: 15px;
}

.custom-product-info p {
    margin: 5px 0;
}

.price-label {
    font-weight: bold;
}

.product-sku,
.product-size,
.product-material {
    font-size: 14px;
}

.woocommerce div.product p.price {
    margin-bottom: 20px;
}

/* Custom CSS for the "First Name" field */
.first-name-field {
    margin-bottom: 15px;
}

.first-name-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.first-name-field input {
    width: 100%;
    padding: 8px;
    font-size: 14px;
    box-sizing: border-box;
}

/* Hide the Add to Cart button in the All Products block */
.wc-block-grid__product-add-to-cart {
    display: none;
}

aside.customize {
	border: 1px solid #e0e0e0;
	padding: 0.55rem 1rem 0.45rem 1rem;
	margin-bottom: 20px;
}

aside.customize h5 {
	margin-bottom: 10px;
	font-weight: bold;
}

div.woocommerce table.shop_table {
    border: 1px solid #e0e0e0;
}

.woocommerce-checkout #payment {
    border: 1px solid #e0e0e0;
}

.woocommerce-privacy-policy-text p {
	padding: 0 1rem 1rem 1rem;
	margin-bottom: 0;
}

.woocommerce-checkout #payment div.form-row {
    padding-bottom: 0;
	margin-bottom: 0;
}

.login-notice,
.login-notice-link {
	text-align: center;
	font-weight: bold;
}

.login-notice-link a {
	color: #fff;
	background-color: #69813A;
	padding: 12px 27px;
	border-radius: 50px;
	margin: 10px auto 0;
}

.login-notice-link a:hover {
	background-color: #111111;
}

.woocommerce ul.products li.product .button {
    border-radius: 50px;
}

/* Custom styles for the Branch field */
.woocommerce-billing-fields #billing_branch_field {
    margin-bottom: 20px;
}

.woocommerce-billing-fields #billing_branch_field label {
    margin-bottom: 10px;
    display: inline-block;
	min-width: 30%;
}

.woocommerce-billing-fields #billing_branch_field ul {
    list-style: none;
    padding: 0;
}

.woocommerce-billing-fields #billing_branch_field ul li {
    margin-bottom: 5px;
}

#billing_branch_field input {
    margin-right: 5px;
	display: inline-block;
}

#billing_branch_field > label:first-child {
	display: block;
	font-weight: bold;
}

.woocommerce form .form-row > label:first-child {
    font-weight: bold;
}

li.product {
    min-height: 200px; /* Ensures the minimum height of the product container */
}

li.product .wc-product-image {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px; /* Ensures the image area has a minimum height */
}

li.product .wc-product-image img {
    margin: auto; /* Centers the image inside the div */
    display: block; /* Ensures proper centering */
}

div.woocommerce-variation-add-to-cart {
    display: block;
}

a.reset_variations {
	display: none !important;
}

/* ===========================
   R3E Customer Fields (clean)
   =========================== */

/* Tunables */
.r3e-customize{
  --r3e-icon-w: 20px;      /* icon pseudo width */
  --r3e-gap: .75rem;       /* gap between parts */
  --r3e-label-w: 110px;    /* label column width */
}

/* Card container */
.r3e-customize {
  margin: 1.5rem 0;
  padding: 1.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f9fafb;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  font-family: inherit;
}

/* Heading */
.r3e-customize h5 {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 1rem 0;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: .5rem;
}

/* Field row */
.r3e-customize .r3e-field{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;                  /* allow instructions to wrap to next line */
  gap: var(--r3e-gap);
  margin-bottom: 1rem;
	margin-top: 12px;
}

/* Shared icon (pseudo) */
.r3e-customize .r3e-field::before{
  display:inline-block;
  width: var(--r3e-icon-w);
  text-align:center;
  font-size:1rem;
  color:#1f2937;
  /* Support FA5 & FA6 */
  font-family: "Font Awesome 6 Free","Font Awesome 5 Free";
  font-weight:900;
}

/* Icons per field */
.r3e-field-first-name::before  { content:"\f007"; } /* user */
.r3e-field-last-name::before   { content:"\f2c0"; } /* user-circle */
.r3e-field-title::before       { content:"\f0f2"; } /* address-card */
.r3e-field-pronouns::before    { content:"\f2b9"; } /* id-badge */
.r3e-field-upload-file::before { content:"\f093"; } /* upload */

/* Label column */
.r3e-customize .r3e-field label{
  flex: 0 0 var(--r3e-label-w);
  text-align:left;
  margin-top:0;
  font-weight:600;
  font-size:.95rem;
  color:#374151;
}

.r3e-customize .r3e-field input[type="text"],
.r3e-customize .r3e-field input[type="file"]{
  flex: 1 1 auto;      /* grow to fill available space */
  min-width: 0;        /* prevents overflow in flex layouts */
  width: 100%;         /* ensures it spans full width */
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: .95rem;
  background-color: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}


.r3e-customize .r3e-field input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 2px rgba(37,99,235,0.2);
  outline:none;
}

/* Small helper text (file) */
.r3e-customize .r3e-field small{
  display:block;
  margin-top:.25rem;
  font-size:.8rem;
  color:#6b7280;
}

/* Instructions block (forces new line and aligns under input) */
.r3e-customize .r3e-instructions{
  flex: 0 0 100%;                   /* push to next line */
  margin-top:0;
  /* indent = icon + gap + label + gap */
  margin-left: 0;
  margin-bottom: 0;
  padding:.25rem .75rem;
  background:#f3f4f6;
  border-radius:6px;
  line-height:1.45;
  color:#374151;
}
.r3e-customize .r3e-instructions p{ margin:0 0 .4rem; }
.r3e-customize .r3e-instructions p:last-child{ margin-bottom:0; }

/* Mobile: stack label above input; drop indent */
@media (max-width: 600px){
  .r3e-customize .r3e-field label{
    flex:0 0 100%;
    text-align:left;
    margin-top:0;
  }
  .r3e-customize .r3e-instructions{
    margin-left:0;
  }
}


/* Make the store subcategory bar full-width above content */
.r3e-subcat-dropdown {
  display: block;
  width: 100%;
  clear: both;           /* escape floated/column layouts */
  margin: 1rem 0 1.25rem;
}

/* If your theme uses CSS grid for content areas, span all columns */
@supports (grid-template-columns: repeat(12, 1fr)) {
  .r3e-subcat-dropdown {
    grid-column: 1 / -1;
  }
}


.r3e-subcat-dropdown {
  margin: 0 0 1rem;
}
.r3e-subcat-label {
  display: block;
  font-weight: 600;
  margin-bottom: .35rem;
}
.r3e-subcat-select {
  width: 100%;
  max-width: 420px;
  padding: .5rem .75rem;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  font-size: .95rem;
}

span.surcharge {
	line-height: 1.1;
}

/* Make textarea match inputs */
.r3e-customize .r3e-field textarea {
  flex: 1 1 260px;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: .95rem;
  background-color: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
	min-width: 100%;
}
.r3e-customize .r3e-field textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37,99,235,0.2);
  outline: none;
}

.woocommerce ul.products li.product {
	border: 1px solid #ddd;
	padding: 1rem;
}

.single-product .entry-content > .product-type-simple {
	border: 1px solid #dddddd;
    padding: 2rem 2rem 0rem 2rem;
    margin-bottom: 2rem;
}

/* .woocommerce-product-gallery__wrapper {
    display: flex;
    justify-content: center;
    align-items: center;     
    min-height: 500px;        
}

.woocommerce-product-gallery__image img {
    max-width: 100%;
    height: auto;
    display: block;
} */


