/* PetGiftBox base visual refinements */
:root {
    --pgb-ink: #1f1b18;
    --pgb-muted: #8b8178;
    --pgb-border: #eee6df;
    --pgb-border-strong: #ddd5ce;
    --pgb-surface: #fffdfa;
    --pgb-gold: #c9962b;
    --pgb-gold-hover: #b88622;
    --pgb-secondary: #8f867d;
}

body {
    text-rendering: optimizeLegibility;
}

/* =========================================================
   PetGiftBox Luxury Typography System v1.0
   Editorial / Quiet Luxury / WooCommerce Safe
========================================================= */

:root {
  --pgb-font-main: "Roboto", Arial, sans-serif;

  --pgb-text-main: #17120f;
  --pgb-text-soft: rgba(23, 18, 15, .72);
  --pgb-text-muted: rgba(23, 18, 15, .54);
  --pgb-text-light: rgba(255,255,255,.82);
  --pgb-text-light-muted: rgba(255,255,255,.58);

  --pgb-lh-tight: 1.08;
  --pgb-lh-title: 1.16;
  --pgb-lh-copy: 1.75;

  --pgb-track-label: .18em;
  --pgb-track-button: .08em;
}

/* Base smoothing */
body {
  font-family: var(--pgb-font-main) !important;
  color: var(--pgb-text-main);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

/* =========================================================
   Editorial Heading Scale
========================================================= */

.pgb-display,
.home .elementor-widget-heading h1,
.home .hero h1,
.home h1 {
  font-size: clamp(40px, 5vw, 76px);
  line-height: var(--pgb-lh-tight);
  font-weight: 700;
  letter-spacing: -0.045em;
}

.pgb-h1,
.single-product .summary .product_title,
.woocommerce div.product .product_title {
  font-size: clamp(36px, 3vw, 54px);
  line-height: 1.04;
  font-weight: 650;
  letter-spacing: -0.05em;
}

.pgb-h2,
.pgb-section h2,
.home .elementor-widget-heading h2 {
  font-size: clamp(28px, 3vw, 52px);
  line-height: var(--pgb-lh-title);
  font-weight: 650;
  letter-spacing: -0.04em;
}

.pgb-h3,
.pgb-section h3,
.home .elementor-widget-heading h3 {
  font-size: clamp(21px, 1.8vw, 32px);
  line-height: 1.22;
  font-weight: 650;
  letter-spacing: -0.028em;
}

.pgb-h4,
.pgb-section h4,
.home .elementor-widget-heading h4 {
  font-size: clamp(18px, 1.2vw, 23px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* =========================================================
   Paragraph / Reading Rhythm
========================================================= */

.pgb-section p,
.home .elementor-widget-text-editor,
.home .elementor-widget-text-editor p,
.single-product .summary,
.single-product .woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p {
  font-size: 15px;
  line-height: var(--pgb-lh-copy);
  color: var(--pgb-text-soft);
  font-weight: 400;
}

.pgb-section p,
.home .elementor-widget-text-editor p {
  max-width: 680px;
}

.pgb-text-center p,
.elementor-align-center p {
  margin-left: auto;
  margin-right: auto;
}

/* Dark sections */
.pgb-bg-dark,
.elementor-section.pgb-bg-dark,
.home section[style*="background-color: #19110d"],
.home section[style*="background-color:#19110d"] {
  color: #fff;
}

.pgb-bg-dark p,
.elementor-section.pgb-bg-dark p {
  color: var(--pgb-text-light-muted);
}

/* =========================================================
   Eyebrow / Kicker Labels
========================================================= */

.pgb-eyebrow,
.pgb-kicker,
.home .elementor-widget-heading h6,
.home .elementor-widget-heading .elementor-heading-title.elementor-size-small {
  display: block;
  margin-bottom: 14px;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: var(--pgb-track-label);
  text-transform: uppercase;
  color: var(--pgb-text-muted);
}

.pgb-bg-dark .pgb-eyebrow,
.pgb-bg-dark .pgb-kicker,
.elementor-section.pgb-bg-dark h6 {
  color: var(--pgb-text-light-muted);
}

/* =========================================================
   Product Page Typography
========================================================= */

.single-product .summary .product_title {
  margin-bottom: 24px !important;
}

.single-product .summary p.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em;
  color: var(--pgb-text-main) !important;
}

.single-product .woocommerce-product-details__short-description {
  max-width: 620px;
}

.single-product .summary ul,
.single-product .summary ol {
  margin-top: 18px;
  margin-bottom: 28px;
  padding-left: 18px;
}

.single-product .summary li {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--pgb-text-soft);
}

.single-product .summary strong,
.single-product .summary b {
  font-weight: 650;
  color: var(--pgb-text-main);
}

/* Variation labels / meta */
.single-product .variations label,
.single-product form.cart label,
.single-product .product_meta,
.single-product .product_meta a {
  font-size: 12px !important;
  line-height: 1.5;
  color: var(--pgb-text-muted);
}

.single-product .product_meta {
  letter-spacing: .01em;
}

/* =========================================================
   WooCommerce Section Titles
========================================================= */

.single-product .related.products > h2,
.single-product .upsells.products > h2,
.woocommerce.archive .woocommerce-products-header__title {
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1.16 !important;
  font-weight: 650 !important;
  letter-spacing: -0.035em;
  color: var(--pgb-text-main);
}

/* =========================================================
   Product Card Typography Support
   Safe with Product Loop v4.1
========================================================= */

.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product h6,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--pgb-font-main) !important;
  letter-spacing: -0.025em;
  text-rendering: geometricPrecision;
}

