.page-title {
    display: none !important;
}/* =========================
   FLAT ADD TO CART BUTTON
========================= */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {

    /* remove Woo styling */
    background: none !important;
    border: none !important;
    box-shadow: none !important;

    /* flat text style */
    color: #111 !important;
    font-size: 12px;
    font-weight: 500;

    padding: 0;
    margin-top: 4px;

    /* remove rounded corners */
    border-radius: 0 !important;

    /* clean look */
    text-transform: uppercase;
    letter-spacing: 0.5px;

    cursor: pointer;
}

/* =========================
   HOVER (SUBTLE)
========================= */

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    opacity: 0.6;
    background: none !important;
}

/* =========================
   REMOVE EXTRA ELEMENTS
========================= */

.woocommerce a.button::after {
    display: none !important;
}/* =========================
   PRODUCT IMAGE: CRISP + SHINY
========================= */

.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail {
    
    /* Sharp rendering */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;

    /* Clean sizing */
    width: 100%;
    height: auto;
    display: block;

    /* Smooth upscale */
    transform: scale(1);
    transition: transform 0.5s ease, filter 0.4s ease, box-shadow 0.4s ease;

    /* Subtle polish */
    filter: brightness(1.03) contrast(1.08) saturate(1.05);

    /* Glassy highlight */
    background: linear-gradient(
        180deg,
        rgba(255,255,255,0.25) 0%,
        rgba(255,255,255,0.05) 40%,
        rgba(255,255,255,0) 100%
    );

    /* Depth */
    border-radius: 14px;
    box-shadow:
        0 8px 24px rgba(0,0,0,0.06),
        0 2px 6px rgba(0,0,0,0.04);

    /* Prevent blur on transform */
    backface-visibility: hidden;
}


/* =========================
   HOVER: PREMIUM LIFT + SHINE
========================= */

.woocommerce ul.products li.product:hover img.attachment-woocommerce_thumbnail {

    transform: scale(1.04);

    filter: brightness(1.06) contrast(1.12) saturate(1.08);

    box-shadow:
        0 18px 40px rgba(0,0,0,0.12),
        0 6px 12px rgba(0,0,0,0.08);
}


/* =========================
   ADD GLOSS OVERLAY
========================= */

.woocommerce ul.products li.product {
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product::after {
    content: "";
    position: absolute;
    top: -120%;
    left: -40%;
    width: 180%;
    height: 300%;

    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 30%,
        rgba(255,255,255,0.35) 50%,
        rgba(255,255,255,0) 70%
    );

    transform: rotate(25deg);
    transition: all 0.8s ease;
    pointer-events: none;
}

.woocommerce ul.products li.product:hover::after {
    top: 120%;
}


/* =========================
   OPTIONAL: SUPER CLEAN BG
========================= */

.woocommerce ul.products li.product {
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
}


/* =========================
   REMOVE FUZZINESS ON RETINA
========================= */

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .woocommerce ul.products li.product img {
        image-rendering: auto;
    }
}/* =========================
   PRODUCT-STYLE POST IMAGE
========================= */

/* Container control (important) */
.post-thumbnail,
.wp-post-image-wrapper,
.entry-media {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1; /* square like WooCommerce */
  overflow: hidden;
  background: #f7f7f7;
  position: relative;
}

/* Image styling */
.wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: contain; /* like product preview */
  object-position: center;
  display: block;
  transition: transform 0.4s ease, opacity 0.3s ease;
}

/* Hover effect (subtle product feel) */
.post-thumbnail:hover .wp-post-image,
.wp-post-image-wrapper:hover .wp-post-image {
  transform: scale(1.03);
  opacity: 0.96;
}

/* Remove weird inline spacing */
.wp-post-image {
  vertical-align: middle;
}

/* Optional: soft border like store cards */
.post-thumbnail,
.wp-post-image-wrapper {
  border-radius: 6px;
}

/* Optional: add slight inner padding feel */
.post-thumbnail::before,
.wp-post-image-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.04);
  pointer-events: none;
}

/* =========================
   GRID ALIGNMENT (ARCHIVES)
========================= */

.post {
  display: flex;
  flex-direction: column;
}

.post-thumbnail {
  margin-bottom: 10px;
}

/* Title tighter like product */
.entry-title {
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
}

/* Remove spacing inconsistencies */
.entry-content,
.entry-summary {
  margin-top: 6px;
}

