/* ============================================================
   PRECISE FUMES — WooCommerce skin
   ============================================================ */
.woocommerce, .woocommerce-page{ font-family:var(--pf-sans); }
.woocommerce .pf-container{ }

/* Buttons -> brand */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .single_add_to_cart_button,
.woocommerce a.button.alt, .woocommerce button.button.alt{
	background:var(--pf-ink); color:var(--pf-paper); border:1px solid var(--pf-ink);
	border-radius:var(--pf-radius); font-size:.72rem; text-transform:uppercase; letter-spacing:.18em;
	font-weight:500; padding:15px 30px; transition:background .5s var(--pf-ease), color .5s var(--pf-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{ background:transparent; color:var(--pf-ink); }

/* ---- Shop intro ---- */
.pf-shop-hero{ text-align:center; padding:140px 0 40px; }
.pf-shop-hero .pf-eyebrow{ display:block; }
.pf-shop-hero h1{ font-size:clamp(2.4rem,6vw,4.2rem); margin:.3em 0 0; }
.pf-shop-hero p{ max-width:54ch; margin:1em auto 0; color:var(--pf-fg-soft); line-height:1.7; }

/* ---- Shop grid ---- */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(3,1fr); gap:30px 24px; margin:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after{ display:none; }
.woocommerce ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; text-align:left; }
.woocommerce ul.products li.product .pf-card__media{ aspect-ratio:3/4; background:var(--pf-cream); overflow:hidden; position:relative; }
.woocommerce ul.products li.product img{ margin:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--pf-serif); font-weight:400; font-size:1.4rem; padding:14px 0 2px; }
.woocommerce ul.products li.product .price{ font-family:var(--pf-serif); color:var(--pf-fg); font-size:1.1rem; }
.woocommerce ul.products li.product .price del{ color:var(--pf-fg-soft); font-size:.9rem; }
.woocommerce ul.products li.product .button{ margin-top:12px; display:inline-block; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ display:block; text-decoration:none; color:inherit; }
.woocommerce .woocommerce-result-count{ color:var(--pf-fg-soft); font-size:.8rem; letter-spacing:.08em; }
.woocommerce .woocommerce-ordering select{ border:1px solid var(--pf-line); border-radius:var(--pf-radius); padding:10px 14px; font-family:var(--pf-sans); }
@media (max-width:880px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:520px){ .woocommerce ul.products{ grid-template-columns:1fr !important; } }

/* ---- Single product ---- */
.single-product div.product{ display:grid; grid-template-columns:1.05fr 1fr; gap:60px; padding-top:130px; }
.single-product div.product .woocommerce-product-gallery{ width:100% !important; float:none; margin:0; }
.single-product .pf-single__media{ background:var(--pf-cream); aspect-ratio:3/4; overflow:hidden; }
.single-product .pf-single__media .pf-bottle{ width:100%; height:100%; }
.single-product div.product .product_title{ font-family:var(--pf-serif); font-weight:300; font-size:clamp(2.2rem,4.5vw,3.4rem); margin:0 0 .2em; }
.single-product .pf-single-fam{ font-size:.72rem; text-transform:uppercase; letter-spacing:.2em; color:var(--pf-gold-deep); display:block; margin-bottom:14px; }
.single-product div.product p.price, .single-product div.product span.price{ font-family:var(--pf-serif); font-size:1.6rem; color:var(--pf-fg); }
.single-product .woocommerce-product-details__short-description{ color:var(--pf-fg-soft); line-height:1.8; margin:18px 0; }
.single-product .woocommerce-product-details__short-description .pf-mood{ display:inline-block; font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; color:var(--pf-gold-deep); margin-bottom:6px; }
.single-product table.variations{ margin:18px 0; }
.single-product table.variations td, .single-product table.variations th{ padding:8px 0; }
.single-product table.variations label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; }
.single-product .variations select{ border:1px solid var(--pf-line); border-radius:var(--pf-radius); padding:12px 14px; font-family:var(--pf-sans); min-width:160px; }
.single-product .quantity input.qty{ border:1px solid var(--pf-line); border-radius:var(--pf-radius); padding:12px; width:74px; }
.single-product .woocommerce-tabs{ grid-column:1 / -1; margin-top:40px; }
.single-product .woocommerce-tabs ul.tabs{ border:0; padding:0; }
.single-product .woocommerce-tabs ul.tabs li{ background:none; border:0; border-bottom:1px solid var(--pf-line); border-radius:0; }
.single-product .woocommerce-tabs ul.tabs li a{ font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; color:var(--pf-fg-soft); }
.single-product .woocommerce-tabs ul.tabs li.active a{ color:var(--pf-fg); }
.pf-notes-pyramid{ margin-top:8px; }
.related.products{ grid-column:1 / -1; margin-top:60px; }
.related.products > h2{ font-family:var(--pf-serif); font-weight:300; font-size:2rem; margin-bottom:24px; }
@media (max-width:880px){ .single-product div.product{ grid-template-columns:1fr; gap:30px; } }

/* ---- Cart & Checkout ---- */
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content{ padding-top:130px; }
.woocommerce-cart .wp-block-post-title, .pf-page-title{ font-family:var(--pf-serif); font-weight:300; font-size:clamp(2rem,5vw,3rem); text-align:center; margin-bottom:8px; }
.woocommerce table.shop_table{ border:1px solid var(--pf-line); border-radius:var(--pf-radius); }
.woocommerce table.shop_table th{ font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:500; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3{ font-family:var(--pf-serif); font-weight:400; }
.woocommerce-checkout #payment{ background:var(--pf-cream); border-radius:var(--pf-radius); }
.woocommerce-checkout #payment ul.payment_methods li{ font-size:.95rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select, .select2-container .select2-selection{
	border:1px solid var(--pf-line) !important; border-radius:var(--pf-radius); padding:12px 14px; font-family:var(--pf-sans); }
