/*
Theme Name: FallonZ Production
Theme URI: https://fallonz.nl
Author: FallonZ
Description: Modern WooCommerce production theme for FallonZ. Built for WordPress 6.9+, WooCommerce 10.5+, and PHP 8.4.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: fallonz-production
*/

:root{
  --fz-primary:#ff2f92;
  --fz-primary-dark:#d81b77;
  --fz-bg:#fff9fc;
  --fz-surface:#ffffff;
  --fz-surface-soft:#fff1f7;
  --fz-text:#1f2937;
  --fz-muted:#6b7280;
  --fz-border:#f5d4e5;
  --fz-shadow:0 14px 40px rgba(255,47,146,.10);
  --fz-radius:18px;
  --fz-container:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--fz-text);
  background:linear-gradient(180deg,#fff 0%,var(--fz-bg) 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:var(--fz-primary);text-decoration:none}
a:hover{text-decoration:underline}
button,
.button,
.wp-block-button__link,
input[type="submit"]{
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--fz-primary),var(--fz-primary-dark));
  color:#fff;
  padding:12px 18px;
  font-weight:700;
  cursor:pointer;
  box-shadow:var(--fz-shadow);
}
.button-outline{
  background:#fff;
  color:var(--fz-primary-dark);
  border:1px solid var(--fz-border);
  box-shadow:none;
}
.container{
  width:min(var(--fz-container), calc(100% - 32px));
  margin:0 auto;
}
.section{padding:56px 0}
.section-title{
  margin:0 0 10px;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.1;
}
.section-subtitle{margin:0 0 28px;color:var(--fz-muted)}
.card{
  background:var(--fz-surface);
  border:1px solid var(--fz-border);
  border-radius:var(--fz-radius);
  box-shadow:var(--fz-shadow);
}

.site-header{
  position:sticky;
  top:0;
  z-index:120;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #f8ddea;
}
.site-header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:28px;
}
.logo a{
  color:var(--fz-primary);
  text-decoration:none;
}
.logo img{
  max-height:52px;
  width:auto;
}
.site-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:18px;
  align-items:center;
}
.site-nav li{margin:0}
.site-nav a{
  color:var(--fz-text);
  font-weight:700;
  text-decoration:none;
}
.site-nav a:hover,
.site-nav .current-menu-item > a{color:var(--fz-primary)}
.nav-toggle{display:none}

.hero{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:28px;
  align-items:center;
  min-height:70vh;
}
.hero-copy{padding:34px}
.badge{
  display:inline-block;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--fz-border);
  color:var(--fz-primary-dark);
  font-size:.92rem;
  font-weight:700;
}
.hero h1{
  margin:14px 0 12px;
  font-size:clamp(2.2rem,5vw,4.2rem);
  line-height:1;
}
.hero p{
  margin:0;
  max-width:60ch;
  color:var(--fz-muted);
  font-size:1.05rem;
}
.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}
.hero-visual{padding:18px}
.hero-grid,
.category-grid,
.feature-grid,
.inspiration-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.hero-mini,
.category-card,
.feature-card,
.inspiration-card{
  padding:18px;
  background:#fff;
  border:1px solid var(--fz-border);
  border-radius:var(--fz-radius);
  box-shadow:var(--fz-shadow);
}
.hero-mini{
  text-align:center;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-thumb{
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fff,var(--fz-surface-soft));
  border:1px dashed var(--fz-border);
  border-radius:16px;
  margin-bottom:14px;
  font-size:42px;
}
.small-text{font-size:.94rem;color:var(--fz-muted)}

.content-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:28px;
}
.content-main,
.content-sidebar{
  min-width:0;
}
.content-panel{
  padding:28px;
}
.entry-title,
.page-title{
  margin-top:0;
  line-height:1.15;
}
.entry-meta{
  color:var(--fz-muted);
  font-size:.92rem;
  margin-bottom:18px;
}
.sidebar-widget{
  margin-bottom:20px;
  padding:20px;
}

.site-footer{
  margin-top:50px;
  padding:30px 0;
  border-top:1px solid var(--fz-border);
  color:var(--fz-muted);
}

.archive-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.archive-card{
  overflow:hidden;
}
.archive-card-inner{
  padding:18px;
}
.pagination{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:28px;
}

