/*
Theme Name: Rattan Diseños — Atelier
Theme URI: https://example.com/
Author: BFWP
Description: Tema editorial premium para Rattan Diseños. Compatible con WordPress, Elementor y WooCommerce; pensado para catálogo y cotización por WhatsApp.
Version: 5.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: rattan-disenos
Tags: e-commerce, custom-logo, featured-images, responsive-layout
License: GPL-2.0-or-later
*/

:root{
  --rd-bg:#f5f1e9;
  --rd-paper:#fcfaf5;
  --rd-ink:#171511;
  --rd-muted:#706a60;
  --rd-line:#d8d0c4;
  --rd-rattan:#a67b4b;
  --rd-rattan-dark:#6f4d2f;
  --rd-olive:#5d6251;
  --rd-black:#11100e;
  --rd-max:1480px;
  --rd-pad:clamp(18px,3.2vw,52px);
  --rd-serif:Georgia,"Times New Roman",serif;
  --rd-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rd-bg);color:var(--rd-ink);font-family:var(--rd-sans);line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--rd-rattan-dark)}
button,input,select,textarea{font:inherit}
::selection{background:#dac2a3;color:#171511}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}
.bfwp-skip-link:focus{clip:auto!important;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:10000;background:#fff;color:#111;padding:12px 16px}
.rd-shell{width:min(calc(100% - (var(--rd-pad)*2)),var(--rd-max));margin-inline:auto}
.rd-kicker{display:flex;align-items:center;gap:12px;font-size:.67rem;text-transform:uppercase;letter-spacing:.18em;font-weight:850}
.rd-kicker:before{content:"";width:34px;height:1px;background:currentColor}
.rd-display,.rd-title,.rd-subtitle{font-family:var(--rd-serif);font-weight:400}
.rd-display{font-size:clamp(3.7rem,8vw,8.8rem);line-height:.86;letter-spacing:-.05em;margin:16px 0 24px}
.rd-title{font-size:clamp(2.7rem,5.2vw,5.7rem);line-height:.94;letter-spacing:-.04em;margin:12px 0 20px}
.rd-subtitle{font-size:clamp(2rem,3.2vw,3.6rem);line-height:1;letter-spacing:-.03em;margin:10px 0 18px}
.rd-copy{font-size:clamp(.96rem,1.1vw,1.08rem);color:var(--rd-muted);max-width:700px}
.rd-section{padding:clamp(78px,9vw,138px) 0}
.rd-section--tight{padding:clamp(52px,6vw,86px) 0}
.rd-btn,.bfwp-quote-button{
  min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid var(--rd-ink);background:var(--rd-ink);color:#fff!important;
  font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850;text-decoration:none!important;
  transition:.22s ease
}
.rd-btn:hover,.bfwp-quote-button:hover{background:var(--rd-rattan-dark);border-color:var(--rd-rattan-dark);color:#fff!important;transform:translateY(-1px)}
.rd-btn--light{background:#fff;border-color:#fff;color:var(--rd-ink)!important}
.rd-btn--outline{background:transparent;color:var(--rd-ink)!important}
.rd-btn--outline:hover{background:var(--rd-ink);color:#fff!important}
.rd-link{display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}
.rd-link:after{content:"↗"}

/* Header */
.rd-topline{background:var(--rd-black);color:#ded8cf;min-height:33px;display:flex;align-items:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}
.rd-topline__row{display:flex;justify-content:space-between;gap:18px}
.rd-header{position:sticky;top:0;z-index:120;background:rgba(245,241,233,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,208,196,.84)}
.rd-header__row{min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.rd-brand{justify-self:start;display:flex;align-items:center;gap:12px}
.rd-brand .custom-logo{max-width:210px;max-height:52px;width:auto}
.rd-brand__name{font-family:var(--rd-serif);font-size:1.22rem;letter-spacing:.13em;text-transform:uppercase}
.rd-nav{justify-self:center}
.rd-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}
.rd-nav a{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.1em;font-weight:780;padding:8px 0;position:relative}
.rd-nav a:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:1px;background:currentColor;transition:width .2s ease}
.rd-nav a:hover:after,.rd-nav .current-menu-item>a:after{width:100%}
.rd-tools{justify-self:end;display:flex;align-items:center;gap:8px}
.rd-icon-btn{width:42px;height:42px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.rd-menu-btn{display:none}
.rd-search-panel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--rd-paper);border-bottom:1px solid var(--rd-line);padding:20px 0}
.rd-search-panel.is-open{display:block}
.rd-search-form{display:grid;grid-template-columns:1fr auto;gap:10px}
.rd-search-form input{height:54px;background:transparent;border:0;border-bottom:1px solid var(--rd-ink);font-family:var(--rd-serif);font-size:1.25rem;outline:none}
.rd-icon{width:18px;height:18px}

/* Brand hero */
.rd-hero{padding:clamp(12px,1.8vw,26px) var(--rd-pad) 0}
.rd-hero__grid{
  min-height:min(790px,calc(100vh - 118px));
  display:grid;grid-template-columns:1.04fr .96fr;background:#e6ddd0;overflow:hidden
}
.rd-hero__copy{padding:clamp(38px,7vw,104px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--rd-paper)}
.rd-hero__copy .rd-copy{max-width:585px}
.rd-hero__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.rd-hero__mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:#d7cec1}
.rd-hero__image{position:relative;overflow:hidden;background:#c8b9a6}
.rd-hero__image:first-child{grid-row:1/3}
.rd-hero__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.83) contrast(.97);transition:transform .55s ease}
.rd-hero__image:hover img{transform:scale(1.025)}
.rd-hero__badge{
  position:absolute;left:18px;bottom:18px;background:rgba(252,250,245,.93);
  padding:9px 12px;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850
}

/* Heritage */
.rd-heritage__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(32px,8vw,120px);align-items:start}
.rd-year{font-family:var(--rd-serif);font-size:clamp(5rem,10vw,11rem);line-height:.75;color:var(--rd-rattan);letter-spacing:-.06em}
.rd-heritage__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}
.rd-fact{border-top:1px solid var(--rd-line);padding-top:16px}
.rd-fact strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;margin-bottom:7px}
.rd-fact span{color:var(--rd-muted);font-size:.88rem}