.woocommerce-message, .woocommerce-info, .woocommerce-error{ border-top-color:var(--pf-gold-deep); border-radius:var(--pf-radius); }
.woocommerce .quantity .qty{ font-family:var(--pf-sans); }

/* page title centered for woo pages */
.woocommerce-cart .page-title, .woocommerce-checkout .page-title{ text-align:center; font-family:var(--pf-serif); }

/* ============================================================
   BLOCK Cart & Checkout (wc-block-*) — dark luxury skin
   ============================================================ */
body.woocommerce-cart .pf-main, body.woocommerce-checkout .pf-main{ padding-top:118px; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{ max-width:var(--pf-container); margin-inline:auto; padding-inline:24px; color:var(--pf-fg); }
.wc-block-cart, .wc-block-checkout{ color:var(--pf-fg); }
.wc-block-cart *, .wc-block-checkout *{ border-color:var(--pf-line); }

/* intro header we prepend */
.pf-cart-intro{ text-align:center; padding:124px 0 8px; }
.pf-cart-intro h1{ font-family:var(--pf-serif); font-weight:300; font-size:clamp(2.2rem,5vw,3.4rem); margin:.2em 0 0; }
.pf-cart-intro p{ color:var(--pf-fg-soft); margin-top:.6em; }
body.woocommerce-cart .pf-cart-intro, body.woocommerce-checkout .pf-cart-intro{ }
body.woocommerce-cart .pf-cart-intro ~ .pf-main, .pf-cart-intro + *{ }

/* headings + product names -> serif */
.wc-block-components-title, .wc-block-cart__totals-title, .wp-block-heading,
.wc-block-checkout__main-title, .wc-block-components-checkout-step__title{ font-family:var(--pf-serif) !important; font-weight:400 !important; color:var(--pf-fg) !important; }
.wc-block-components-product-name{ font-family:var(--pf-serif) !important; font-size:1.2rem !important; color:var(--pf-fg) !important; text-decoration:none; }
.wc-block-components-product-metadata, .wc-block-components-product-details,
.wc-block-components-order-summary-item__description{ color:var(--pf-fg-soft) !important; }

/* line items + totals */
.wc-block-cart-items__header{ border-bottom:1px solid var(--pf-line); text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; color:var(--pf-fg-soft); }
.wc-block-cart-items__row, .wc-block-cart-item__wrap{ border-color:var(--pf-line) !important; }
.wc-block-components-totals-item, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value,
.wc-block-formatted-money-amount, .wc-block-components-product-price{ color:var(--pf-fg) !important; }
.wc-block-components-totals-item__value, .wc-block-cart-item__total .wc-block-components-product-price__value{ font-family:var(--pf-serif) !important; }
.wc-block-components-totals-footer-item{ border-top:1px solid var(--pf-line) !important; }

/* totals sidebar -> card */
.wp-block-woocommerce-cart-totals-block, .wc-block-components-sidebar{
  background:var(--pf-surface); border:1px solid var(--pf-line); border-radius:var(--pf-radius); padding:26px; }

/* buttons */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button,
.wc-block-checkout__actions button{
  background:var(--pf-btn-bg) !important; color:var(--pf-btn-fg) !important; border:0 !important; border-radius:var(--pf-radius) !important;
  font-family:var(--pf-sans) !important; font-size:.74rem !important; text-transform:uppercase !important; letter-spacing:.18em !important;
  font-weight:500 !important; padding:17px 30px !important; transition:opacity .4s var(--pf-ease) !important; width:100%; }
.wc-block-components-button:not(.is-link):hover{ opacity:.86 !important; }
.wc-block-components-button.is-link, .wc-block-components-checkout-return-to-cart-button{ color:var(--pf-gold-deep) !important; }

/* quantity + inputs */
.wc-block-components-quantity-selector{ border:1px solid var(--pf-line) !important; border-radius:var(--pf-radius); }
.wc-block-components-quantity-selector__input, .wc-block-components-quantity-selector__button{ color:var(--pf-fg) !important; background:transparent !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-block-components-select__container select, .wc-blocks-components-select__container select{
  border:1px solid var(--pf-line) !important; border-radius:var(--pf-radius) !important; background:transparent !important; color:var(--pf-fg) !important; }
.wc-block-components-text-input label{ color:var(--pf-fg-soft) !important; }
.wc-block-components-text-input.is-active label, .wc-block-components-checkout-step__heading-content{ color:var(--pf-gold-deep) !important; }

/* payment options */
.wc-block-components-radio-control__option, .wc-block-checkout__payment-method{ border-color:var(--pf-line) !important; }
.wc-block-components-radio-control-accordion-option{ border-color:var(--pf-line) !important; }

/* empty cart */
.wc-block-cart__empty-cart__title, .with-empty-cart-icon{ font-family:var(--pf-serif) !important; font-weight:300 !important; color:var(--pf-fg) !important; }
.wp-block-woocommerce-empty-cart-block{ text-align:center; padding-top:40px; }
/* clean empty-cart: hide the "New in store" upsell w/ placeholder images */
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title),
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection{ display:none !important; }
.wc-block-cart__empty-cart__title{ margin-bottom:.3em; }
