/*
Theme Name: Filling Happiness
Theme URI: https://fillinghappiness.pl
Author: Filling Happiness
Description: Flexible native block theme for Filling Happiness.
Version: 0.8.0
Text Domain: fillinghappiness
*/

/*
 * Filling Happiness — Design System 01
 * Colors: Ivory, Warm Sand, Taupe, Sage, Charcoal, Champagne.
 * Typography: Cormorant Garamond / Manrope / Inter.
 */
:root{
  --fh-ivory:#F7F5F1;
  --fh-warm-sand:#E9E2D8;
  --fh-taupe:#BFAE9B;
  --fh-sage:#C8CDC5;
  --fh-charcoal:#2F2F2C;
  --fh-champagne:#B89663;

  /* Compatibility aliases used by existing theme components. */
  --fh-bg:var(--fh-ivory);
  --fh-sand:var(--fh-warm-sand);
  --fh-paper:var(--fh-ivory);
  --fh-ink:var(--fh-charcoal);
  --fh-muted:var(--fh-taupe);
  --fh-gold:var(--fh-champagne);
  --fh-gold-dark:var(--fh-champagne);
  --fh-line:var(--fh-taupe);

  --fh-font-display:'Cormorant Garamond',serif;
  --fh-font-body:Manrope,sans-serif;
  --fh-font-ui:Inter,sans-serif;
  --fh-max:1260px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--fh-ivory);color:var(--fh-charcoal);font-family:var(--fh-font-body);font-weight:400}
a{color:var(--fh-charcoal);text-decoration:none}
a:hover{color:var(--fh-champagne)}
h1,h2,h3,h4,h5,h6{font-family:var(--fh-font-display);font-weight:400;color:var(--fh-charcoal)}
button,input,select,textarea{font-family:var(--fh-font-body)}
small,.wp-block-post-date,.wp-block-post-terms{font-family:var(--fh-font-ui)}
.wp-site-blocks{min-height:100vh;background:var(--fh-ivory)}

/* Header */
header.wp-block-template-part{position:sticky;top:0;z-index:100}
.fh-topbar{background:var(--fh-warm-sand)!important;border-bottom:1px solid rgba(191,174,155,.55)}
.fh-topbar-inner{min-height:48px;padding:0 22px}
.fh-topbar-message{margin:0;color:var(--fh-champagne);font-family:var(--fh-font-ui);font-size:.78rem;letter-spacing:.015em}
.fh-social-links{margin:0!important}
.fh-social-links .wp-social-link{background:transparent!important;color:var(--fh-charcoal)!important}
.fh-main-header{background:var(--fh-ivory)!important;border-bottom:1px solid rgba(191,174,155,.42);box-shadow:0 4px 20px rgba(47,47,44,.035)}
.fh-main-header-inner{min-height:112px;padding:0 22px;gap:28px}
.fh-logo{gap:14px;min-width:280px}
.fh-logo-mark{margin:0;color:var(--fh-champagne);font-family:var(--fh-font-display);font-size:54px;line-height:.8;transform:rotate(-7deg)}
.fh-logo-copy{gap:1px!important}
.fh-logo-title{font-family:var(--fh-font-display);font-size:1.95rem;font-weight:500;line-height:1;margin:0;color:var(--fh-charcoal)}
.fh-logo-tagline{margin:4px 0 0;color:var(--fh-taupe);font-family:var(--fh-font-ui);font-size:.72rem}
.fh-main-nav{flex:1;font-family:var(--fh-font-ui)}
.fh-main-nav .wp-block-navigation-item{margin:0 10px}
.fh-main-nav a:hover{color:var(--fh-champagne)}
.fh-header-tools{gap:16px;min-width:250px}
.fh-header-search{width:42px}
.fh-header-search .wp-block-search__input{display:none}
.fh-header-search .wp-block-search__button{margin:0;padding:9px;border:0;background:transparent;color:var(--fh-charcoal)}
.fh-contact-button .wp-element-button{background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border-radius:8px!important;box-shadow:0 8px 24px rgba(184,150,99,.18);transition:.2s ease}
.fh-contact-button .wp-element-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(184,150,99,.28)}