/* Collections */
.rd-section--paper{background:var(--rd-paper)}
.rd-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:34px}
.rd-categories{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:280px;gap:12px}
.rd-category{position:relative;overflow:hidden;background:#d8cdbf}
.rd-category:nth-child(1){grid-column:span 7;grid-row:span 2}
.rd-category:nth-child(2){grid-column:span 5}
.rd-category:nth-child(3){grid-column:span 5}
.rd-category:nth-child(4),.rd-category:nth-child(5),.rd-category:nth-child(6){grid-column:span 4}
.rd-category img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rd-category:hover img{transform:scale(1.025)}
.rd-category:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 52%)}
.rd-category__label{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:end}
.rd-category__label strong{font-family:var(--rd-serif);font-size:clamp(1.6rem,2.6vw,3rem);font-weight:400;line-height:.95}
.rd-category__label span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}

/* Product catalog */
.rd-products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rd-product__media{aspect-ratio:4/5;background:#ded6ca;overflow:hidden}
.rd-product__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rd-product:hover .rd-product__media img{transform:scale(1.018)}
.rd-product__body{padding-top:14px}
.rd-product__line{display:flex;justify-content:space-between;gap:15px;align-items:start}
.rd-product h3{font-size:.9rem;margin:0;line-height:1.35}
.rd-price{font-size:.82rem;color:var(--rd-rattan-dark);font-weight:800;white-space:nowrap}
.rd-product__body p{font-size:.77rem;color:var(--rd-muted);margin:6px 0 0}

/* Craft */
.rd-craft{padding:var(--rd-pad)}
.rd-craft__grid{display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.rd-craft__visual{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#c6b8a5}
.rd-craft__visual img{width:100%;height:100%;object-fit:cover}
.rd-craft__visual img:first-child{grid-row:span 2}
.rd-craft__copy{background:var(--rd-black);color:#f4eee5;padding:clamp(42px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.rd-craft__copy .rd-copy{color:#bdb4a8}
.rd-craft__list{display:grid;margin-top:32px}
.rd-craft__item{padding:16px 0;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:44px 1fr;gap:10px}
.rd-craft__item:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.rd-craft__item span:first-child{font-family:var(--rd-serif);color:#c7a982}
.rd-craft__item strong{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}
.rd-craft__item small{color:#a9a198;font-size:.85rem}

/* Contact */
.rd-contact{background:#b9946d;color:#17130f}
.rd-contact__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(35px,8vw,120px);align-items:end}
.rd-contact__data{display:grid;gap:0}
.rd-contact__row{padding:16px 0;border-top:1px solid rgba(23,19,15,.28)}
.rd-contact__row:last-child{border-bottom:1px solid rgba(23,19,15,.28)}
.rd-contact__row small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;font-weight:850;margin-bottom:5px}

/* Elementor */
.elementor-page .bfwp-elementor-content{width:100%;max-width:none;margin:0;padding:0}

/* Standard content */
.bfwp-main{min-height:55vh}
.bfwp-page{padding:70px 0 110px}
.bfwp-page__article{width:min(calc(100% - (var(--rd-pad)*2)),1050px);margin:auto;background:var(--rd-paper);padding:clamp(28px,6vw,80px)}
.bfwp-page__article h1,.bfwp-page__article h2,.bfwp-page__article h3{font-family:var(--rd-serif);font-weight:400}
.bfwp-page__article h1{font-size:clamp(2.8rem,6vw,5.2rem)}

/* WooCommerce */
.bfwp-woo{width:min(calc(100% - (var(--rd-pad)*2)),var(--rd-max));margin:auto;padding:30px 0 100px}
.woocommerce .woocommerce-breadcrumb{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--rd-muted);margin:10px 0 20px}
.woocommerce-products-header__title.page-title{font-family:var(--rd-serif);font-weight:400;font-size:clamp(3.5rem,7vw,7.4rem);letter-spacing:-.045em;line-height:.88}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px!important;margin:34px 0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;margin-bottom:14px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.9rem!important;padding:0!important}
.woocommerce ul.products li.product .price{color:var(--rd-rattan-dark)!important;font-size:.84rem!important;font-weight:800!important}
.woocommerce span.onsale{background:var(--rd-black)!important;border-radius:0!important;min-height:auto!important;min-width:auto!important;line-height:1!important;padding:8px!important;font-size:.6rem!important;text-transform:uppercase}
.woocommerce div.product div.images{width:61%!important}
.woocommerce div.product div.summary{width:35%!important;position:sticky;top:112px}
.woocommerce div.product .product_title{font-family:var(--rd-serif);font-weight:400;font-size:clamp(2.8rem,4.8vw,5rem);line-height:.93;letter-spacing:-.04em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--rd-rattan-dark)!important;font-weight:800}
.bfwp-loop-actions{margin-top:10px}
.bfwp-loop-actions .bfwp-quote-button,.bfwp-single-quote .bfwp-quote-button{width:100%}

/* Footer */
.rd-footer{background:var(--rd-black);color:#e9e2d9}
.rd-footer__top{padding:72px 0 46px;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:46px}
.rd-footer__brand{font-family:var(--rd-serif);font-size:clamp(2.5rem,4vw,4.4rem);line-height:.9}
.rd-footer__lead{color:#a8a097;max-width:470px}
.rd-footer h4{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:#8c857e;margin:0 0 16px}
.rd-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rd-footer a,.rd-footer li{color:#c8c0b7;font-size:.82rem}
.rd-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#77716b;font-size:.7rem}

/* Responsive */
@media(max-width:1120px){
  .rd-header__row{grid-template-columns:auto 1fr auto}
  .rd-menu-btn{display:grid}
  .rd-nav{display:none;position:absolute;top:100%;left:var(--rd-pad);right:var(--rd-pad);background:var(--rd-paper);border:1px solid var(--rd-line);padding:10px}
  .rd-nav.is-open{display:block}
  .rd-nav ul{display:grid;gap:0}
  .rd-nav a{padding:12px}
  .rd-nav a:after{display:none}
  .rd-hero__grid{grid-template-columns:1fr;min-height:auto}
  .rd-hero__copy{min-height:560px}
  .rd-hero__mosaic{min-height:620px}
  .rd-heritage__grid{grid-template-columns:1fr;gap:30px}
  .rd-products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}
  .rd-craft__grid{grid-template-columns:1fr}
  .rd-craft__visual{min-height:620px}
  .rd-footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .rd-categories{grid-template-columns:1fr 1fr;grid-auto-rows:330px}
  .rd-category,.rd-category:nth-child(n){grid-column:span 1;grid-row:span 1}
  .rd-category:first-child{grid-column:1/3}
  .rd-contact__grid{grid-template-columns:1fr}
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%!important;float:none!important}
  .woocommerce div.product div.summary{position:static}
}
@media(max-width:640px){
  :root{--rd-pad:16px}
  .rd-topline__row{justify-content:center;text-align:center}
  .rd-topline__row span:last-child{display:none}
  .rd-header__row{min-height:68px}
  .rd-brand__name{font-size:.96rem}
  .rd-hero{padding:0}
  .rd-hero__copy{min-height:520px;padding:46px 20px 34px}
  .rd-display{font-size:clamp(3.2rem,15vw,5.4rem)}
  .rd-hero__actions{display:grid}
  .rd-hero__actions .rd-btn{width:100%}
  .rd-hero__mosaic{min-height:540px}
  .rd-head{display:block}
  .rd-head .rd-link{margin-top:12px}
  .rd-heritage__facts{grid-template-columns:1fr}
  .rd-categories{grid-template-columns:1fr;grid-auto-rows:390px}
  .rd-category,.rd-category:first-child,.rd-category:nth-child(n){grid-column:1;grid-row:auto}
  .rd-products,.woocommerce ul.products{grid-template-columns:1fr!important}
  .rd-craft{padding:0}
  .rd-craft__visual{min-height:520px}
  .rd-craft__copy{padding:42px 22px}
  .rd-footer__top{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
