/*
Theme Name: Cutcore Woo
Theme URI: https://cutcore.pl
Author: Cutcore
Author URI: https://cutcore.pl
Description: Custom lightweight WordPress theme for CUTCORE cosmetics shop, built for WooCommerce without any page builder.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cutcore-woo
*/

:root{
  --color-bg:#FFFFFF;
  --color-card-bg:#F3F0EC;
  --color-footer-bg:#E7E2DA;
  --color-text:#1A1A1A;
  --color-text-secondary:#7A7670;
  --color-accent:#111111;
  --color-btn-text:#FFFFFF;
  --color-line:#DDD8D0;
  --color-sale:#A8A08C;
  --font-heading:"Fraunces",serif;
  --font-body:"Inter",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;margin:0 0 .5em;letter-spacing:.02em;}
h1{font-size:3rem;}
h2{font-size:2.2rem;}
h3{font-size:1.5rem;}
p{margin:0 0 1em;}
.container{max-width:1280px;margin:0 auto;padding:0 32px;}
button,.button,input[type="submit"]{font-family:var(--font-body);font-weight:500;cursor:pointer;}
/* Header */
.site-header{border-bottom:1px solid var(--color-line);position:relative;background:var(--color-bg);}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:1280px;margin:0 auto;}
.site-logo{font-family:var(--font-heading);font-size:1.8rem;font-weight:500;letter-spacing:.05em;}
.site-logo img{max-height:42px;width:auto;}
.main-nav ul{display:flex;gap:36px;}
.main-nav a{font-size:.95rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;}
.main-nav a:hover{color:var(--color-text-secondary);}
.header-actions{display:flex;align-items:center;gap:20px;}
.header-cart{position:relative;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:8px;}
.header-cart .count{background:var(--color-accent);color:#fff;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;}
.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;}

