/*
Theme Name: KUBBO Preview
Theme URI: https://kubbo3d.com.br/
Author: KUBBO
Description: Prévia editorial KUBBO para o catálogo WooCommerce.
Version: 0.1.0
Text Domain: kubbo-preview
*/

:root {
  --kb-night: #111113;
  --kb-night-2: #18181b;
  --kb-night-3: #222225;
  --kb-cream: #f5f0e8;
  --kb-ash: #aaa39a;
  --kb-gold: #d7b45b;
  --kb-gold-soft: #f0d486;
  --kb-line: rgba(245, 240, 232, .14);
  --kb-max: 1280px;
  --kb-radius: 18px;
}

* { box-sizing: border-box; }
html { background: var(--kb-night); }
body {
  margin: 0;
  background:
    radial-gradient(circle at 10% 4%, rgba(215,180,91,.09), transparent 30rem),
    var(--kb-night);
  color: var(--kb-cream);
  font-family: "Manrope", "Helvetica Neue", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.kb-shell { min-height: 100vh; }
.kb-container { width: min(calc(100% - 48px), var(--kb-max)); margin-inline: auto; }
.kb-topbar { border-bottom: 1px solid var(--kb-line); color: var(--kb-ash); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.kb-topbar__inner { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:34px; }
.kb-topbar__accent { color: var(--kb-gold); }
.kb-header { position: sticky; top: 0; z-index: 20; background: rgba(17,17,19,.92); backdrop-filter: blur(18px); border-bottom: 1px solid var(--kb-line); }
.kb-header__inner { display:grid; grid-template-columns: 180px minmax(300px, 560px) 180px; align-items:center; justify-content:space-between; gap:28px; min-height:84px; }
.kb-brand { display:inline-flex; align-items:center; gap:10px; }
.kb-brand img { display:block; width:auto; height:42px; object-fit:contain; }
.kb-brand__fallback { display:none; font-family: Georgia, serif; font-size:25px; letter-spacing:.14em; color:var(--kb-cream); }
.kb-search { display:flex; align-items:center; gap:12px; border:1px solid var(--kb-line); background:var(--kb-night-2); border-radius:12px; padding:6px 7px 6px 15px; color:var(--kb-ash); }
.kb-search input { width:100%; border:0; outline:0; color:var(--kb-cream); background:transparent; font-size:14px; }
.kb-search input::placeholder { color: #77736e; }
.kb-search button, .kb-button, .single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button { border:0; border-radius:11px; background:var(--kb-gold); color:var(--kb-night); cursor:pointer; font-weight:800; padding:13px 18px; transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.kb-search button:hover, .kb-button:hover, .single_add_to_cart_button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background:var(--kb-gold-soft); color:var(--kb-night); transform:translateY(-1px); box-shadow:0 12px 28px rgba(215,180,91,.17); }
.kb-header__actions { display:flex; justify-content:flex-end; gap:18px; color:var(--kb-ash); font-size:13px; }
.kb-header__actions a:hover { color:var(--kb-gold); }
.kb-nav { border-top:1px solid var(--kb-line); }
.kb-nav__inner { display:flex; align-items:center; gap:28px; min-height:47px; overflow:auto; color:var(--kb-ash); font-size:12.5px; white-space:nowrap; }
.kb-nav a:hover { color:var(--kb-gold); }
.kb-nav__catalog { margin-left:auto; color:var(--kb-gold); font-weight:700; }
.kb-main { padding:38px 0 92px; }
.woocommerce .woocommerce-breadcrumb { margin:0 0 28px; color:var(--kb-ash); font-size:12px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--kb-gold); }
.woocommerce .product { display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr); gap:60px; align-items:start; }
.woocommerce div.product div.images { margin:0; width:100%; }
.woocommerce div.product div.images .woocommerce-product-gallery { opacity:1 !important; visibility:visible !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin:0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { opacity:1 !important; visibility:visible !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { display:flex !important; align-items:center; justify-content:center; min-height:560px; overflow:hidden; border:1px solid var(--kb-line); border-radius:var(--kb-radius); background:#f8f7f4; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { opacity:1 !important; visibility:visible !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image:not(.flex-active-slide) { opacity:0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child:not(.flex-active-slide) { opacity:1 !important; }
.kb-product-gallery__main { display:flex; align-items:center; justify-content:center; min-height:560px; margin:0; overflow:hidden; border:1px solid var(--kb-line); border-radius:var(--kb-radius); background:#f8f7f4; }
.kb-product-gallery__image { display:block; width:100%; max-height:620px; object-fit:contain; }
.kb-product-gallery__main--empty { color:#77736e; font-size:13px; }
.kb-product-gallery__thumbs { display:grid; grid-template-columns:repeat(6, 1fr); gap:10px; margin-top:12px; }
.kb-product-gallery__thumb { display:flex; align-items:center; justify-content:center; aspect-ratio:1; padding:0; overflow:hidden; border:1px solid var(--kb-line); border-radius:10px; background:#f8f7f4; cursor:pointer; opacity:.62; transition:opacity .2s ease, border-color .2s ease; }
.kb-product-gallery__thumb:hover, .kb-product-gallery__thumb.is-active { border-color:var(--kb-gold); opacity:1; }
.kb-product-gallery__thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { max-height:620px; width:100%; object-fit:contain; }
.woocommerce div.product div.images .flex-control-thumbs { display:grid; grid-template-columns:repeat(6, 1fr); gap:10px; margin-top:12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width:auto; float:none; margin:0; }
.woocommerce div.product div.images .flex-control-thumbs img { width:100%; aspect-ratio:1; object-fit:cover; border:1px solid var(--kb-line); border-radius:10px; background:#f8f7f4; opacity:.62; transition:opacity .2s ease, border-color .2s ease; }
.woocommerce div.product div.images .flex-control-thumbs .flex-active { opacity:1; border-color:var(--kb-gold); }
.woocommerce div.product div.summary { width:100%; margin:0; }
.woocommerce div.product .product_title { margin:0 0 13px; color:var(--kb-cream); font-family:Georgia, "Times New Roman", serif; font-size:clamp(34px, 4vw, 58px); font-weight:500; line-height:1.03; letter-spacing:-.035em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--kb-gold); font-size:28px; font-weight:800; }
.woocommerce div.product p.price del { color:var(--kb-ash); font-size:16px; }
.woocommerce div.product p.price ins { text-decoration:none; }
.woocommerce div.product .woocommerce-product-details__short-description { margin:22px 0; color:var(--kb-ash); font-size:15px; line-height:1.7; }
.woocommerce div.product form.cart { margin:24px 0 18px; padding:20px 0; border-top:1px solid var(--kb-line); border-bottom:1px solid var(--kb-line); }
.woocommerce div.product form.cart .quantity { margin-right:12px; }
.woocommerce .quantity .qty { width:76px; height:48px; border:1px solid var(--kb-line); border-radius:10px; background:var(--kb-night-2); color:var(--kb-cream); text-align:center; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height:48px; }
.woocommerce div.product form.cart .variations { border-collapse:collapse; margin:0 0 12px; }
.woocommerce div.product form.cart .variations td { border:0; padding:6px 12px 6px 0; }
.woocommerce div.product form.cart .variations label { color:var(--kb-cream); font-weight:700; text-transform:capitalize; }
.woocommerce div.product form.cart .variations select, .woocommerce form .form-row .input-text, .woocommerce form .form-row select { min-height:44px; border:1px solid var(--kb-line); border-radius:10px; background:var(--kb-night-2); color:var(--kb-cream); padding:8px 12px; }
.woocommerce div.product .stock { color:var(--kb-gold); font-size:13px; }
.woocommerce div.product .product_meta { color:var(--kb-ash); border-top:1px solid var(--kb-line); padding-top:15px; font-size:12px; }
.woocommerce div.product .product_meta a { color:var(--kb-gold); }
.woocommerce div.product .woocommerce-tabs { grid-column:1 / -1; margin-top:30px; padding-top:34px; border-top:1px solid var(--kb-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; gap:28px; margin:0 0 32px; padding:0; border-bottom:1px solid var(--kb-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0; padding:0 0 13px; border:0; background:transparent; color:var(--kb-ash); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { color:var(--kb-gold); border-bottom:2px solid var(--kb-gold); }
.woocommerce-Tabs-panel { color:#c5beb5; max-width:900px; }
.woocommerce-Tabs-panel h2 { color:var(--kb-cream); font-family:Georgia, serif; font-size:28px; font-weight:500; }
.woocommerce-Tabs-panel p, .woocommerce-Tabs-panel li { color:#b5aea5; line-height:1.8; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border:1px solid var(--kb-line); border-top-color:var(--kb-gold); border-radius:10px; background:var(--kb-night-2); color:var(--kb-cream); }
.woocommerce-message::before, .woocommerce-info::before { color:var(--kb-gold); }
.site-footer { border-top:1px solid var(--kb-line); padding:34px 0; color:var(--kb-ash); }
.site-footer__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; }
.site-footer strong { color:var(--kb-cream); font-family:Georgia, serif; font-size:18px; font-weight:500; letter-spacing:.08em; }
.kb-coming-soon { margin:0 auto 22px; width:min(calc(100% - 48px), var(--kb-max)); border:1px solid rgba(215,180,91,.25); border-radius:10px; background:rgba(215,180,91,.08); color:var(--kb-gold-soft); padding:10px 14px; font-size:12px; text-align:center; }
.kb-kicker { margin:0 0 13px; color:var(--kb-gold); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.kb-home-hero { position:relative; min-height:650px; overflow:hidden; background:#161616; }
.kb-home-slide { position:absolute; inset:0; display:flex; align-items:stretch; opacity:0; pointer-events:none; transition:opacity .65s ease; }
.kb-home-slide.is-active { opacity:1; pointer-events:auto; }
.kb-home-slide__media { position:absolute; inset:0; display:block; }
.kb-home-slide__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.kb-home-slide__wash { position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,12,13,.96) 0%, rgba(12,12,13,.78) 31%, rgba(12,12,13,.14) 68%, rgba(12,12,13,.25) 100%); }
.kb-home-slide__content { position:relative; z-index:1; display:flex; width:100%; flex-direction:column; justify-content:center; padding-top:50px; padding-bottom:92px; }
.kb-home-slide__content h1 { max-width:650px; margin:0 0 22px; color:var(--kb-cream); font-family:Georgia, "Times New Roman", serif; font-size:clamp(46px, 6vw, 88px); font-weight:500; line-height:.98; letter-spacing:-.055em; }
.kb-home-slide__copy { max-width:450px; margin:0 0 28px; color:#c4bdb3; font-size:16px; line-height:1.65; }
.kb-home-slide__content .kb-button { display:inline-flex; width:max-content; align-items:center; gap:16px; }
.kb-home-hero__controls { position:absolute; z-index:2; right:50%; bottom:35px; left:50%; display:flex; width:min(calc(100% - 48px), var(--kb-max)); transform:translateX(-50%); align-items:center; justify-content:space-between; }
.kb-home-hero__dots { display:flex; gap:10px; }
.kb-home-dot { width:34px; height:2px; border:0; background:rgba(245,240,232,.35); cursor:pointer; }
.kb-home-dot.is-active { background:var(--kb-gold); }
.kb-home-hero__arrows { display:flex; gap:10px; }
.kb-home-hero__arrows button, .kb-section-actions button { width:40px; height:40px; border:1px solid var(--kb-line); border-radius:50%; background:transparent; color:var(--kb-cream); cursor:pointer; }
.kb-home-hero__arrows button:hover, .kb-section-actions button:hover { border-color:var(--kb-gold); color:var(--kb-gold); }
.kb-home-section { padding:104px 0; }
.kb-home-section--categories { background:var(--kb-night); }
.kb-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:32px; }
.kb-section-head h2 { margin:0; color:var(--kb-cream); font-family:Georgia, "Times New Roman", serif; font-size:clamp(34px,4vw,54px); font-weight:500; letter-spacing:-.045em; line-height:1; }
.kb-section-subtitle { margin:10px 0 0; color:var(--kb-ash); font-size:14px; }
.kb-section-link { color:var(--kb-gold); font-size:13px; font-weight:800; white-space:nowrap; }
.kb-section-actions { display:flex; align-items:center; gap:10px; }
.kb-section-actions .kb-section-link { margin-left:14px; }
.kb-category-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.kb-category-card { min-height:250px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid var(--kb-line); border-radius:14px; background:var(--kb-night-2); transition:transform .25s ease, border-color .25s ease; }
.kb-category-card:hover { transform:translateY(-4px); border-color:rgba(215,180,91,.6); }
.kb-category-card__image { display:block; flex:1; min-height:170px; background-position:center; background-size:cover; filter:saturate(.86); }
.kb-category-card__image--bathroom { background-image:linear-gradient(0deg,rgba(15,15,16,.55),transparent), url('https://kubbo3d.com.br/images/banners/deca-20261009/sink-hero.png'); }
.kb-category-card__image--kitchen { background-image:linear-gradient(0deg,rgba(15,15,16,.55),transparent), url('https://kubbo3d.com.br/images/banners/deca-20261009/mixer-hero.png'); }
.kb-category-card__image--metals { background-image:linear-gradient(0deg,rgba(15,15,16,.55),transparent), url('https://kubbo3d.com.br/images/banners/deca-20261009/shower-hero-v2.png'); }
.kb-category-card > span:last-child { display:flex; flex-direction:column; gap:4px; padding:16px 18px 19px; }
.kb-category-card small { color:var(--kb-ash); font-size:11px; }
.kb-category-card strong { color:var(--kb-cream); font-family:Georgia, serif; font-size:22px; font-weight:500; }
.kb-home-products { background:#151516; }
.kb-product-grid { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:14px; }
.kb-product-card { overflow:hidden; border:1px solid var(--kb-line); border-radius:14px; background:#1c1c1f; }
.kb-product-card__media { display:flex; align-items:center; justify-content:center; height:230px; overflow:hidden; background:#f8f7f4; }
.kb-product-card__image { display:block; width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.kb-product-card:hover .kb-product-card__image { transform:scale(1.035); }
.kb-product-card__body { padding:16px 14px 14px; }
.kb-product-card__category { display:block; margin-bottom:8px; color:var(--kb-gold); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.kb-product-card__title { display:-webkit-box; min-height:45px; overflow:hidden; color:var(--kb-cream); font-size:14px; font-weight:600; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.kb-product-card__price { min-height:30px; margin:12px 0; color:var(--kb-cream); font-size:17px; font-weight:800; }
.kb-product-card__price del { color:var(--kb-ash); font-size:11px; }
.kb-product-card__price ins { text-decoration:none; }
.kb-product-card__button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:42px; border-radius:9px; background:var(--kb-gold); color:var(--kb-night); font-size:12px; font-weight:800; }
.kb-product-card__button:hover { background:var(--kb-gold-soft); color:var(--kb-night); }
.kb-empty-products { grid-column:1/-1; padding:60px; border:1px solid var(--kb-line); color:var(--kb-ash); text-align:center; }
.kb-home-environment { padding:100px 0 0; background:#171719; }
.kb-home-environment__inner { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-bottom:34px; }
.kb-home-environment h2 { margin:0; color:var(--kb-cream); font-family:Georgia, serif; font-size:clamp(38px,5vw,70px); font-weight:500; letter-spacing:-.05em; line-height:.98; }
.kb-home-environment p:not(.kb-kicker) { max-width:630px; margin:18px 0 0; color:var(--kb-ash); font-size:16px; }
.kb-home-environment p strong { color:var(--kb-cream); }
.kb-button--light { background:var(--kb-cream); }
.kb-environment-image { height:520px; overflow:hidden; }
.kb-environment-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.78; }
.kb-home-products--last { background:var(--kb-night); }
.kb-benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--kb-line); border-radius:16px; overflow:hidden; }
.kb-benefit-grid > div { display:flex; min-height:150px; flex-direction:column; justify-content:center; gap:7px; padding:24px; border-right:1px solid var(--kb-line); }
.kb-benefit-grid > div:last-child { border-right:0; }
.kb-benefit-grid span { color:var(--kb-gold); font-size:24px; }
.kb-benefit-grid strong { color:var(--kb-cream); font-size:14px; }
.kb-benefit-grid small { color:var(--kb-ash); font-size:12px; }
@media (max-width: 900px) {
  .kb-container { width:min(calc(100% - 32px), var(--kb-max)); }
  .kb-header__inner { grid-template-columns:1fr auto; min-height:68px; }
  .kb-search { grid-column:1 / -1; grid-row:2; margin-bottom:12px; }
  .kb-header__actions { font-size:0; gap:10px; }
  .kb-header__actions a::before { content:"◌"; color:var(--kb-gold); font-size:21px; }
  .kb-nav__catalog { margin-left:0; }
  .kb-nav__inner { gap:20px; }
  .kb-main { padding-top:24px; }
  .woocommerce .product { display:block; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image { min-height:380px; }
  .kb-product-gallery__main { min-height:380px; }
  .woocommerce div.product div.summary { margin-top:28px; }
  .woocommerce div.product .product_title { font-size:39px; }
  .woocommerce div.product .woocommerce-tabs { margin-top:44px; }
  .site-footer__inner { align-items:flex-start; flex-direction:column; }
  .kb-home-hero { min-height:620px; }
  .kb-home-slide__content { padding-top:32px; padding-bottom:88px; }
  .kb-home-slide__wash { background:linear-gradient(90deg, rgba(12,12,13,.90), rgba(12,12,13,.28)), linear-gradient(0deg, rgba(12,12,13,.35), transparent 55%); }
  .kb-home-slide__content h1 { max-width:520px; font-size:48px; }
  .kb-home-hero__controls { width:calc(100% - 32px); }
  .kb-home-section { padding:72px 0; }
  .kb-section-head, .kb-home-environment__inner { align-items:flex-start; flex-direction:column; }
  .kb-category-grid { grid-template-columns:1fr; }
  .kb-category-card { min-height:230px; }
  .kb-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kb-product-card__media { height:185px; }
  .kb-benefit-grid { grid-template-columns:repeat(2,1fr); }
  .kb-benefit-grid > div:nth-child(2) { border-right:0; }
  .kb-benefit-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--kb-line); }
  .kb-environment-image { height:360px; }
}
@media (max-width: 520px) {
  .kb-product-grid { grid-template-columns:1fr; }
  .kb-product-card__media { height:250px; }
  .kb-home-slide__content h1 { font-size:42px; }
  .kb-home-slide__copy { font-size:14px; }
  .kb-home-hero__arrows button { width:36px; height:36px; }
}
