/*
Theme Name: MAVVO Child
Template: hello-elementor
Description: Дочірня тема для MAVVO studio (меблі з дерева та епоксидної смоли).
Version: 1.0.0
Text Domain: mavvo-child
*/

:root{
  --bg:#0e0c0a;
  --bg-alt:#151210;
  --panel:#1a1613;
  --line:rgba(232,220,200,.12);
  --ink:#f3ecdf;
  --ink-dim:#b8ac9a;
  --amber:#c68a4a;
  --amber-bright:#e0a768;
  --radius:2px;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Manrope', -apple-system, Segoe UI, sans-serif;
}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  color:var(--ink);
}

.mavvo-wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

.mavvo-section-label{
  font-size:.78rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--amber); margin-bottom:14px; display:block;
}

.mavvo-btn{
  display:inline-block;
  padding:15px 32px;
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:var(--radius);
  border:1px solid transparent;
  cursor:pointer;
  transition:all .25s ease;
  background:var(--amber);
  color:#100d0a !important;
  font-weight:600;
}
.mavvo-btn:hover{background:var(--amber-bright); color:#100d0a !important;}
.mavvo-btn-ghost{
  border-color:var(--line);
  color:var(--ink) !important;
  background:transparent;
}
.mavvo-btn-ghost:hover{border-color:var(--amber); color:var(--amber-bright) !important;}

/* ===== header ===== */
.mavvo-header{
  position:sticky; top:0; z-index:100;
  background:rgba(14,12,10,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.mavvo-header-inner{
  max-width:1180px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between;
  height:84px;
}
.mavvo-logo{display:flex; align-items:center; gap:10px;}
.mavvo-logo-mark{
  width:30px; height:30px; border-radius:50%; flex:none;
  background:conic-gradient(from 200deg, #2a1c10, #6b4423, #c68a4a, #1a1210, #2a1c10);
  border:1px solid var(--line);
}
.mavvo-logo-text{
  font-family:var(--serif); font-size:1.5rem; letter-spacing:.14em; font-weight:600;
}
.mavvo-nav{display:flex; align-items:center; gap:32px;}
.mavvo-nav ul{display:flex; gap:32px; list-style:none; margin:0; padding:0; font-size:.86rem; letter-spacing:.04em;}
.mavvo-nav a{color:var(--ink-dim); transition:color .2s;}
.mavvo-nav a:hover{color:var(--amber-bright);}
.mavvo-cart-link{position:relative; display:flex; align-items:center; gap:6px; color:var(--ink);}
.mavvo-cart-count{
  background:var(--amber); color:#100d0a; font-size:.7rem; font-weight:700;
  border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center;
}
.mavvo-burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer;}
.mavvo-burger span{width:22px; height:1.5px; background:var(--ink); display:block;}

/* ===== footer ===== */
.mavvo-footer{border-top:1px solid var(--line); padding:48px 0 32px; background:var(--bg-alt); margin-top:80px;}
.mavvo-footer-inner{max-width:1180px; margin:0 auto; padding:0 32px;}
.mavvo-footer-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-bottom:32px;}
.mavvo-footer-grid h4{font-size:.95rem; margin-bottom:14px;}
.mavvo-footer-grid a{color:var(--ink-dim); display:block; padding:4px 0; font-size:.9rem;}
.mavvo-footer-grid a:hover{color:var(--amber-bright);}
.mavvo-footer-bottom{
  border-top:1px solid var(--line); padding-top:24px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-size:.82rem; color:var(--ink-dim);
}

/* ===== category tiles (front page) ===== */
.mavvo-cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.mavvo-cat-tile{
  position:relative; aspect-ratio:1; border-radius:var(--radius); overflow:hidden;
  background:var(--panel); border:1px solid var(--line);
  display:flex; align-items:flex-end; padding:20px;
  transition:transform .3s ease, border-color .3s ease;
}
.mavvo-cat-tile:hover{transform:translateY(-4px); border-color:var(--amber);}
.mavvo-cat-tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55;}
.mavvo-cat-tile span{position:relative; z-index:1; font-family:var(--serif); font-size:1.15rem; color:var(--ink);}

/* ===== WooCommerce reskin ===== */
.woocommerce{color:var(--ink);}
.woocommerce ul.products{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; list-style:none; margin:0 0 40px;}
.woocommerce ul.products li.product{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:0 0 20px; transition:transform .3s ease, border-color .3s ease;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px); border-color:var(--amber);}
.woocommerce ul.products li.product a{display:block; color:var(--ink);}
.woocommerce ul.products li.product img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius) var(--radius) 0 0; margin-bottom:16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--serif); font-size:1.2rem; padding:0 18px; margin-bottom:6px;
}
.woocommerce ul.products li.product .price{
  padding:0 18px; color:var(--amber-bright); font-weight:600; font-size:1rem;
}
.woocommerce ul.products li.product .price del{color:var(--ink-dim); opacity:.6;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{
  margin:14px 18px 0; display:inline-block; padding:10px 20px;
  font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  background:var(--amber); color:#100d0a; border-radius:var(--radius);
}
.woocommerce ul.products li.product .button:hover{background:var(--amber-bright);}
.woocommerce ul.products li.product .onsale{
  background:var(--amber); color:#100d0a; font-weight:700; font-size:.72rem;
  letter-spacing:.04em; text-transform:uppercase; border-radius:var(--radius);
  padding:4px 10px; top:14px; left:14px; right:auto; min-height:0; min-width:0; line-height:1.4;
}

.woocommerce-page .woocommerce-breadcrumb{color:var(--ink-dim); font-size:.85rem; margin-bottom:24px;}
.woocommerce-page .woocommerce-breadcrumb a{color:var(--ink-dim);}
.woocommerce-page .woocommerce-breadcrumb a:hover{color:var(--amber);}

.woocommerce-result-count, .woocommerce-ordering select{color:var(--ink-dim);}
.woocommerce-ordering select{
  background:var(--panel); border:1px solid var(--line); color:var(--ink);
  padding:8px 12px; border-radius:var(--radius);
}

/* single product */
.woocommerce div.product .woocommerce-product-gallery{border-radius:var(--radius); overflow:hidden;}
.woocommerce div.product .summary .price{
  color:var(--amber-bright); font-size:1.6rem; font-family:var(--serif); margin:12px 0 20px;
}
.woocommerce div.product .summary h1.product_title{font-size:2.2rem;}
.woocommerce div.product form.cart .button, .woocommerce #respond input#submit, .woocommerce a.button{
  background:var(--amber); color:#100d0a; border-radius:var(--radius); padding:15px 32px;
  font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; border:0;
}
.woocommerce div.product form.cart .button:hover, .woocommerce a.button:hover{background:var(--amber-bright);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent; border-color:var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--ink-dim);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--amber-bright);}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--ink-dim); border-color:var(--line);}
.woocommerce table.shop_attributes{border-color:var(--line);}
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td{
  border-color:var(--line) !important; color:var(--ink-dim); background:transparent;
}

