/*
Theme Name: ATW - Adult Toys Wholesale
Theme URI: https://adulttoyswholesale.com
Author: Adult Toys Wholesale
Author URI: https://adulttoyswholesale.com
Description: Classic PHP theme for Adult Toys Wholesale — factory-direct B2B adult wellness products for Europe. Built with ACF Pro custom blocks. Mobile-first, SEO-friendly, fully editable in the Gutenberg editor.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: atw
Tags: e-commerce, custom-blocks, one-column, block-styles
*/

/* ============================================================
   GLOBAL DESIGN TOKENS — defined once here, used by all pattern CSS
   ============================================================ */
:root {
  /* Typography */
  --font-heading: "Barlow", sans-serif;
  --font-body: "Source Sans 3", sans-serif;
  --font-mono: "JetBrains Mono", monospace;

  /* Brand palette */
  --atw-black: #000000;
  --atw-white: #ffffff;
  --atw-yellow: #ffea3b;
  --atw-yellow-hover: #ffd400;
  --atw-gray-50: #f5f5f5;
  --atw-gray-200: #dddddd;
  --atw-gray-400: #999999;
  --atw-gray-600: #555555;
  --atw-gray-800: #333333;
  --atw-text-secondary: rgba(0, 0, 0, 0.7);
  --atw-text-muted: rgba(0, 0, 0, 0.5);

  /* Layout */
  --atw-container: 1376px;
  --atw-pad-x: 24px;
  --atw-header-height: 47px;
  --atw-section-gap: 3rem;
  --atw-radius: 0px; /* square corners — brand identity */

  /* Breakpoints (mobile-first) */
  --bp-tablet: 768px;
  --bp-desktop: 1024px;
}

/* ============================================================
   RESET + BASE
   ============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--atw-black);
  background: var(--atw-white);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  margin: 0 0 0.5em;
  line-height: 1.15;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.1rem; }

p {
  margin: 0 0 1em;
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ============================================================
   SHARED UTILITIES (used across pattern CSS)
   ============================================================ */
.atw-container {
  max-width: var(--atw-container);
  margin: 0 auto;
  padding: 0 var(--atw-pad-x);
}

.atw-btn {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 13px 40px;
  border: 0;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.atw-btn--yellow {
  background: var(--atw-yellow);
  color: var(--atw-black);
}

.atw-btn--yellow:hover {
  background: var(--atw-yellow-hover);
}

.atw-btn--outline {
  background: transparent;
  color: var(--atw-black);
  border: 1px solid var(--atw-black);
}

.atw-btn--outline:hover {
  background: var(--atw-black);
  color: var(--atw-white);
}

.atw-btn--white-outline {
  background: transparent;
  color: var(--atw-white);
  border: 1px solid var(--atw-white);
}

.atw-section {
  padding: 2.5rem 0;
}

.atw-badge {
  display: inline-block;
  background: var(--atw-black);
  color: var(--atw-white);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
}

.atw-meta {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--atw-gray-600);
}

@media (min-width: 768px) {
  h1 { font-size: 3rem; }
  .atw-section { padding: 3.5rem 0; }
}

/* Rank Math breadcrumbs — match site style (mono, uppercase, muted links) */
.rank-math-breadcrumb {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--atw-gray-600);
  margin-bottom: 1.5rem;
}
.rank-math-breadcrumb p { margin: 0; }
.rank-math-breadcrumb a { color: var(--atw-gray-600); text-decoration: none; }
.rank-math-breadcrumb a:hover { text-decoration: underline; }
.rank-math-breadcrumb .separator { margin: 0 6px; }
.rank-math-breadcrumb .last { color: var(--atw-black); }

/* Legal pages — unified typographic style */
.atw-legal { padding: 0.5rem 0 4rem; }
.atw-legal__title { font-size: 32px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin: 1rem 0 1.5rem; }
.atw-legal__body { max-width: 820px; }
.atw-legal__body p { font-size: 16px; line-height: 1.7; color: var(--atw-gray-800); margin-bottom: 1.25rem; }
.atw-legal__body h2, .atw-legal__body h3 { margin-top: 2rem; font-family: var(--font-heading); }
.atw-legal__body ul { padding-left: 1.25rem; }
.atw-legal__body li { font-size: 16px; line-height: 1.7; color: var(--atw-gray-800); margin-bottom: 0.5rem; }

/* ============================================================
   GLOBAL FONT SIZE BOOST (readability)
   ============================================================ */
body { font-size: 17px; line-height: 1.65; }

/* body copy 14-15px → 16px */
.atw-product-detail__desc,
.atw-product-detail__details-body p,
.atw-blog__card-excerpt,
.atw-blog__subtitle,
.atw-post__excerpt,
.atw-contact__desc,
.atw-legal__body p,
.atw-oem-hero__desc,
.atw-about-hero__desc,
.atw-about-pillars__card p,
.atw-oem-steps__card p,
.atw-home-factory__desc,
.atw-home-cta__desc { font-size: 16px; }

/* cards / tables 14px → 15px */
.atw-product-detail__table,
.atw-product-detail__table td,
.atw-product-detail__table th,
.atw-home-products__name,
.atw-product-grid__name,
.atw-blog__card-title,
.atw-related__card h3,
.atw-home-categories__name,
.atw-contact__list dd,
.atw-contact__b2b p { font-size: 15px; }

/* form controls 14px → 15px */
.atw-contact__form .wpcf7 input[type="text"],
.atw-contact__form .wpcf7 input[type="email"],
.atw-contact__form .wpcf7 select,
.atw-contact__form .wpcf7 textarea { font-size: 15px; }

/* tiny labels 11-12px → 12-13px */
.atw-meta,
.atw-blog__card-meta,
.atw-blog__cat,
.atw-product-grid__moq,
.atw-home-products__meta { font-size: 13px; }

/* ============================================================
   FONT SIZE BOOST — ROUND 2 (bigger)
   ============================================================ */
body { font-size: 18px; line-height: 1.7; }

.atw-product-detail__desc,
.atw-product-detail__details-body p,
.atw-blog__card-excerpt,
.atw-blog__subtitle,
.atw-post__excerpt,
.atw-contact__desc,
.atw-legal__body p,
.atw-oem-hero__desc,
.atw-about-hero__desc,
.atw-about-pillars__card p,
.atw-oem-steps__card p,
.atw-home-factory__desc,
.atw-home-cta__desc,
.atw-post__body p { font-size: 17px; }

.atw-product-detail__table,
.atw-product-detail__table td,
.atw-product-detail__table th,
.atw-home-products__name,
.atw-product-grid__name,
.atw-blog__card-title,
.atw-related__card h3,
.atw-home-categories__name,
.atw-contact__list dd,
.atw-contact__b2b p,
.atw-blog__card-title { font-size: 16px; }

.atw-contact__form .wpcf7 input[type="text"],
.atw-contact__form .wpcf7 input[type="email"],
.atw-contact__form .wpcf7 select,
.atw-contact__form .wpcf7 textarea { font-size: 16px; }

.atw-meta,
.atw-blog__card-meta,
.atw-blog__cat,
.atw-product-grid__moq,
.atw-home-products__meta,
.atw-contact__form .wpcf7 label { font-size: 14px; }
