/* DiscountGay brand layer (loaded after Blocksy). See docs/brand-kit.md */

@font-face {
  font-family: "Bricolage Grotesque";
  src: url("../../uploads/dg-fonts/BricolageGrotesque.woff2") format("woff2");
  font-weight: 500 800;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../../uploads/dg-fonts/Inter.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --dg-pink: #E8336F;
  --dg-pink-deep: #C2185B;
  --dg-ink: #16121A;
  --dg-cream: #F6F1EE;
  --dg-pride: linear-gradient(90deg, #E8336F, #FF8A3D, #FFD23F, #3DDC97, #3D8BFF, #9B5CFF);
  --dg-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --dg-font-display: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
  --theme-font-family: var(--dg-font-body);
}

body { font-family: var(--dg-font-body); }

h1, h2, h3, h4, .page-title, .product_title, .entry-title,
.wp-block-heading, .site-title, .ct-header .site-title a {
  font-family: var(--dg-font-display);
  letter-spacing: -0.02em;
  font-weight: 800;
}
h1, .page-title, .product_title { line-height: 1.1; }
h2, .wp-block-heading { line-height: 1.15; }

/* Buttons: pill, bold */
.wp-element-button, .wp-block-button__link, .button, button[type="submit"],
.single_add_to_cart_button, .checkout-button, .ct-button {
  border-radius: 999px !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Pride accents */
.dg-pride-bar { height: 6px; border-radius: 6px; background: var(--dg-pride); border: 0; }
hr.dg-pride-bar, .wp-block-separator.is-style-dg-pride { height: 6px; background: var(--dg-pride); border: 0; opacity: 1; }
.dg-eyebrow {
  display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--dg-pink);
}
.dg-badge {
  display: inline-block; padding: 0.3em 0.8em; border-radius: 999px; font-size: 0.75rem;
  font-weight: 700; background: var(--dg-ink); color: #fff;
}

/* Hero */
.dg-hero { position: relative; overflow: hidden; }
.dg-hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--dg-pride);
}
.dg-hero h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); }

/* Trust strip */
.dg-trust { gap: 1rem; }
.dg-trust p { margin: 0; font-weight: 600; }

/* Category tiles */
.dg-tile { border-radius: 20px; overflow: hidden; transition: transform .2s ease; }
.dg-tile:hover { transform: translateY(-3px); }
.dg-tile a { text-decoration: none; }

/* Woo product cards */
.products .product { border-radius: 16px; }
.products .product .woocommerce-loop-product__title { font-family: var(--dg-font-body); font-weight: 600; letter-spacing: 0; }
.price { font-weight: 700; }
ins .woocommerce-Price-amount { color: var(--dg-pink); }
.onsale { background: var(--dg-pink) !important; border-radius: 999px !important; }

/* Footer gradient line */
.ct-footer { position: relative; }
.ct-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--dg-pride); }

/* FAQ */
.dg-faq details { border-bottom: 1px solid #E7E1E8; padding: 1rem 0; }
.dg-faq summary { cursor: pointer; font-weight: 700; font-size: 1.05rem; }
.dg-faq details p { margin: .6rem 0 0; }

/* FAQ spacing fix */
.dg-faq details { margin: 0 !important; padding: .9rem 0; }
.dg-faq summary { list-style-position: outside; }

/* Homepage: hero flush under header */
.home .site-main > .ct-container-full { padding-top: 0 !important; padding-bottom: 0 !important; }
.home .dg-hero { margin-top: 0; }

/* ===== Home v2: photo hero, icon trust strip, image tiles, members split ===== */
.dg-hero .dg-hero-copy { max-width: 580px; }
.dg-hero .wp-block-cover__inner-container { width: 100%; max-width: var(--theme-normal-container-max-width, 1290px); }
.dg-btn-light .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.75) !important; }
.dg-btn-light .wp-block-button__link:hover { background: #fff !important; color: var(--dg-ink) !important; }
@media (max-width: 781px) {
  .dg-hero { min-height: 560px !important; }
  .dg-hero .wp-block-cover__background { background: linear-gradient(0deg, rgba(22,18,26,.92) 0%, rgba(22,18,26,.55) 55%, rgba(22,18,26,.15) 100%) !important; }
  .dg-hero.has-custom-content-position .wp-block-cover__inner-container { align-self: flex-end; }
}

.dg-trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding: 1.1rem 0; }
.dg-trust-item { display: flex; align-items: center; gap: .6rem; font-weight: 600; font-size: .95rem; color: var(--dg-ink); }
.dg-trust-item svg { width: 26px; height: 26px; flex: none; fill: none; stroke: var(--dg-pink); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 781px) { .dg-trust-strip { grid-template-columns: 1fr 1fr; } .dg-trust-item { font-size: .85rem; } }

.dg-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 1.2rem; }
.dg-cat-card { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; text-decoration: none !important; isolation: isolate; }
.dg-cat-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; z-index: -2; }
.dg-cat-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(22,18,26,.85) 0%, rgba(22,18,26,.25) 38%, rgba(22,18,26,0) 60%); }
.dg-cat-card:hover img { transform: scale(1.05); }
.dg-cat-card__text { position: absolute; left: 1.3rem; right: 1.3rem; bottom: 1.2rem; display: flex; flex-direction: column; gap: .25rem; color: #fff; }
.dg-cat-card__text strong { font-family: var(--dg-font-display); font-size: clamp(1.25rem, 2vw, 1.6rem); letter-spacing: -0.02em; line-height: 1.1; }
.dg-cat-card__text > span { font-size: .92rem; opacity: .9; }
@media (max-width: 999px) { .dg-cat-grid { grid-template-columns: 1fr 1fr; gap: .8rem; } .dg-cat-card { border-radius: 16px; } }
@media (max-width: 480px) { .dg-cat-card__text { left: .9rem; right: .9rem; bottom: .9rem; } .dg-cat-card__text > span { display: none; } }

.dg-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 2rem 0 1rem; }
.dg-section-head h2 { margin: 0; }
.dg-section-head a { font-weight: 700; color: var(--dg-pink); text-decoration: none; white-space: nowrap; }

.dg-members { min-height: 520px; }
.dg-members .wp-block-media-text__content { padding: clamp(2rem, 5vw, 5rem) !important; max-width: 640px; }
.dg-members.has-background { background-color: var(--dg-ink); }

/* Hero copy aligned with site container */
.dg-hero .wp-block-cover__inner-container { width: min(1290px, 90vw) !important; max-width: none; margin-inline: auto !important; }

/* FAQ: custom +/− marker inside the column */
.dg-faq summary { list-style: none; position: relative; padding-right: 2rem; }
.dg-faq summary::-webkit-details-marker { display: none; }
.dg-faq summary::after { content: "+"; position: absolute; right: .2rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; font-weight: 500; color: var(--dg-pink); }
.dg-faq details[open] summary::after { content: "−"; }

/* Tighter end of homepage */
.home .entry-content > .wp-block-group:last-child { padding-bottom: 2rem !important; }
.home .ct-footer { margin-top: 0; }
