/*
Theme Name: Goddess Fitness Premium
Theme URI: https://goddess-fitness.com/
Author: ChatGPT for Goddess Fitness by Catia Moreira
Description: Thème WordPress/WooCommerce premium Goddess Fitness avec installateur intégré : pages, blog, articles SEO, boutique, menus, contenus, métadonnées SEO et réglages de base sans import XML séparé.
Version: 1.2.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: goddess-fitness-premium
Tags: e-commerce, woocommerce, responsive, accessibility-ready, blog, custom-menu, featured-images
*/

:root {
  --gf-ink: #151217;
  --gf-text: #3b343c;
  --gf-muted: #766d78;
  --gf-soft: #fbf6f1;
  --gf-blush: #f5ded6;
  --gf-rose: #c77a82;
  --gf-rose-dark: #985760;
  --gf-gold: #b99762;
  --gf-gold-soft: #ead8b7;
  --gf-white: #ffffff;
  --gf-border: rgba(21, 18, 23, 0.12);
  --gf-shadow: 0 22px 70px rgba(30, 23, 31, 0.12);
  --gf-radius-xl: 32px;
  --gf-radius-lg: 22px;
  --gf-radius-md: 14px;
  --gf-max: 1180px;
  --gf-header-height: 82px;
  --gf-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gf-serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--gf-text);
  background: linear-gradient(180deg, #fffaf6 0%, #ffffff 32%, #fbf6f1 100%);
  font-family: var(--gf-font);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--gf-rose-dark); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--gf-ink); }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(185, 151, 98, .55); outline-offset: 3px; border-radius: 8px; }
.skip-link { position: absolute; left: -999px; top: 10px; z-index: 9999; background: var(--gf-ink); color: #fff; padding: .8rem 1rem; border-radius: 999px; }
.skip-link:focus { left: 10px; }
.gf-container { width: min(100% - 32px, var(--gf-max)); margin-inline: auto; }
.gf-section { padding: clamp(56px, 7vw, 110px) 0; }
.gf-eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem; color: var(--gf-rose-dark); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.gf-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--gf-gold); }
.gf-title { margin: 0; color: var(--gf-ink); font-family: var(--gf-serif); font-size: clamp(2.15rem, 5vw, 5.4rem); line-height: .98; letter-spacing: -.045em; }
.gf-title-small { margin: 0; color: var(--gf-ink); font-family: var(--gf-serif); font-size: clamp(2rem, 3.5vw, 3.7rem); line-height: 1.02; letter-spacing: -.035em; }
.gf-lead { color: var(--gf-muted); font-size: clamp(1.04rem, 1.45vw, 1.24rem); max-width: 66ch; }
.gf-kicker { font-weight: 800; color: var(--gf-gold); letter-spacing: .08em; text-transform: uppercase; font-size: .74rem; }
.gf-button, .button, button.button, input[type="submit"], .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  padding: .86rem 1.18rem;
  background: var(--gf-ink);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(21, 18, 23, .18);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.gf-button:hover, .button:hover, button.button:hover, input[type="submit"]:hover, .wp-block-button__link:hover { transform: translateY(-2px); background: var(--gf-rose-dark); box-shadow: 0 18px 38px rgba(152, 87, 96, .2); }
