/*
Theme Name: Sylph Audio Child
Template: astra
Description: Custom child theme for Sylph Audio — ink/paper palette, Fraunces + Karla type.
Version: 1.3
*/

:root{
  --paper:#FFFFFF;
  --card:#FFFFFF;
  --ink:#173B45;
  --muted:#5C6E73;
  --accent:#173B45;
  --line:#D9D9D9;
  --line-light:#EAEAEA;
}

/* base */
html, body{
  background:var(--paper) !important;
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.7;
}

a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }

h1, h2, h3, h4, h5,
.entry-title, .woocommerce-loop-product__title, .product_title{
  font-family:'Poppins', sans-serif;
  font-weight:500;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:0.08em;
}

h1{ font-size:1.9rem; line-height:1.4; }
h2{ font-size:1.4rem; }
h3{ font-size:1.1rem; }

.woocommerce div.product .product_title{
  text-align:center;
  font-size:1.7rem;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* header — solid white, distinct from the off-white paper page background */
.site-header, #masthead{
  background:#FFFFFF !important;
  border-bottom:1px solid var(--ink);
}
.site-header .site-title, .site-header .site-title a{
  color:var(--ink) !important;
  font-size:1.5rem;
}
.main-header-menu a{
  font-family:'Inter', sans-serif;
  color:var(--ink) !important;
  text-transform:none;
  font-size:0.95rem;
  letter-spacing:0.01em;
  font-weight:400;
}
.main-header-menu a:hover{ color:var(--muted) !important; }

/* footer */
.site-footer, #colophon{
  background:var(--paper);
  border-top:1px solid var(--ink);
  color:var(--muted);
  font-size:0.85rem;
}

/* buttons, generally */
button, .button, input[type="submit"],
.wp-block-button__link,
.woocommerce a.button, .woocommerce button.button,
.woocommerce #respond input#submit{
  background:var(--ink) !important;
  color:var(--paper) !important;
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
  font-family:'Inter', sans-serif;
  letter-spacing:0.03em;
  font-size:0.85rem;
  padding:12px 22px !important;
  box-shadow:none !important;
  transition:background 0.15s ease, border-color 0.15s ease;
}
button:hover, .button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:var(--paper) !important;
}