/* cart / checkout */
.woocommerce table.shop_table{border-color:var(--line); color:var(--ink);}
.woocommerce table.shop_table th{color:var(--amber); border-color:var(--line);}
.woocommerce table.shop_table td{border-color:var(--line);}
.woocommerce #content table.cart td.actions .button, .woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  background:var(--amber); color:#100d0a; border-radius:var(--radius);
}
.woocommerce #content table.cart td.actions .button:hover, .woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{
  background:var(--amber-bright);
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select{
  background:var(--panel); border:1px solid var(--line); color:var(--ink); border-radius:var(--radius);
}
.woocommerce-checkout #payment{background:var(--panel); border-radius:var(--radius);}
.woocommerce-checkout #payment ul.payment_methods{border-color:var(--line);}
.woocommerce-checkout #payment div.payment_box{background:var(--bg-alt); color:var(--ink-dim);}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--bg-alt);}
.woocommerce a.checkout-button, .woocommerce input.button.alt, .woocommerce button.button.alt{
  background:var(--amber); color:#100d0a; border-radius:var(--radius);
}
.woocommerce input.button.alt:hover, .woocommerce button.button.alt:hover{background:var(--amber-bright);}
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:var(--panel); border-top-color:var(--amber); color:var(--ink);
}
.woocommerce-message .button, .woocommerce-info .button{background:var(--amber); color:#100d0a;}

@media (max-width:900px){
  .mavvo-nav ul{display:none;}
  .mavvo-burger{display:flex;}
  .mavvo-cat-grid{grid-template-columns:repeat(2,1fr);}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .mavvo-header-inner, .mavvo-wrap, .mavvo-footer-inner{padding:0 20px;}
  .woocommerce ul.products{grid-template-columns:1fr;}
  .mavvo-cat-grid{grid-template-columns:1fr;}
}

/* ===== premium motion: scroll-reveal ===== */
.mavvo-reveal-init{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  will-change:opacity, transform;
}
.mavvo-reveal-init.mavvo-reveal-in{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .mavvo-reveal-init{opacity:1; transform:none; transition:none;}
}

/* ===== premium motion: 3D tilt cards ===== */
.woocommerce ul.products li.product,
.mavvo-cat-grid .wp-block-column,
.wp-block-columns .wp-block-column{
  transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .35s ease;
}
.woocommerce ul.products li.product:hover,
.mavvo-cat-grid .wp-block-column:hover{
  box-shadow:0 30px 60px -20px rgba(0,0,0,.55);
}

/* ===== premium motion: parallax hero ===== */
.mavvo-parallax{
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
@media (max-width:900px){
  .mavvo-parallax{background-attachment:scroll;}
}

/* ===== hero depth / glow ===== */
.mavvo-hero{
  position:relative;
  padding:72px 32px;
  overflow:hidden;
  border-radius:var(--radius);
}
.mavvo-hero::before{
  content:"";
  position:absolute; inset:-20% -10%;
  background:
    radial-gradient(circle at 82% 18%, rgba(198,138,74,.22), transparent 55%),
    radial-gradient(circle at 10% 90%, rgba(198,138,74,.12), transparent 50%);
  pointer-events:none;
  z-index:0;
}
.mavvo-hero > *{position:relative; z-index:1;}
.mavvo-hero h1, .mavvo-hero h2{max-width:780px;}

/* ===== cover block as parallax section ===== */
.wp-block-cover{border-radius:var(--radius); overflow:hidden;}
.wp-block-cover.mavvo-parallax .wp-block-cover__background{opacity:.5 !important;}

/* ===== category tile depth on image blocks used as tiles ===== */
.mavvo-cat-grid .wp-block-column{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  padding:0 0 20px; overflow:hidden;
}
.mavvo-cat-grid .wp-block-column:hover{border-color:var(--amber);}
.mavvo-cat-grid .wp-block-column figure{margin:0;}
.mavvo-cat-grid .wp-block-column img{aspect-ratio:1; object-fit:cover; transition:transform .5s ease;}
.mavvo-cat-grid .wp-block-column:hover img{transform:scale(1.06);}
.mavvo-cat-grid .wp-block-column h3{margin:16px 0 20px; font-size:1.15rem;}
.mavvo-cat-grid .wp-block-column h3 a{color:var(--ink);}
.mavvo-cat-grid .wp-block-column:hover h3 a{color:var(--amber-bright);}

/* homepage: hide the default page title, our hero already has an H1 */
.home .page-header{display:none;}
.home .page-content{margin:0;}