/* Typography roles */
.fh-eyebrow{font-family:var(--fh-font-ui)!important;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.fh-hero-v5-title,.fh-intro-title,.fh-cards-title,.fh-native-card h3{font-family:var(--fh-font-display)!important}
.fh-hero-v5-lead,.fh-intro-text,.fh-intro-note,.fh-native-card p{font-family:var(--fh-font-body)}
.wp-element-button,.woocommerce .button,.woocommerce button.button{font-family:var(--fh-font-ui)!important;font-weight:600!important}

/* FH Start */
.fh-hero-v5{padding:0;background:var(--fh-charcoal)!important;border-bottom:0}
.fh-hero-v5-grid{min-height:575px;gap:0!important}
.fh-hero-v5-copy{padding:70px 0}
.fh-hero-v5-title{margin:0 0 28px;font-weight:400;letter-spacing:-.045em;line-height:.95}
.fh-hero-v5-lead{max-width:610px;margin:0 0 36px;line-height:1.75}
.fh-hero-v5-actions{gap:18px}
.fh-button-primary .wp-element-button,.fh-button-secondary .wp-element-button{min-width:180px;justify-content:center;transition:.2s ease;border-radius:8px!important}
.fh-button-primary .wp-element-button:hover,.fh-button-secondary .wp-element-button:hover{transform:translateY(-2px)}
.fh-button-primary .wp-element-button{background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border-color:var(--fh-champagne)!important}
.fh-button-secondary .wp-element-button{background:transparent!important;color:var(--fh-ivory)!important;border-color:var(--fh-taupe)!important}
.fh-hero-visual-column{align-self:stretch!important}

/* Editable sections */
.fh-section{padding:96px 22px}
.fh-about-pattern{background:var(--fh-warm-sand)!important;border-bottom:0}
.fh-about-pattern .wp-block-columns{gap:70px}
.fh-intro-eyebrow,.fh-cards-title{color:var(--fh-champagne)!important}
.fh-intro-title{color:var(--fh-charcoal)!important}
.fh-intro-text{color:var(--fh-charcoal)!important}
.fh-intro-note{color:var(--fh-charcoal)!important;opacity:.72}
.fh-cards-pattern{background:var(--fh-ivory)!important}
.fh-cards-pattern>h2{margin-bottom:48px}
.fh-native-card-grid{gap:24px}
.fh-native-card{min-height:360px;padding:32px;border:1px solid rgba(47,47,44,.12);border-radius:16px!important;display:flex;flex-direction:column;position:relative;transition:transform .2s ease,box-shadow .2s ease;color:var(--fh-charcoal)!important}
.fh-card-1{background:var(--fh-warm-sand)!important}
.fh-card-2{background:var(--fh-sage)!important}
.fh-card-3{background:var(--fh-taupe)!important}
.fh-native-card h3{margin-top:48px;margin-bottom:22px;font-size:2rem!important;color:var(--fh-charcoal)!important}
.fh-native-card p{color:var(--fh-charcoal)!important}
.fh-native-card p:last-child{margin-top:auto;line-height:1.65}
.fh-native-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(47,47,44,.09)}
.fh-card-link{position:absolute;inset:0;z-index:2;border-radius:inherit}
.fh-native-card>*{position:relative;z-index:3;pointer-events:none}
.fh-cards-layout-featured-first{display:grid!important;grid-template-columns:1.35fr .825fr .825fr}
.fh-cards-layout-featured-first>.fh-native-card:first-child{min-height:410px}
.fh-cards-layout-stacked{display:grid!important;grid-template-columns:1fr!important}
.fh-cards-layout-stacked>.fh-native-card{min-height:220px}

/* Forms */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],select,textarea{
  background:var(--fh-ivory);color:var(--fh-charcoal);border:1px solid var(--fh-taupe);border-radius:8px;padding:12px 14px
}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(184,150,99,.35);outline-offset:1px;border-color:var(--fh-champagne)}

/* WooCommerce — same design system */
.woocommerce-page main,.woocommerce main{max-width:var(--fh-max);margin:0 auto;padding:72px 22px 96px;color:var(--fh-charcoal)}
.woocommerce .woocommerce-breadcrumb{margin:0 0 28px;color:var(--fh-taupe);font-family:var(--fh-font-ui);font-size:.8rem}
.woocommerce .woocommerce-breadcrumb a{color:var(--fh-champagne)}
.woocommerce-products-header{margin-bottom:32px}
.woocommerce-products-header__title.page-title,.woocommerce h1.product_title{font-family:var(--fh-font-display);font-weight:400;letter-spacing:-.035em;color:var(--fh-charcoal)}
.woocommerce-products-header__title.page-title{font-size:clamp(2.5rem,5vw,4.7rem);margin:0 0 18px}
.woocommerce .woocommerce-result-count{color:var(--fh-taupe);font-family:var(--fh-font-ui)}
.woocommerce .woocommerce-ordering select{border:1px solid var(--fh-taupe);background:var(--fh-ivory);border-radius:8px;padding:10px 34px 10px 12px;color:var(--fh-charcoal)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0 0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:0 0 22px;background:var(--fh-ivory);border:1px solid rgba(191,174,155,.58);border-radius:16px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(47,47,44,.09)}
.woocommerce ul.products li.product a img{margin:0 0 18px!important;aspect-ratio:1/1;object-fit:cover;background:var(--fh-warm-sand)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 20px!important;margin:0 0 8px;font-family:var(--fh-font-display);font-size:1.35rem!important;color:var(--fh-charcoal)}
.woocommerce ul.products li.product .price{padding:0 20px;color:var(--fh-champagne)!important;font-family:var(--fh-font-ui);font-weight:700}
.woocommerce ul.products li.product .button{margin:12px 20px 0!important;background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border-radius:8px;padding:11px 18px!important}
.woocommerce span.onsale{min-width:auto;min-height:auto;line-height:1;margin:14px!important;padding:8px 11px;background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border-radius:8px;font-family:var(--fh-font-ui);font-size:.72rem}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:62px;align-items:start}
.woocommerce div.product .woocommerce-product-gallery{width:auto!important;float:none!important}
.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important;padding-top:18px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--fh-champagne)!important;font-family:var(--fh-font-ui);font-size:1.5rem;font-weight:700}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:center;margin:28px 0}
.woocommerce .quantity .qty{min-height:44px;border:1px solid var(--fh-taupe);border-radius:8px;background:var(--fh-ivory);color:var(--fh-charcoal)}
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce #respond input#submit.alt{background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border-radius:8px;padding:14px 22px!important}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:22px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid var(--fh-taupe)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce .related.products,.woocommerce .upsells.products{grid-column:1/-1;margin-top:38px}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #place_order{background:var(--fh-champagne)!important;color:var(--fh-ivory)!important;border-radius:8px!important}
.woocommerce table.shop_table{border-color:var(--fh-taupe)!important;border-radius:16px!important;overflow:hidden}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--fh-taupe);border-radius:8px;padding:12px;background:var(--fh-ivory);color:var(--fh-charcoal)}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--fh-champagne)!important;background:var(--fh-warm-sand)!important;color:var(--fh-charcoal)!important}
.woocommerce-info::before,.woocommerce-message::before{color:var(--fh-champagne)!important}

