/* ========================================================================== 
   Agossa 7.2 — visual system, cart coupon disclosure, shop archive refinement
   Final scoped layer. Preserves product-page attribute/add-to-cart controls.
   ========================================================================== */

:root {
  --ag72-ink: #171715;
  --ag72-text: #292724;
  --ag72-muted: #8a857e;
  --ag72-line: #dfdcd7;
  --ag72-line-soft: #ece9e5;
  --ag72-paper: #fff;
  --ag72-radius: 8px;
  --ag72-image-radius: 8px;
  --ag72-serif: Georgia, "Times New Roman", serif;
  --ag72-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   GLOBAL DESIGN SYSTEM
   -------------------------------------------------------------------------- */
html, body,
button, input, select, textarea,
.woocommerce,
.woocommerce-page {
  font-family: var(--ag72-sans) !important;
}

body { color: var(--ag72-text); }

/* Typography exceptions requested by the design system. */
.single-product .agossa-panel-title,
.single-product .product_title,
.single-product .agossa-panel-price,
.single-product .agossa-dynamic-price,
.single-product .agossa-panel-price .price,
.single-product .agossa-dynamic-price .price,
.agossa-category-banner-content h1,
.agossa-var-hero-content h1,
.agossa-cart-heading-v40 h1,
.agossa-v6-page-banner h1,
.page-banner h1,
.ag61-page-banner h1,
.ag-hero .top,
.ag-hero .middle,
.ag-hero .bottom,
.ag-hero .slogan {
  font-family: var(--ag72-serif) !important;
  font-weight: 400 !important;
}

.single-product .agossa-panel-title,
.single-product .product_title,
.single-product .agossa-panel-price,
.single-product .agossa-dynamic-price,
.single-product .agossa-panel-price .price,
.single-product .agossa-dynamic-price .price {
  letter-spacing: -.025em !important;
}

/* Consistent image corners. Hero/banner imagery remains edge-to-edge. */
:where(.agossa-product-card-media img,
       .agossa-cart-image-v40 img,
       .agossa-cart-modal-image,
       .agossa-checkout-item-image img,
       .agossa-var-card-v36 img,
       .agossa-var-card img,
       .agossa-category-grid img) {
  border-radius: var(--ag72-image-radius) !important;
}

/* All standard buttons share the same restrained radius. Product-page attribute
   selectors and the primary PDP add-to-cart control are intentionally excluded. */
body :where(
  .button,
  .wp-element-button,
  button[type="submit"],
  input[type="submit"],
  input[type="button"],
  .woocommerce-button,
  .checkout-button
):not(.agossa-attribute-button):not(.agossa-attribute-option):not(.agossa-attr-pill):not(.single_add_to_cart_button) {
  border-radius: var(--ag72-radius) !important;
}

/* The add-to-cart confirmation modal is not part of the PDP purchase control;
   normalize its actions to the global system. */
.single-product .agossa-cart-modal-actions .button,
.single-product .agossa-cart-modal-close {
  border-radius: var(--ag72-radius) !important;
}

.single-product .agossa-cart-modal-dialog {
  border-radius: 12px !important;
}
.single-product .agossa-cart-modal-product-box,
.single-product .agossa-cart-modal-summary-col {
  border-radius: 10px !important;
}
.single-product .agossa-cart-modal-actions .button {
  min-height: 46px !important;
  font-family: var(--ag72-sans) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
}

/* --------------------------------------------------------------------------
   CART — editorial merchandise list and disclosure coupon
   -------------------------------------------------------------------------- */
body.woocommerce-cart .agossa-cart-layout-v40 {
  align-items: start !important;
}

@media (min-width: 992px) {
  body.woocommerce-cart .agossa-cart-layout-v40 {
    grid-template-columns: minmax(0,1fr) 360px !important;
    gap: 96px !important;
  }
  body.woocommerce-cart .agossa-cart-summary-v40 {
    position: sticky !important;
    top: 96px !important;
    padding-top: 0 !important;
  }
}

body.woocommerce-cart .agossa-cart-summary-card-v40 {
  position: relative !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.woocommerce-cart .agossa-cart-summary-card-v40::before { content: none !important; display: none !important; }

body.woocommerce-cart .agossa-cart-summary-head-v40 {
  min-height: 0 !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ag72-line) !important;
  background: transparent !important;
  color: var(--ag72-ink) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
}
body.woocommerce-cart .agossa-cart-summary-count-v40 { display: none !important; }

body.woocommerce-cart .agossa-cart-delivery-v40 {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ag72-line-soft) !important;
  background: transparent !important;
}
body.woocommerce-cart .agossa-cart-delivery-icon-v40 {
  width: 22px !important;
  height: 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2f2c28 !important;
}
body.woocommerce-cart .agossa-cart-delivery-icon-v40 svg { width: 19px !important; height: 19px !important; }
body.woocommerce-cart .agossa-cart-delivery-v40 strong {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #282522 !important;
}
body.woocommerce-cart .agossa-cart-delivery-v40 p {
  margin: 4px 0 0 !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
  color: var(--ag72-muted) !important;
}