.woocommerce div.product,
.woocommerce-page div.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff;
  border:1px solid var(--fz-border);
  border-radius:var(--fz-radius);
  box-shadow:var(--fz-shadow);
}
.woocommerce div.product{padding:24px}
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product{
  width:auto !important;
  margin:0 !important;
  padding:18px;
}
.woocommerce span.onsale{
  background:var(--fz-primary);
}
.woocommerce .button.add_to_cart_button,
.woocommerce .single_add_to_cart_button{
  border-radius:14px;
}
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary{
  width:100% !important;
  float:none !important;
}
.woocommerce-product-gallery,
.woocommerce div.product form.cart{
  margin-bottom:20px;
}
.single-product-shell{
  padding:24px;
}

.fallonz-designer-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:24px;
}
.fallonz-designer-stage,
.fallonz-designer-panel,
.notice-card{
  background:#fff;
  border:1px solid var(--fz-border);
  border-radius:var(--fz-radius);
  box-shadow:var(--fz-shadow);
}
.fallonz-designer-stage{
  padding:20px;
  position:sticky;
  top:98px;
}
.fallonz-designer-panel{padding:20px}
.notice-card{padding:16px;margin-bottom:18px}
.designer-preview-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.mockup-tabs,
.stage-actions,
.stack{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.mockup-tab{
  background:#fff;
  color:var(--fz-primary-dark);
  border:1px solid var(--fz-border);
  box-shadow:none;
}
.mockup-tab.is-active{
  background:linear-gradient(135deg,var(--fz-primary),var(--fz-primary-dark));
  color:#fff;
}
#fallonz-designer-canvas{
  display:block;
  width:100%;
  max-width:760px;
  aspect-ratio:1/1;
  background:#fff;
  border:1px solid #f3e2eb;
  border-radius:16px;
  box-shadow:inset 0 0 0 6px var(--fz-bg);
  margin:0 auto;
}
.toolbar-group{
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid #f7dfea;
}
.toolbar-group:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
}
.toolbar-group h3{
  margin:0 0 12px;
  font-size:1rem;
}
.toolbar-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
label{
  display:block;
  margin-bottom:6px;
  font-size:.92rem;
  font-weight:700;
}
input[type="text"],
input[type="number"],
input[type="color"],
input[type="file"],
input[type="range"],
select,
textarea{
  width:100%;
}
input[type="text"],
input[type="number"],
input[type="color"],
select,
textarea{
  padding:11px 12px;
  border-radius:12px;
  border:1px solid #eccad9;
  background:#fff;
}

.search-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.search-field{
  flex:1 1 240px;
}

.wp-block-image img,
.entry-content img{
  border-radius:16px;
}

@media (max-width: 1024px){
  .hero,
  .content-shell,
  .fallonz-designer-layout{
    grid-template-columns:1fr;
  }
  .archive-grid,
  .hero-grid,
  .category-grid,
  .feature-grid,
  .inspiration-grid,
  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fallonz-designer-stage{
    position:static;
  }
}

@media (max-width: 760px){
  .site-header-inner{min-height:72px}
  .nav-toggle{display:inline-flex}
  .site-nav{display:none}
  .site-nav.is-open{
    display:block;
    position:absolute;
    left:16px;
    right:16px;
    top:76px;
    background:#fff;
    padding:14px;
    border-radius:16px;
    border:1px solid var(--fz-border);
    box-shadow:var(--fz-shadow);
  }
  .site-nav ul{flex-direction:column;align-items:flex-start}
  .archive-grid,
  .hero-grid,
  .category-grid,
  .feature-grid,
  .inspiration-grid,
  .toolbar-row,
  .woocommerce ul.products{
    grid-template-columns:1fr;
  }
  .hero-copy{padding:26px}
}


/* Builder compatibility */
.alignwide{width:min(1400px, calc(100% - 32px));margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns{margin-bottom:1.5rem}
.entry-content .wp-block-button__link{text-decoration:none}
.elementor-page .content-shell,
.elementor-page .content-main,
.elementor-page .content-sidebar{display:block}
.elementor-widget-container img{border-radius:16px}
.fallonz-builder-canvas .elementor-section-wrap{width:100%}