/* cards, generic */
.card, .ast-card, .comment-form, .woocommerce-info, .woocommerce-message{
  background:var(--card);
  border:1px solid var(--ink) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* shop grid */
.woocommerce ul.products li.product{
  background:var(--card);
  border:1px solid var(--ink);
  padding:14px;
  margin-bottom:24px;
  transition:border-color 0.15s ease;
}
.woocommerce ul.products li.product:hover{
  border-color:var(--accent);
}
.woocommerce ul.products li.product img{
  border-radius:0;
  border:1px solid var(--line-light);
  margin-bottom:10px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1.05rem;
  margin:6px 0 2px;
}
.woocommerce ul.products li.product .price,
.woocommerce span.price{
  color:var(--accent) !important;
  font-family:'Inter', sans-serif;
  font-weight:500;
}
.woocommerce ul.products li.product .price del{
  color:var(--muted);
  opacity:1;
}

/* single product page */
.woocommerce div.product .product_title{ font-size:2rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price{
  color:var(--ink) !important;
  font-size:1rem;
  text-align:center;
  display:block;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-family:'Inter', sans-serif;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--muted);
  font-family:'Inter', sans-serif;
}
.woocommerce div.product form.cart .quantity input{
  border:1px solid var(--ink);
  border-radius:0;
  height:44px;
}
.woocommerce .woocommerce-tabs ul.tabs li{
  font-family:'Poppins', sans-serif;
}
.woocommerce div.product div.images .flex-control-thumbs img{
  border-radius:0;
  border:1px solid var(--line-light);
}

/* cart & checkout */
.woocommerce table.shop_table{
  border:1px solid var(--ink);
  border-radius:0;
}
.woocommerce table.shop_table th{
  font-family:'Poppins', sans-serif;
  border-bottom:1px solid var(--ink);
}
.woocommerce table.shop_table td, .woocommerce table.shop_table th{
  border-radius:0;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce-checkout select, .woocommerce-checkout input{
  border:1px solid var(--line);
  border-radius:0;
  background:var(--card);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout input:focus{
  border-color:var(--ink);
  outline:none;
}
#order_review, .woocommerce-checkout-review-order{
  background:var(--card);
  border:1px solid var(--ink);
  padding:16px;
}

/* WooCommerce Blocks cart — remove item button (the actual cart system in use) */
button.wc-block-cart-item__remove-link{
  background:transparent !important;
  color:var(--ink) !important;
  border:none !important;
  border-radius:50% !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  flex-shrink:0 !important;
  position:static !important;
  margin:0 !important; /* Reset margin so it centers vertically */
  padding:0 !important;
  font-size:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
button.wc-block-cart-item__remove-link svg{
  width:14px !important;
  height:14px !important;
  fill:var(--ink) !important;
}
button.wc-block-cart-item__remove-link:hover{
  background:var(--ink) !important;
}
button.wc-block-cart-item__remove-link:hover svg{
  fill:var(--paper) !important;
}

/* --------------------------------------------------------
   FIX: WooCommerce Blocks Quantity Input & Trash Align
-------------------------------------------------------- */

/* 1. Container for Quantity Group + Trash Can */
.wc-block-cart-item__quantity {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 12px !important;
}

/* 2. Wrapper for Minus, Input, Plus */
.wc-block-components-quantity-selector {
  display: flex !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  height: 38px !important;
  width: 120px !important; /* Forces total width of selector container */
  max-width: 120px !important;
  min-width: 120px !important;
  box-sizing: border-box !important;
}

/* 3. Force Visual Order: Minus (1) -> Input (2) -> Plus (3) */
.wc-block-components-quantity-selector__button--minus { 
  order: 1 !important; 
  flex: 0 0 38px !important; /* Locks width of minus button */
}
.wc-block-components-quantity-selector__input { 
  order: 2 !important; 
  flex: 1 1 auto !important; /* Allows the middle input to fill the remaining area cleanly */
  width: 100% !important;
  min-width: 0 !important;
}
.wc-block-components-quantity-selector__button--plus { 
  order: 3 !important; 
  flex: 0 0 38px !important; /* Locks width of plus button */
}

/* 4. Strip global padding and perfectly center symbols */
.wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  font-size: 1.2rem !important; /* Standardizes symbol scale */
  line-height: 1 !important; /* Perfect vertical layout centering */
  letter-spacing: 0 !important; /* Overrides global button letter-spacing */
  text-indent: 0 !important; 
  box-sizing: border-box !important;
}
.wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--line-light) !important;
}
.wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed;
}

/* 5. Clean up the Input field */
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  height: 38px !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: 1px solid var(--line) !important;
  border-right: 1px solid var(--line) !important;
  text-align: center;
  background: var(--paper) !important;
  color: var(--ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* proceed to checkout — force theme navy, override plugin/default yellow.
   Covers both classic WooCommerce markup and the WooCommerce Blocks cart. */
.woocommerce a.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
a.wc-proceed-to-checkout,
.woocommerce-cart .checkout-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a{
  background:var(--ink) !important;
  color:var(--paper) !important;
  border:1px solid var(--ink) !important;
}
.woocommerce a.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover{
  background:var(--muted) !important;
  border-color:var(--muted) !important;
}
.woocommerce span.onsale{
  background:var(--accent) !important;
  border-radius:0 !important;
  font-family:'Inter', sans-serif;
  font-size:0.7rem;
  letter-spacing:0.04em;
}

/* remove Astra's rounded-corner defaults site-wide, except our round remove button */
*:not(.wc-block-cart-item__remove-link){
  border-radius:0 !important;
}
img{ border-radius:0 !important; }