.woocommerce ul.products li.product .price {
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

/* =========================================================
   CTA Typography
========================================================= */

.elementor-button,
.pgb-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button {
  font-family: var(--pgb-font-main) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: var(--pgb-track-button);
  text-transform: uppercase;
}

/* Softer inline links */
.pgb-section a:not(.button):not(.elementor-button),
.single-product .summary a:not(.button) {
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* =========================================================
   Footer Typography Support
========================================================= */

.site-footer,
.site-footer p,
.site-footer a,
footer,
footer p,
footer a {
  font-family: var(--pgb-font-main) !important;
}

.site-footer h2,
.site-footer h3,
footer h2,
footer h3 {
  letter-spacing: -0.045em;
}

/* =========================================================
   Responsive Typography
========================================================= */

@media (max-width: 991px) {
  .pgb-display,
  .home .elementor-widget-heading h1,
  .home .hero h1,
  .home h1 {
    font-size: clamp(34px, 7vw, 56px);
  }

  .pgb-h2,
  .pgb-section h2,
  .home .elementor-widget-heading h2 {
    font-size: clamp(25px, 5vw, 42px);
  }

  .single-product .summary .product_title,
  .woocommerce div.product .product_title {
    font-size: clamp(28px, 5vw, 38px);
  }
}

@media (max-width: 767px) {
  .pgb-section p,
  .home .elementor-widget-text-editor,
  .home .elementor-widget-text-editor p,
  .single-product .summary,
  .single-product .woocommerce-product-details__short-description,
  .woocommerce-product-details__short-description p {
    font-size: 14px;
    line-height: 1.68;
  }

  .pgb-eyebrow,
  .pgb-kicker,
  .home .elementor-widget-heading h6 {
    font-size: 9px;
    letter-spacing: .16em;
  }

  .elementor-button,
  .pgb-button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .single_add_to_cart_button {
    font-size: 10px !important;
  }
}
/* Product summary hierarchy */

.single-product .woocommerce-product-details__short-description{
  font-size:15px;
  line-height:1.85;
  color:rgba(23,18,15,.72);
}

.single-product .summary li{
  font-size:14px;
  line-height:1.7;
  color:rgba(23,18,15,.68);
}

.single-product .variations label{
  font-size:11px !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(23,18,15,.52) !important;
}

.single-product .product_meta{
  opacity:.68;
}
/* Related products luxury separation */

.single-product .related.products{
  margin-top:180px !important;
  padding-top:70px !important;
  border-top:1px solid rgba(0,0,0,.05);
}

.single-product .related.products > h2{
  margin-bottom:52px !important;
  max-width:520px;
}