/* Footer */
footer.wp-block-template-part{margin-top:0}
.fh-footer{padding:58px 22px 26px;background:var(--fh-ivory)!important;border-top:1px solid rgba(191,174,155,.58)}
.fh-footer-grid{gap:48px}
.fh-logo-footer{min-width:0}
.fh-logo-footer .fh-logo-mark{font-size:46px}
.fh-logo-footer .fh-logo-title{font-size:1.65rem}
.fh-footer-about{max-width:310px;margin:24px 0;color:var(--fh-charcoal)}
.fh-footer-socials .wp-social-link{border:1px solid var(--fh-taupe);background:var(--fh-ivory)!important;color:var(--fh-charcoal)!important}
.fh-footer h3{margin-top:4px;margin-bottom:18px;font-family:var(--fh-font-ui);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fh-charcoal)}
.fh-footer-nav{gap:12px!important;font-family:var(--fh-font-ui)}
.fh-footer-nav .wp-block-navigation-item{color:var(--fh-charcoal);opacity:.72}
.fh-newsletter-placeholder{min-height:54px;padding:12px 14px;border:1px dashed var(--fh-taupe);border-radius:8px;background:var(--fh-warm-sand)}
.fh-newsletter-placeholder p{margin:0;font-family:var(--fh-font-ui);font-size:.76rem}
.fh-footer-bottom{padding-top:20px;font-family:var(--fh-font-ui);font-size:.72rem;color:var(--fh-charcoal)}
.fh-footer-bottom p{margin:0}
.fh-heart{color:var(--fh-champagne);font-size:1.1rem}

/* Editor friendliness */
.editor-styles-wrapper .fh-main-header-inner{min-height:100px}

@media(max-width:1000px){
  .fh-main-header-inner{flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
  .fh-main-nav{order:3;flex-basis:100%}
  .fh-header-tools{min-width:0}
  .fh-footer-grid{flex-wrap:wrap!important}
  .fh-footer-grid>.wp-block-column{flex-basis:45%!important}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce div.product{grid-template-columns:1fr;gap:28px}
}
@media(max-width:781px){
  .fh-topbar-inner{padding:8px 16px}
  .fh-topbar-message{font-size:.68rem;text-align:right}
  .fh-main-header-inner{min-height:82px;padding:14px 16px}
  .fh-logo{min-width:0;flex:1}
  .fh-logo-mark{font-size:40px}
  .fh-logo-title{font-size:1.45rem}
  .fh-logo-tagline{font-size:.66rem}
  .fh-header-tools{display:none}
  .fh-main-nav{order:initial;flex-basis:auto;flex:0}
  .fh-main-nav .wp-block-navigation__responsive-container.is-menu-open{padding:28px;background:var(--fh-ivory)}
  .fh-hero-v5{padding:0}
  .fh-hero-v5-grid{min-height:auto;gap:0}
  .fh-hero-v5-copy{padding:58px 0 38px}
  .fh-section{padding:64px 18px}
  .fh-about-pattern .wp-block-columns{gap:28px}
  .fh-native-card-grid{gap:16px}
  .fh-native-card{min-height:300px}
  .fh-cards-layout-featured-first{grid-template-columns:1fr!important}
  .fh-footer{padding:48px 18px 24px}
  .fh-footer-grid>.wp-block-column{flex-basis:100%!important}
  .woocommerce-page main,.woocommerce main{padding:44px 16px 72px}
  .woocommerce ul.products{grid-template-columns:1fr}
  .woocommerce div.product form.cart{flex-wrap:wrap}
}