/* =========================
   SINGLE POST (OPTIONAL)
========================= */

.single .post-thumbnail {
  aspect-ratio: 16 / 9; /* nicer for articles */
  background: #f7f7f7;
}

.single .wp-post-image {
  object-fit: contain;
}

/* =========================
   REMOVE DEFAULT THEME JUNK
========================= */

.post-thumbnail img {
  margin: 0;
  padding: 0;
  border: none;
}

/* =========================
   OPTIONAL: CENTER GRID LIKE SHOP
========================= */

.blog .posts,
.archive .posts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}/* =========================
   HARD LOGO NORMALIZATION (FINAL FIX)
========================= */

/* force branding container */
#branding {
  display: flex !important;
  align-items: center !important;
  height: 60px !important;
  margin-left: 24px !important;
  position: relative !important;
}

/* normalize ALL possible logo elements */
#branding img,
#branding .custom-logo,
#branding .custom-logo-link img,
#branding a img {
  height: 18px !important;
  width: auto !important;
  display: block !important;
}

/* normalize text logo */
#branding .site-title,
#branding #site-title,
#branding h1,
#branding p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* anchor normalization */
#branding a {
  display: flex !important;
  align-items: center !important;
}

/* text size */
#site-title a {
  font-size: 18px !important;
  line-height: 1 !important;
}

/* kill vertical drift */
#branding * {
  position: relative !important;
  top: 0 !important;
  transform: none !important;
}

/* WooCommerce specific overrides */
body.woocommerce #branding,
body.woocommerce-page #branding {
  display: flex !important;
  align-items: center !important;
  height: 60px !important;
}

/* remove theme weird spacing */
#branding .custom-logo-link {
  margin: 0 !important;
  padding: 0 !important;
}/* =========================
   ROOT VARIABLES
========================= */
:root {
  --text: #111;
  --muted: #666;
  --line: #eaeaea;
  --bg: #ffffff;
  --accent: #0a0a0a;
  --soft: #f7f7f7;
}

/* =========================
   FONTS
========================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Source+Serif+4:wght@400;600&display=swap');

html, body {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--text);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* Serif content */
.entry-summary,
.entry-content {
  font-family: 'Source Serif 4', serif;
  color: #444;
  line-height: 1.7;
}

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

a:hover {
  opacity: 0.7;
}

/* =========================
   HEADER (STABLE + CENTERED)
========================= */
.header-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 110px;
  background: #0d0d0d;
  border-bottom: 1px solid #1a1a1a;
  z-index: 9999;

  display: flex;
  align-items: center; /* vertical center full bar */
}

/* inner containers */
#header,
.menu-container {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
}

/* header layout */
#header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
}

/* =========================
   BRANDING (UNIFIED SYSTEM)
========================= */
#branding {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 24px;
  height: 100%;
}

/* text logo */
#site-title a {
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;
  color: #fff;
  letter-spacing: 0.3px;
}

/* image logo */
#branding img {
  height: 18px;
  width: auto;
  display: block;
}

/* hide tagline */
#site-description {
  display: none;
}

/* =========================
   NAVIGATION
========================= */
#menu-primary {
  width: 100%;
}

#menu-primary .wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

#menu-primary .menu-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 50px;
  padding-right: 24px;
}

/* menu */
.menu-items {
  display: flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-items a {
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  transition: color 0.2s ease;
}

.menu-items a:hover {
  color: #bbb;
  opacity: 1;
}

.menu-items .current-menu-item a {
  color: #fff;
  font-weight: 600;
}

/* remove search */
.search-toggle,
.search-submit {
  display: none !important;
}

/* =========================
   PAGE OFFSET
========================= */
body {
  padding-top: 110px;
}

/* =========================
   CONTENT
========================= */
.entry-card {
  background: #fff;
  border: 1px solid var(--line);
}

/* =========================
   FOOTER (CLEAN)
========================= */
#footer {
  width: 100%;
  margin-top: 100px;
  padding-top: 40px;
  background: #0d0d0d;
  color: #aaa;
  border-top: 1px solid #1a1a1a;
}

/* inner containers */
#footer .wrap,
#footer .menu-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

/* footer menu */
#menu-footer .menu-items {
  display: flex;
  justify-content: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* links */
#menu-footer a {
  font-size: 13px;
  color: #aaa;
  text-decoration: none;
  letter-spacing: 0.3px;
  transition: color 0.2s ease;
}