/* Coupon disclosure. */
body.woocommerce-cart .agossa-cart-coupon-disclosure-v72 {
  border-bottom: 1px solid var(--ag72-line-soft) !important;
}
body.woocommerce-cart .agossa-cart-coupon-toggle-v72 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #3f3a35 !important;
  font-family: var(--ag72-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-align: left !important;
}
body.woocommerce-cart .agossa-cart-coupon-toggle-v72 svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  transition: transform .18s ease !important;
}
body.woocommerce-cart .agossa-cart-coupon-toggle-v72[aria-expanded="true"] svg {
  transform: rotate(180deg) !important;
}
body.woocommerce-cart .agossa-cart-coupon-panel-v72[hidden] { display: none !important; }
body.woocommerce-cart .agossa-cart-coupon-panel-v72 {
  padding: 2px 0 16px !important;
}
body.woocommerce-cart .agossa-cart-coupon-v68 {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
body.woocommerce-cart .agossa-cart-coupon-v68 input,
body.woocommerce-cart .agossa-cart-coupon-v68 button {
  height: 39px !important;
  min-height: 39px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-cart .agossa-cart-coupon-v68 input {
  width: 100% !important;
  padding: 0 2px !important;
  border-bottom: 1px solid #a9a39b !important;
  font-size: 11px !important;
  color: #2a2723 !important;
}
body.woocommerce-cart .agossa-cart-coupon-v68 input:focus { border-bottom-color: #25221f !important; outline: 0 !important; }
body.woocommerce-cart .agossa-cart-coupon-v68 button {
  min-width: 70px !important;
  padding: 0 2px !important;
  border-bottom: 1px solid #25221f !important;
  color: #25221f !important;
  font-size: 8px !important;
  font-weight: 650 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .agossa-cart-totals-lines-v40 {
  gap: 10px !important;
  padding: 18px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ag72-line-soft) !important;
  background: transparent !important;
}
body.woocommerce-cart .agossa-cart-summary-line-v40 {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .agossa-cart-summary-line-v40 > span,
body.woocommerce-cart .agossa-cart-summary-line-v40 > strong,
body.woocommerce-cart .agossa-cart-summary-line-v40 .woocommerce-Price-amount {
  font-size: 11px !important;
  font-weight: 450 !important;
  color: #716b64 !important;
}
body.woocommerce-cart .agossa-cart-grand-v40 {
  margin: 0 !important;
  padding: 18px 0 2px !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .agossa-cart-grand-v40 > span,
body.woocommerce-cart .agossa-cart-grand-v40 > strong,
body.woocommerce-cart .agossa-cart-grand-v40 .woocommerce-Price-amount {
  font-size: 20px !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
  color: var(--ag72-ink) !important;
}
body.woocommerce-cart .agossa-cart-checkout-v40 { margin-top: 22px !important; }
body.woocommerce-cart .agossa-cart-checkout-v40 .checkout-button {
  min-height: 50px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 650 !important;
  letter-spacing: .105em !important;
}

/* Mobile cart: larger, flatter merchandise rows with breathing room. */
@media (max-width: 767.98px) {
  body.woocommerce-cart .agossa-cart-layout-v40 {
    padding-inline: 18px !important;
    gap: 34px !important;
  }
  body.woocommerce-cart .agossa-cart-items-v40 {
    display: grid !important;
    gap: 24px !important;
  }
  body.woocommerce-cart .agossa-cart-item-v40 {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas:
      "product product"
      "qty price"
      "tax price" !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    padding: 0 0 20px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ag72-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  body.woocommerce-cart .agossa-cart-product-v40 {
    grid-area: product !important;
    display: grid !important;
    grid-template-columns: 116px minmax(0,1fr) !important;
    gap: 18px !important;
    align-items: center !important;
    min-height: 116px !important;
    padding: 0 34px 18px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ag72-line-soft) !important;
  }
  body.woocommerce-cart .agossa-cart-image-v40,
  body.woocommerce-cart .agossa-cart-image-v40 img {
    width: 116px !important;
    height: 116px !important;
    min-width: 116px !important;
    border-radius: 9px !important;
    object-fit: cover !important;
  }
  body.woocommerce-cart .agossa-cart-copy-v40 h2 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    font-weight: 600 !important;
    letter-spacing: -.015em !important;
  }
  body.woocommerce-cart .agossa-cart-copy-v40 p {
    margin: 7px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    color: var(--ag72-muted) !important;
  }
  body.woocommerce-cart .agossa-cart-remove-v40 {
    top: 1px !important;
    right: 0 !important;
    width: 24px !important;
    height: 24px !important;
    opacity: .55 !important;
  }
  body.woocommerce-cart .agossa-cart-item-qty-v40 {
    grid-area: qty !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
    padding: 16px 0 0 !important;
    border: 0 !important;
  }
  body.woocommerce-cart .agossa-cart-item-qty-v40::before { display: none !important; }
  body.woocommerce-cart .agossa-cart-stepper-v40 {
    display: grid !important;
    grid-template-columns: 32px minmax(38px,auto) 32px !important;
    width: auto !important;
    min-width: 110px !important;
    height: 36px !important;
    border: 0 !important;
    border-bottom: 1px solid #8f8981 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.woocommerce-cart .agossa-cart-qty-btn,
  body.woocommerce-cart .agossa-cart-qty-input {
    height: 35px !important;
    min-height: 35px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.woocommerce-cart .agossa-cart-qty-label-v40 {
    margin: 0 0 7px !important;
    font-size: 9px !important;
    color: var(--ag72-muted) !important;
    text-transform: none !important;
  }
  body.woocommerce-cart .agossa-cart-tax-v40 {
    grid-area: tax !important;
    padding: 9px 0 0 !important;
    border: 0 !important;
    text-align: left !important;
    font-size: 9px !important;
    color: #97918a !important;
  }
  body.woocommerce-cart .agossa-cart-tax-v40::before {
    margin-right: 5px !important;
    font-size: 7px !important;
    letter-spacing: .09em !important;
  }
  body.woocommerce-cart .agossa-cart-price-v40 {
    grid-area: price !important;
    align-self: end !important;
    min-width: 88px !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: right !important;
    font-size: 16px !important;
    font-weight: 650 !important;
  }
  body.woocommerce-cart .agossa-cart-price-v40::before {
    margin-bottom: 5px !important;
    font-size: 7px !important;
    letter-spacing: .1em !important;
  }
  body.woocommerce-cart .agossa-cart-summary-v40 {
    padding: 0 0 8px !important;
  }
  body.woocommerce-cart .agossa-cart-summary-head-v40 {
    font-size: 18px !important;
  }
  body.woocommerce-cart .agossa-cart-delivery-v40 {
    padding: 17px 0 !important;
  }
  body.woocommerce-cart .agossa-cart-coupon-toggle-v72 {
    min-height: 50px !important;
    font-size: 12px !important;
  }
  body.woocommerce-cart .agossa-cart-grand-v40 > span,
  body.woocommerce-cart .agossa-cart-grand-v40 > strong,
  body.woocommerce-cart .agossa-cart-grand-v40 .woocommerce-Price-amount {
    font-size: 20px !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart .agossa-cart-product-v40 {
    grid-template-columns: 102px minmax(0,1fr) !important;
    gap: 15px !important;
    min-height: 102px !important;
  }
  body.woocommerce-cart .agossa-cart-image-v40,
  body.woocommerce-cart .agossa-cart-image-v40 img {
    width: 102px !important;
    height: 102px !important;
    min-width: 102px !important;
  }
}

/* --------------------------------------------------------------------------
   SHOP ARCHIVE — same visual family as category pages, cleaner catalog grid.
   -------------------------------------------------------------------------- */
.agossa-shop-archive .agossa-category-banner {
  min-height: clamp(220px, 22vw, 340px) !important;
  height: clamp(220px, 22vw, 340px) !important;
}
.agossa-shop-archive .agossa-category-banner-content {
  max-width: 1320px !important;
  width: calc(100% - 64px) !important;
  margin-inline: auto !important;
}
.agossa-shop-archive .agossa-category-banner-content h1 {
  font-size: clamp(38px, 4.5vw, 64px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}
.agossa-shop-archive .agossa-category-body {
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding: 28px 32px 72px !important;
}
.agossa-shop-archive .agossa-category-breadcrumb {
  padding: 0 0 22px !important;
  border-bottom: 1px solid var(--ag72-line-soft) !important;
}
.agossa-shop-archive .agossa-category-toolbar {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 28px !important;
  align-items: end !important;
  padding: 24px 0 28px !important;
  border-bottom: 1px solid var(--ag72-line-soft) !important;
}
.agossa-shop-archive .agossa-category-toolbar-left {
  display: flex !important;
  align-items: baseline !important;
  gap: 14px !important;
}
.agossa-shop-archive .agossa-category-toolbar-left > strong {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
}
.agossa-shop-archive .woocommerce-result-count {
  margin: 0 !important;
  font-size: 10px !important;
  color: var(--ag72-muted) !important;
}
.agossa-shop-archive .agossa-category-toolbar-center { display: none !important; }
.agossa-shop-archive .woocommerce-ordering { margin: 0 !important; }
.agossa-shop-archive .woocommerce-ordering select {
  min-width: 190px !important;
  height: 40px !important;
  padding: 0 30px 0 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #aaa49d !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-size: 11px !important;
  color: #312e2a !important;
}
.agossa-shop-archive .agossa-category-grid-wrap ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  column-gap: 28px !important;
  row-gap: 42px !important;
  margin: 34px 0 0 !important;
  padding: 0 !important;
}
.agossa-shop-archive .agossa-category-grid-wrap ul.products::before,
.agossa-shop-archive .agossa-category-grid-wrap ul.products::after { content: none !important; }
.agossa-shop-archive .agossa-category-grid-wrap ul.products li.product.agossa-product-card {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.agossa-shop-archive .agossa-product-card-link { display: block !important; text-decoration: none !important; }
.agossa-shop-archive .agossa-product-card-media {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1.16 !important;
  background: #f3f3f1 !important;
  border-radius: var(--ag72-image-radius) !important;
}
.agossa-shop-archive .agossa-product-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}
@media (hover:hover) {
  .agossa-shop-archive .agossa-product-card-link:hover .agossa-product-card-media img { transform: scale(1.015) !important; }
}
.agossa-shop-archive .agossa-product-card-info {
  display: grid !important;
  gap: 5px !important;
  padding: 12px 2px 0 !important;
}
.agossa-shop-archive .agossa-product-card-info h2 {
  margin: 0 !important;
  font-family: var(--ag72-sans) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 550 !important;
  letter-spacing: -.01em !important;
  color: #26231f !important;
}
.agossa-shop-archive .agossa-product-card-price,
.agossa-shop-archive .agossa-product-card-price .price,
.agossa-shop-archive .agossa-product-card-price .woocommerce-Price-amount {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #706a63 !important;
}
.agossa-shop-archive .agossa-product-badge {
  top: 10px !important;
  left: 10px !important;
  padding: 5px 7px !important;
  border-radius: 4px !important;
  background: rgba(20,20,18,.82) !important;
  font-size: 7px !important;
  letter-spacing: .1em !important;
}

@media (max-width: 991.98px) {
  .agossa-shop-archive .agossa-category-grid-wrap ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    column-gap: 16px !important;
    row-gap: 28px !important;
  }
}

@media (max-width: 767.98px) {
  .agossa-shop-archive .agossa-category-banner {
    min-height: 180px !important;
    height: 180px !important;
  }
  .agossa-shop-archive .agossa-category-banner-content {
    width: calc(100% - 36px) !important;
    text-align: center !important;
  }
  .agossa-shop-archive .agossa-category-banner-content h1 {
    font-size: 38px !important;
  }
  .agossa-shop-archive .agossa-category-body {
    padding: 20px 18px 54px !important;
  }
  .agossa-shop-archive .agossa-category-toolbar {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: stretch !important;
    text-align: center !important;
    padding: 20px 0 24px !important;
  }
  .agossa-shop-archive .agossa-category-toolbar-left {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }
  .agossa-shop-archive .agossa-category-toolbar-left > strong { font-size: 20px !important; }
  .agossa-shop-archive .agossa-category-order { display: flex !important; justify-content: center !important; }
  .agossa-shop-archive .woocommerce-ordering select {
    min-width: min(100%, 240px) !important;
    text-align: center !important;
    text-align-last: center !important;
  }
}