/* Banner */
.shop-banner{position:relative;min-height:420px;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff;}
.shop-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),rgba(0,0,0,0));}
.shop-banner-content{position:relative;z-index:1;padding:48px 32px;max-width:1280px;margin:0 auto;width:100%;}
.shop-banner-content h1{color:#fff;font-size:3.4rem;margin-bottom:.2em;}
.shop-banner-content p{color:#f2f2f2;font-size:1.1rem;max-width:480px;}

/* Shop layout */
.shop-layout{display:flex;gap:40px;max-width:1280px;margin:0 auto;padding:48px 32px;align-items:flex-start;}
.shop-sidebar{width:260px;flex-shrink:0;}
.shop-sidebar .widget{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--color-line);}
.shop-sidebar .widget-title{font-family:var(--font-heading);font-size:1.2rem;margin-bottom:16px;}
.shop-sidebar ul li{margin-bottom:10px;font-size:.92rem;display:flex;justify-content:space-between;}
.shop-sidebar ul li a{color:var(--color-text);}
.shop-sidebar ul li a:hover{color:var(--color-text-secondary);}
.shop-main{flex-grow:1;min-width:0;}
.shop-main-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.shop-results-count{color:var(--color-text-secondary);font-size:.9rem;}
/* Product grid & cards */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.product-card{background:var(--color-card-bg);position:relative;display:flex;flex-direction:column;}
.product-card .product-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:#eae6df;}
.product-card .product-thumb img{width:100%;height:100%;object-fit:cover;}
.product-card .badge-sale{position:absolute;top:12px;left:12px;background:var(--color-sale);color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;z-index:2;}
.product-card .product-info{padding:16px 4px;}
.product-card .product-title{font-size:.95rem;font-weight:500;margin-bottom:6px;}
.product-card .price{font-size:.95rem;color:var(--color-text-secondary);}
.product-card .price ins{text-decoration:none;color:var(--color-text);margin-left:6px;}
.product-card .price del{opacity:.6;}
.product-card .button{display:block;margin-top:12px;text-align:center;background:var(--color-accent);color:var(--color-btn-text);padding:10px 16px;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;}
.product-card .button:hover{opacity:.85;}
.no-products{color:var(--color-text-secondary);padding:40px 0;}
.shop-pagination{display:flex;gap:8px;justify-content:center;margin-top:48px;}
.shop-pagination a,.shop-pagination span{padding:8px 14px;border:1px solid var(--color-line);font-size:.85rem;}
.shop-pagination .current{background:var(--color-accent);color:#fff;border-color:var(--color-accent);}

/* Price filter widget (WooCommerce) */
.price_slider{margin-bottom:16px;}
.price_slider_amount{font-size:.85rem;display:flex;justify-content:space-between;align-items:center;}
.price_slider_amount .button{background:var(--color-accent);color:#fff;padding:6px 14px;font-size:.75rem;text-transform:uppercase;}
.ui-slider{position:relative;height:4px;background:var(--color-line);margin:16px 0;}
.ui-slider .ui-slider-range{position:absolute;height:4px;background:var(--color-accent);}
.ui-slider .ui-slider-handle{position:absolute;top:-6px;width:14px;height:14px;border-radius:50%;background:var(--color-accent);cursor:pointer;margin-left:-7px;}
/* Single product */
.single-product-wrap{max-width:1280px;margin:0 auto;padding:56px 32px;}
.single-product-top{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.product-gallery .woocommerce-product-gallery__wrapper{margin:0;}
.product-gallery img{width:100%;object-fit:cover;}
.product-summary .price{font-size:1.3rem;color:var(--color-text);margin:12px 0 20px;font-family:var(--font-heading);}
.product-summary h1{font-size:2.4rem;margin-bottom:8px;}
.product-summary .stock{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:16px;}
.product-summary form.cart{margin-top:24px;display:flex;gap:16px;align-items:center;}
.product-summary .quantity input{width:64px;padding:12px;border:1px solid var(--color-line);text-align:center;font-family:var(--font-body);}
.product-summary button.single_add_to_cart_button{background:var(--color-accent);color:#fff;padding:14px 32px;border:0;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;}
.product-summary button.single_add_to_cart_button:hover{opacity:.85;}
.product-short-description{margin-top:24px;color:var(--color-text-secondary);font-size:.95rem;}

/* Accordions */
.product-accordions{margin-top:40px;border-top:1px solid var(--color-line);}
.accordion-item{border-bottom:1px solid var(--color-line);}
.accordion-header{width:100%;text-align:left;background:none;border:0;padding:18px 4px;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;}
.accordion-header .icon{font-size:1.2rem;}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:.92rem;color:var(--color-text-secondary);}
.accordion-panel-inner{padding:0 4px 20px;}
.accordion-item.is-open .accordion-panel{max-height:600px;}

/* Related products */
.related-products{margin-top:80px;}
.related-products h2{margin-bottom:28px;}

/* Footer */
.site-footer{background:var(--color-footer-bg);margin-top:80px;padding:56px 32px 28px;}
.footer-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.footer-brand .site-logo{margin-bottom:12px;}
.footer-tagline{color:var(--color-text-secondary);font-size:.9rem;max-width:280px;}
.footer-contact li{margin-bottom:8px;font-size:.9rem;}
.footer-social a{font-size:.9rem;text-decoration:underline;}
.footer-bottom{max-width:1280px;margin:24px auto 0;padding-top:20px;border-top:1px solid #d8d2c6;color:var(--color-text-secondary);font-size:.8rem;}

/* Basic pages (O nas / Kontakt) */
.page-content-wrap{max-width:860px;margin:0 auto;padding:64px 32px;}
.page-content-wrap h1{margin-bottom:24px;}

/* Responsive */
@media (max-width: 900px){
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .shop-layout{flex-direction:column;}
  .shop-sidebar{width:100%;}
  .single-product-top{grid-template-columns:1fr;gap:32px;}
  .main-nav{display:none;}
  .menu-toggle{display:block;}
}
@media (max-width: 560px){
  .products-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .shop-banner-content h1{font-size:2.2rem;}
}