#menu-footer a:hover {
  color: #fff;
}

/* footer bottom */
#footer .license {
  max-width: 1100px;
  margin: 40px auto 0;
  padding: 24px;
  text-align: center;
  border-top: 1px solid #222;
}

/* copyright */
#footer .license p {
  font-size: 12px;
  color: #666;
  margin: 0;
}

/* =========================
   WOOCOMMERCE NORMALIZATION
========================= */
body.woocommerce #header,
body.woocommerce-page #header,
body.single-product #header,
body.page #header,
body.single #header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 60px !important;
}

body.woocommerce #branding,
body.woocommerce-page #branding {
  display: flex !important;
  align-items: center !important;
  margin-left: 24px !important;
  height: 100% !important;
}/* =========================
   BRANDING SIZE CONTROL
========================= */

#branding {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* text logo */
#site-title a {
  font-size: 18px;        /* master size */
  line-height: 1;
  font-weight: 600;
}

/* image logo matches text height */
#branding img {
  height: 18px;           /* match text size */
  width: auto;
  display: block;
}/* ========================= ROOT VARIABLES ========================= */ :root { --text: #111; --muted: #666; --line: #eaeaea; --bg: #ffffff; --accent: #0a0a0a; --soft: #f7f7f7; } /* ========================= FONTS ========================= */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Source+Serif+4:wght@400;600&display=swap'); html, body { font-family: 'Inter', system-ui, sans-serif; color: var(--text); margin: 0; padding: 0; overflow-x: hidden; } /* Serif content */ .entry-summary, .entry-content { font-family: 'Source Serif 4', serif; color: #444; line-height: 1.7; } /* ========================= GLOBAL RESET ========================= */ *, *::before, *::after { box-sizing: border-box; } a:hover { opacity: 0.7; } /* ========================= HEADER (DARK + STICKY) ========================= */ .header-nav { position: fixed; top: 0; left: 0; width: 100%; height: 110px; background: #2f6d46; border-bottom: 1px solid #2f6d46; z-index: 9999; } /* inner containers */ #header, .menu-container { max-width: 1100px; margin: 0 auto; padding: 0; width: 100%; } /* header layout */ #header { position: relative; display: flex; align-items: center; justify-content: space-between; height: 60px; } /* ========================= LOGO / BRANDING ========================= */ #branding { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; } #branding img, { height: 28px; width: auto; } #site-title a { font-weight: 600; text-decoration: none; color: #fff; } #site-description { display: none; } /* ========================= NAVIGATION ========================= */ #menu-primary { width: 100%; } #menu-primary .wrap { max-width: 1100px; margin: 0 auto; padding: 0 24px; } #menu-primary .menu-container { display: flex; align-items: center; justify-content: flex-end; height: 50px; } /* menu */ .menu-items { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; } .menu-items a { font-size: 14px; text-decoration: none; color: #fff; transition: color 0.2s ease; } /* hover */ .menu-items a:hover { color: #bbb; opacity: 1; } /* active */ .menu-items .current-menu-item a { color: #fff; font-weight: 600; } /* remove search */ .search-toggle, .search-submit { display: none !important; } /* ========================= PAGE OFFSET ========================= */ body { padding-top: 110px; } /* ========================= CONTENT ========================= */ .entry-card { background: #fff; border: 1px solid var(--line); } /* ========================= FOOTER (FIXED + CLEAN) ========================= */ #footer { width: 100%; margin-top: 100px; padding-top: 40px; background: #0d0d0d; color: #aaa; border-top: 1px solid #1a1a1a; } /* inner containers */ #footer .wrap, #footer .menu-container { max-width: 1100px; margin: 0 auto; padding: 0 24px; } /* footer menu */ #menu-footer .menu-items { display: flex; justify-content: center; gap: 28px; list-style: none; margin: 0; padding: 0; } /* links */ #menu-footer a { font-size: 13px; color: #aaa; text-decoration: none; letter-spacing: 0.3px; transition: color 0.2s ease; } #menu-footer a:hover { color: #fff; } /* footer bottom */ #footer .license { max-width: 1100px; margin: 40px auto 0; padding: 24px; text-align: center; border-top: 1px solid #222; } /* copyright text */ #footer .license p { font-size: 12px; color: #666; margin: 0; } /* ========================= WOOCOMMERCE FIXES ========================= */ body.woocommerce #header, body.single-product #header, body.page #header, body.single #header { display: flex !important; align-items: center !important; justify-content: space-between !important; } body.woocommerce #branding, body.woocommerce-page #branding { left: 24px !important; top: 50% !important; transform: translateY(-50%) !important; } /* ========================= SAFETY OVERRIDES ========================= */ #branding > * { position: static !important; transform: none !important; }make logo same everywhere/* =========================
   WOOCOMMERCE PAGINATION (FLAT)
========================= */

.woocommerce nav.woocommerce-pagination {
    margin-top: 20px;
}

/* container */
.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display: flex;
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* all items */
.woocommerce nav.woocommerce-pagination ul.page-numbers li {
    margin: 0;
}

/* links + current */
.woocommerce nav.woocommerce-pagination .page-numbers {
    
    /* remove all default styles */
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;

    /* match button typography */
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;

    color: #111;
    padding: 0;

    display: inline-block;
}

/* hover */
.woocommerce nav.woocommerce-pagination a.page-numbers:hover {
    opacity: 0.6;
}

/* current page */
.woocommerce nav.woocommerce-pagination .current {
    opacity: 0.4;
}

/* next arrow */
.woocommerce nav.woocommerce-pagination .next {
    font-size: 14px;
}add_action('woocommerce_checkout_process', function() {
    if (isset($_POST['custom_field'])) {
        $value = sanitize_text_field($_POST['custom_field']);

        if (empty($value)) {
            wc_add_notice('Custom field is required.', 'error');
        }
    }
});/* =========================
   GLOBAL FORM SYSTEM
========================= */
:root {
  --text: #111;
  --muted: #777;
  --line: #e6e6e6;
  --bg: #ffffff;
  --accent: #000;
  --soft: #fafafa;
}

/* =========================
   BUTTONS (ALL TYPES)
========================= */
button,
input[type="submit"],
input[type="button"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  appearance: none;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--text);
  padding: 10px 16px;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.18s ease;
  line-height: 1;
}