.gf-button--ghost { background: rgba(255,255,255,.78); color: var(--gf-ink) !important; box-shadow: inset 0 0 0 1px var(--gf-border); }
.gf-button--ghost:hover { background: #fff; color: var(--gf-ink) !important; }

.gf-topbar { background: var(--gf-ink); color: #fff; font-size: .86rem; }
.gf-topbar .gf-container { display: flex; justify-content: center; text-align: center; padding: .48rem 1rem; }
.gf-header { position: sticky; top: 0; z-index: 800; background: rgba(255,250,246,.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(21,18,23,.08); }
.gf-header__inner { min-height: var(--gf-header-height); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gf-brand { display: inline-flex; align-items: center; gap: .72rem; min-width: 150px; color: var(--gf-ink); text-decoration: none; font-weight: 900; letter-spacing: -.03em; }
.gf-brand img { width: 58px; height: 58px; object-fit: contain; }
.gf-brand span { line-height: 1.05; }
.gf-menu { display: flex; align-items: center; justify-content: center; gap: .2rem; padding: 0; margin: 0; list-style: none; }
.gf-menu li { list-style: none; }
.gf-menu a { display: inline-flex; padding: .65rem .75rem; color: var(--gf-ink); text-decoration: none; font-weight: 780; border-radius: 999px; }
.gf-menu a:hover { background: rgba(199,122,130,.11); color: var(--gf-rose-dark); }
.gf-header__actions { display: flex; align-items: center; gap: .65rem; }
.gf-cart { position: relative; display: inline-flex; align-items: center; gap: .45rem; padding: .6rem .85rem; border: 1px solid var(--gf-border); border-radius: 999px; color: var(--gf-ink); text-decoration: none; font-weight: 850; background: #fff; }
.gf-cart__count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 .35rem; border-radius: 999px; background: var(--gf-rose); color: #fff; font-size: .75rem; }
.gf-nav-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--gf-border); border-radius: 999px; background: #fff; color: var(--gf-ink); }
.gf-nav-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: currentColor; border-radius: 2px; }

.gf-hero { position: relative; overflow: hidden; padding: clamp(56px, 8vw, 118px) 0 48px; }
.gf-hero::before { content:""; position: absolute; inset: -120px -20vw auto auto; width: 60vw; height: 60vw; max-width: 720px; max-height: 720px; background: radial-gradient(circle, rgba(245,222,214,.9), rgba(234,216,183,.35) 45%, transparent 72%); pointer-events:none; }
.gf-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(300px, .82fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.gf-hero__copy { max-width: 720px; }
.gf-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.7rem 0; }
.gf-proof { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.gf-proof span { display: inline-flex; align-items: center; padding: .48rem .72rem; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid var(--gf-border); color: var(--gf-ink); font-weight: 750; font-size: .9rem; }
.gf-hero-card { position: relative; min-height: 560px; border-radius: var(--gf-radius-xl); background: linear-gradient(150deg, #211b20 0%, #8d5960 48%, #ead8b7 100%); box-shadow: var(--gf-shadow); overflow: hidden; isolation: isolate; }
.gf-hero-card::before { content:""; position:absolute; inset: 12px; border: 1px solid rgba(255,255,255,.32); border-radius: calc(var(--gf-radius-xl) - 10px); }
.gf-hero-card::after { content:"GODDESS"; position: absolute; left: -22px; bottom: 32px; color: rgba(255,255,255,.12); font-family: var(--gf-serif); font-size: clamp(4.7rem, 9vw, 8rem); letter-spacing: -.08em; transform: rotate(-6deg); }
.gf-hero-card__panel { position: absolute; inset: auto 22px 22px 22px; padding: 1.2rem; border-radius: 24px; background: rgba(255,255,255,.78); backdrop-filter: blur(18px); box-shadow: 0 20px 50px rgba(0,0,0,.14); }
.gf-hero-card__panel strong { display:block; color: var(--gf-ink); font-family: var(--gf-serif); font-size: 1.7rem; line-height:1.05; }
.gf-hero-card__panel p { margin:.45rem 0 0; color: var(--gf-muted); }
.gf-stats { display:grid; grid-template-columns: repeat(3,1fr); gap:.85rem; margin-top: 1rem; }
.gf-stat { padding: .9rem; border-radius: 18px; background: rgba(255,255,255,.86); }
.gf-stat b { display:block; color: var(--gf-rose-dark); font-size:1.35rem; }
.gf-stat span { color: var(--gf-muted); font-size:.86rem; }

.gf-feature-strip { position: relative; z-index: 2; margin-top: -18px; }
.gf-feature-strip__inner { display:grid; grid-template-columns: repeat(4,1fr); gap: 1px; overflow:hidden; border-radius: 24px; background: var(--gf-border); box-shadow: var(--gf-shadow); }
.gf-feature { background: rgba(255,255,255,.92); padding: 1.15rem; }
.gf-feature b { display:block; color: var(--gf-ink); margin-bottom:.15rem; }
.gf-feature span { color: var(--gf-muted); font-size: .92rem; }

.gf-grid { display:grid; gap: clamp(18px, 2vw, 26px); }
.gf-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.gf-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.gf-card { position: relative; border: 1px solid var(--gf-border); border-radius: var(--gf-radius-lg); background: rgba(255,255,255,.78); padding: clamp(1.1rem, 2vw, 1.55rem); box-shadow: 0 16px 50px rgba(21,18,23,.06); overflow:hidden; }
.gf-card--image { min-height: 340px; display:flex; flex-direction:column; justify-content:flex-end; background: linear-gradient(135deg, rgba(21,18,23,.92), rgba(152,87,96,.78)); color: #fff; }
.gf-card--image::before { content:""; position:absolute; inset:-30% -20% auto auto; width:70%; height:80%; border-radius:50%; background: rgba(234,216,183,.35); filter: blur(3px); }
.gf-card--image h3, .gf-card--image p { position:relative; }
.gf-card h3 { margin:.3rem 0 .45rem; color: inherit; font-family: var(--gf-serif); font-size: clamp(1.45rem,2vw,2rem); line-height:1.05; }
.gf-card p { margin:.2rem 0 0; }
.gf-card a:not(.gf-button) { position: relative; color: inherit; font-weight: 850; }

.gf-split { display:grid; grid-template-columns: .88fr 1.12fr; gap: clamp(24px, 4vw, 64px); align-items:center; }
.gf-panel { border-radius: var(--gf-radius-xl); background: linear-gradient(145deg, #fff, var(--gf-soft)); border: 1px solid var(--gf-border); padding: clamp(1.2rem, 3.5vw, 3rem); box-shadow: var(--gf-shadow); }
.gf-checks { display:grid; gap:.8rem; padding:0; margin:1.4rem 0 0; list-style:none; }
.gf-checks li { display:flex; gap:.75rem; align-items:flex-start; }
.gf-checks li::before { content:"✓"; display:inline-grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background: var(--gf-blush); color: var(--gf-rose-dark); font-weight:900; }

.gf-newsletter { border-radius: var(--gf-radius-xl); background: linear-gradient(135deg, #191419, #7c4b54); color:#fff; padding: clamp(1.35rem, 4vw, 3.3rem); display:grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items:center; overflow:hidden; position:relative; }
.gf-newsletter::after { content:""; position:absolute; width:260px; height:260px; right:-80px; top:-100px; border-radius:50%; background: rgba(234,216,183,.22); }
.gf-newsletter h2 { color:#fff; margin:0; font-family:var(--gf-serif); font-size:clamp(1.8rem,3vw,3.3rem); line-height:1.02; }
.gf-newsletter p { color: rgba(255,255,255,.78); margin:.5rem 0 0; }

.gf-page-hero { padding: clamp(44px, 6vw, 84px) 0 28px; }
.gf-page-hero .gf-container { display:grid; gap:.9rem; }
.gf-content { padding: 28px 0 76px; }
.gf-content .gf-container { max-width: 980px; }
.gf-content h1, .gf-content h2, .gf-content h3 { color: var(--gf-ink); font-family: var(--gf-serif); line-height:1.1; }
.gf-content h1 { font-size:clamp(2.2rem,5vw,4.5rem); }
.gf-content h2 { margin-top:2rem; font-size:clamp(1.7rem,3vw,2.8rem); }
.gf-content p, .gf-content li { color: var(--gf-text); }
.gf-content table { width:100%; border-collapse:collapse; overflow:hidden; border-radius:16px; }
.gf-content th, .gf-content td { padding:.9rem; border:1px solid var(--gf-border); text-align:left; }
.gf-content th { background: var(--gf-soft); color: var(--gf-ink); }

.gf-post-list { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.gf-post-card { display:flex; flex-direction:column; min-height: 100%; border:1px solid var(--gf-border); border-radius:22px; background:#fff; overflow:hidden; box-shadow:0 16px 44px rgba(21,18,23,.06); }
.gf-post-card__media { aspect-ratio: 4/3; background: linear-gradient(135deg, var(--gf-blush), var(--gf-gold-soft)); display:grid; place-items:center; color:var(--gf-rose-dark); font-family:var(--gf-serif); font-size:3rem; }
.gf-post-card__body { padding:1.1rem; }
.gf-post-card h3 { margin:.2rem 0 .45rem; color:var(--gf-ink); font-family:var(--gf-serif); font-size:1.55rem; line-height:1.1; }
.gf-post-card a { text-decoration:none; color:inherit; }
.gf-post-card p { color:var(--gf-muted); margin:.45rem 0 .8rem; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color: var(--gf-muted); font-size:.9rem; margin: 1.2rem 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--gf-rose-dark); }
.woocommerce-products-header, .woocommerce .page-title { margin-bottom: 1.5rem; }
.woocommerce .page-title { color: var(--gf-ink); font-family: var(--gf-serif); font-size: clamp(2.3rem,5vw,4.5rem); line-height:1; }
.woocommerce-result-count, .woocommerce-ordering { margin-bottom: 1.2rem; }
.woocommerce-ordering select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .search-field {
  min-height: 46px;
  border: 1px solid var(--gf-border);
  border-radius: 14px;
  padding: .75rem .85rem;
  background: #fff;
  color: var(--gf-ink);
}
.woocommerce ul.products { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.2rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width:auto !important; margin:0 !important; float:none !important; }
.woocommerce ul.products li.product { position:relative; border:1px solid var(--gf-border); border-radius:24px; background:#fff; padding: .72rem .72rem 1rem !important; box-shadow:0 14px 45px rgba(21,18,23,.08); transition: transform .22s ease, box-shadow .22s ease; overflow:hidden; }
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--gf-shadow); }
.woocommerce ul.products li.product a img { border-radius: 18px; aspect-ratio: 4/5; object-fit: cover; margin:0 0 .9rem !important; background: var(--gf-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--gf-ink); font-family:var(--gf-serif); font-size:1.25rem; line-height:1.05; padding:0 !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: var(--gf-rose-dark); font-weight:900; font-size:1.02rem; }
.woocommerce span.onsale { min-height: auto; min-width:auto; border-radius:999px; background: var(--gf-rose-dark); color:#fff; font-weight:900; line-height:1; padding:.48rem .65rem; top:.85rem; left:.85rem; }
.woocommerce ul.products li.product .button { width:100%; margin-top:.7rem; min-height:44px; font-size:.9rem; }
.woocommerce div.product { display:grid; grid-template-columns: minmax(0,.95fr) minmax(0,1fr); gap: clamp(24px,4vw,58px); align-items:start; }
.woocommerce div.product div.images, .woocommerce-page div.product div.images, .woocommerce div.product div.summary, .woocommerce-page div.product div.summary { width:auto; float:none; }
.woocommerce div.product div.images img { border-radius: 26px; background: var(--gf-soft); }
.woocommerce div.product .product_title { color: var(--gf-ink); font-family: var(--gf-serif); font-size: clamp(2.25rem,4vw,4.6rem); line-height:.98; letter-spacing:-.04em; }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; padding: 1rem 0; }
.woocommerce div.product form.cart .variations { width:100%; border:0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display:block; text-align:left; padding:.25rem 0; background: transparent; border:0; }
.woocommerce .quantity .qty { width: 86px; min-height: 48px; border: 1px solid var(--gf-border); border-radius: 14px; padding: .4rem; }
.woocommerce-tabs { grid-column:1/-1; margin-top:1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; gap:.55rem; padding:0; margin:0 0 1rem; border:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:1px solid var(--gf-border); border-radius:999px; background:#fff; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:.7rem 1rem; color:var(--gf-ink); }
.woocommerce div.product .woocommerce-tabs .panel { border:1px solid var(--gf-border); border-radius:22px; background:#fff; padding:1.35rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--gf-rose); border-radius: 18px; background:#fff; box-shadow:0 12px 35px rgba(21,18,23,.06); }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { background:#fff; border:1px solid var(--gf-border); border-radius:24px; padding:1.2rem; box-shadow:0 16px 44px rgba(21,18,23,.06); }
.woocommerce table.shop_table { border:1px solid var(--gf-border); border-radius:18px; overflow:hidden; background:#fff; }
.woocommerce table.shop_table th { color:var(--gf-ink); background:var(--gf-soft); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color:var(--gf-border); }

.gf-footer { background: #151217; color: rgba(255,255,255,.76); padding: 58px 0 24px; }
.gf-footer a { color:#fff; text-decoration:none; }
.gf-footer a:hover { color: var(--gf-gold-soft); }
.gf-footer__grid { display:grid; grid-template-columns: 1.2fr .75fr .75fr .8fr; gap: 2rem; }
.gf-footer h2, .gf-footer h3 { color:#fff; font-family:var(--gf-serif); line-height:1.1; }
.gf-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.gf-footer__bottom { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:2.2rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.12); font-size:.9rem; }

@media (max-width: 1040px) {
  .woocommerce ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .gf-feature-strip__inner { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 860px) {
  .gf-nav-toggle { display:inline-block; }
  .gf-nav-wrap { position: fixed; inset: calc(var(--gf-header-height) + 36px) 16px auto 16px; display:none; background:#fff; border:1px solid var(--gf-border); border-radius:24px; box-shadow:var(--gf-shadow); padding:.8rem; }
  .gf-nav-wrap.is-open { display:block; }
  .gf-menu { display:grid; justify-content:stretch; gap:.15rem; }
  .gf-menu a { display:flex; width:100%; padding:.85rem; }
  .gf-hero__grid, .gf-split, .woocommerce div.product, .gf-newsletter { grid-template-columns:1fr; }
  .gf-hero-card { min-height: 420px; }
  .gf-grid--3, .gf-grid--2, .gf-post-list { grid-template-columns:1fr; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gf-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  :root { --gf-header-height: 72px; }
  .gf-container { width: min(100% - 22px, var(--gf-max)); }
  .gf-brand img { width:48px; height:48px; }
  .gf-brand span { font-size:.92rem; }
  .gf-header__actions .gf-button { display:none; }
  .gf-cart { padding:.55rem .7rem; }
  .gf-hero { padding-top:42px; }
  .gf-feature-strip__inner, .gf-stats, .woocommerce ul.products, .gf-footer__grid { grid-template-columns:1fr; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x:auto; padding-bottom:.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
}