/* Hover = invert */
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

/* Active press */
button:active,
.woocommerce button.button:active {
  transform: translateY(1px);
}

/* Disabled */
button:disabled,
.woocommerce button.button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  background: transparent !important;
  color: var(--muted);
}

/* Primary Woo button */
.woocommerce button.button.alt,
.woocommerce a.button.alt {
  border-color: var(--accent);
}

.woocommerce button.button.alt:hover {
  background: var(--accent);
  color: #fff;
}

/* =========================
   INPUT FIELDS
========================= */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea,
select,
.woocommerce input.input-text {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: 8px 0;
  font-size: 14px;
  color: var(--text);
  transition: border-color 0.2s ease;
}

/* Focus = sharp underline */
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-bottom-color: var(--accent);
}

/* Placeholder */
::placeholder {
  color: var(--muted);
  opacity: 1;
}

/* =========================
   LABELS
========================= */
label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  display: block;
  margin-bottom: 6px;
}

/* =========================
   CHECKBOX / RADIO (CLEAN)
========================= */
input[type="checkbox"],
input[type="radio"] {
  accent-color: #000;
  transform: scale(1.1);
  margin-right: 6px;
}

/* =========================
   FORM ROW SPACING
========================= */
.woocommerce form .form-row {
  margin-bottom: 18px;
}

/* =========================
   CART / COUPON INPUT
========================= */
.woocommerce-cart .coupon input.input-text {
  max-width: 180px;
}

/* =========================
   MY ACCOUNT FORMS
========================= */
.woocommerce-MyAccount-content input {
  max-width: 420px;
}

/* =========================
   REMOVE HEAVY DEFAULTS
========================= */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  box-shadow: none;
  border-radius: 0;
}

/* =========================
   BUTTON GROUP ALIGNMENT
========================= */
.woocommerce .form-row button,
.woocommerce .form-row .button {
  margin-top: 8px;
}

/* =========================
   MINI CART BUTTONS
========================= */
.woocommerce-mini-cart__buttons .button {
  width: 100%;
  text-align: cente
/* =========================
   FINAL HARDENING
========================= */

/* Prevent ANY flex collapse */
#branding,
#menu-primary,
#menu-primary .wrap {
  flex-shrink: 0 !important;
}

/* Prevent layout jitter */
html,
body,
#header,
#branding,
#menu-primary,
#menu-primary .wrap,
.custom-logo {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
}