/*
Theme Name: Rustic Furniture
Theme URI: https://example.com/
Author: Rustic Sofas · Dining · Cots
Author URI: https://example.com/
Description: A premium, wood-toned WordPress theme built for Rustic — a Sofas, Dining and Cots furniture retailer. Includes a Home page, About page, Products showcase and Contact page, real product photography wired in, automatic page creation, and a recommended-plugins panel.
Version: 1.8.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rustic-furniture
Tags: e-commerce, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
*/

/* =============================================================
   DESIGN TOKENS
   Palette: joinery / sheesham-wood inspired
   --wood-espresso : deep walnut (headings, dark sections)
   --wood-amber     : sheesham wood accent (primary CTA / links)
   --wood-olive     : muted sustainable-green accent
   --wood-cream     : warm paper background
   --wood-sand      : card / section alt background
============================================================= */
:root{
  --wood-espresso:#2b1f17;
  --wood-espresso-2:#3a2b1e;
  --wood-amber:#a9662e;
  --wood-amber-dark:#8a5023;
  --wood-olive:#6b7658;
  --wood-cream:#f7f2ea;
  --wood-sand:#efe6d8;
  --wood-white:#fffdfa;
  --wood-line:#e2d6c3;
  --text-body:#4a3f35;
  --text-muted:#8a7a68;
  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --radius-s:2px;
  --radius-m:4px;
  --gap:24px;
  --container:1240px;
}

/* =============================================================
   RESET / BASE
============================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  color:var(--text-body);
  background:var(--wood-cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--wood-amber-dark);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--wood-espresso);}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--wood-espresso);
  line-height:1.2;
  font-weight:600;
  margin:0 0 .5em;
}
h1{font-size:clamp(2.2rem,4vw,3.4rem);}
h2{font-size:clamp(1.7rem,3vw,2.4rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  padding:14px 30px;
  background:var(--wood-espresso);
  color:var(--wood-cream);
  border:1px solid var(--wood-espresso);
  border-radius:var(--radius-s);
  font-family:var(--font-body);
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.25s ease;
}
.btn:hover{background:transparent;color:var(--wood-espresso);}
.btn-outline{background:transparent;color:var(--wood-cream);border-color:var(--wood-cream);}
.btn-outline:hover{background:var(--wood-cream);color:var(--wood-espresso);}
.btn-amber{background:var(--wood-amber);border-color:var(--wood-amber);color:#fff;}
.btn-amber:hover{background:transparent;color:var(--wood-amber);}
.eyebrow{
  display:block;
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--wood-amber-dark);
  margin-bottom:.6em;
  font-weight:600;
}
.section{padding:88px 0;}
.section-alt{background:var(--wood-sand);}
.section-dark{background:var(--wood-espresso);color:#d8c9b6;}
.section-dark h2,.section-dark h3{color:#fff;}
.center{text-align:center;}
.section-head{max-width:640px;margin:0 auto 56px;}
.section-head.left{margin:0 0 48px;}

/* signature joinery divider (dovetail-inspired zigzag) */
.joinery-divider{
  width:100%;height:14px;
  background-image:linear-gradient(135deg,var(--wood-line) 25%,transparent 25%),
                    linear-gradient(225deg,var(--wood-line) 25%,transparent 25%);
  background-size:14px 14px;background-position:0 0;
  opacity:.6;
}
.joinery-divider.dark{
  background-image:linear-gradient(135deg,#4a3626 25%,transparent 25%),
                    linear-gradient(225deg,#4a3626 25%,transparent 25%);
}

/* =============================================================
   HEADER
============================================================= */
.site-header{
  background:var(--wood-white);
  border-bottom:1px solid var(--wood-line);
  position:sticky;top:0;z-index:999;
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;max-width:var(--container);margin:0 auto;
  gap:24px;
}
.site-branding{display:flex;align-items:center;gap:12px;}
.site-logo img{max-height:52px;width:auto;display:block;}
.site-title{
  font-family:var(--font-display);
  font-size:1.6rem;font-weight:700;color:var(--wood-espresso);
  letter-spacing:.02em;margin:0;
}
.site-title a{color:inherit;}
.site-tagline{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);}
.main-navigation{display:flex;align-items:center;}
.main-navigation > ul{display:flex;align-items:center;gap:34px;}
.main-navigation a{
  font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--wood-espresso);font-weight:500;
  padding:8px 0;position:relative;
}
.main-navigation a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--wood-amber);transition:width .25s ease;
}
.main-navigation a:hover::after,.main-navigation .current-menu-item a::after{width:100%;}
.header-cta{display:flex;align-items:center;gap:18px;}
.header-phone{
  display:flex;align-items:center;gap:8px;
  font-size:.85rem;color:var(--text-muted);
  padding:8px 10px;border-radius:30px;transition:background .2s ease,color .2s ease;
}
.header-phone:hover{background:var(--wood-sand);color:var(--wood-espresso);}
.header-phone strong{color:var(--wood-espresso);}
.header-phone-icon{display:inline-block;font-size:1.05rem;color:var(--wood-amber-dark);transform:scaleX(-1);}
.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--wood-espresso);}

@media (max-width:880px){
  .main-navigation{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--wood-white);border-bottom:1px solid var(--wood-line);
    padding:10px 24px 20px;
    max-height:80vh;overflow-y:auto;
  }
  .main-navigation.is-open{display:block;}
  .main-navigation > ul{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
  .menu-toggle{display:block;}
  .header-phone-full{display:none;}
  .header-phone{padding:8px;border-radius:50%;}
}

/* =============================================================
   HERO
============================================================= */
.hero{
  position:relative;
  min-height:78vh;
  display:flex;align-items:center;
  background:linear-gradient(rgba(20,14,9,.55),rgba(20,14,9,.4)),var(--hero-img,linear-gradient(135deg,#3a2b1e,#2b1f17));
  background-size:cover;background-position:center;
  color:#fff;
}
.hero-content{max-width:620px;padding:0 24px;margin:0 auto;width:100%;max-width:var(--container);}
.hero-content .eyebrow{color:#e6c9a1;}
.hero h1{color:#fff;max-width:640px;}
.hero p{color:#e9ddce;max-width:480px;font-size:1.08rem;}
.hero-actions{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap;}

/* features strip */
.features-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);
  padding:48px 0;background:var(--wood-white);border-bottom:1px solid var(--wood-line);
  margin-top:48px;
}
.feature-item{text-align:center;padding:0 12px;}
.feature-item .f-icon{
  width:50px;height:50px;margin:0 auto 14px;border-radius:50%;
  background:var(--wood-sand);display:flex;align-items:center;justify-content:center;
  color:var(--wood-amber-dark);font-size:1.4rem;
}
.feature-item h4{font-size:1rem;margin-bottom:4px;color:var(--wood-espresso);}
.feature-item p{font-size:.85rem;color:var(--text-muted);margin:0;}
@media (max-width:760px){.features-strip{grid-template-columns:repeat(2,1fr);}}

/* =============================================================
   CATEGORY / PRODUCT GRIDS
============================================================= */
.grid{display:grid;gap:var(--gap);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:920px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-3,.grid-4{grid-template-columns:1fr;}}

.category-card{
  display:block;position:relative;overflow:hidden;border-radius:var(--radius-m);
  aspect-ratio:4/5;background:#ddd;
}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.category-card:hover img{transform:scale(1.06);}
.category-card .cc-label{
  position:absolute;left:0;right:0;bottom:0;
  padding:22px 20px;
  background:linear-gradient(0deg,rgba(20,14,9,.75),transparent);
  color:#fff;
}
.category-card .cc-label h3{color:#fff;margin:0;font-size:1.15rem;}
.category-card .cc-label span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#e6c9a1;}

.product-card{
  background:var(--wood-white);
  border:1px solid var(--wood-line);
  border-radius:var(--radius-m);
  overflow:hidden;
  transition:box-shadow .25s ease, transform .25s ease;
  display:flex;flex-direction:column;
}
.product-card:hover{box-shadow:0 18px 34px -18px rgba(43,31,23,.35);transform:translateY(-4px);}
.product-thumb{aspect-ratio:1/1;background:var(--wood-sand);overflow:hidden;position:relative;}
.product-thumb img{width:100%;height:100%;object-fit:cover;}
.product-badge{
  position:absolute;top:14px;left:14px;
  background:var(--wood-amber);color:#fff;
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;
}
.product-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.product-body h3{font-size:1.05rem;margin-bottom:6px;}
.product-body h3 a{color:var(--wood-espresso);}
.product-price{margin:auto 0 4px;font-weight:600;color:var(--wood-amber-dark);}
.product-desc{font-size:.85rem;color:var(--text-muted);margin:0 0 8px;line-height:1.5;}
.rustic-no-products{text-align:center;padding:48px 24px;background:var(--wood-sand);border-radius:var(--radius-m);}
.rustic-no-products p{margin-bottom:12px;}
.product-price .was{color:var(--text-muted);text-decoration:line-through;font-weight:400;margin-right:8px;font-size:.9em;}
.product-cat{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}

/* =============================================================
   PRODUCT DETAIL (products page - 3 items)
============================================================= */
.product-feature{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
  padding:64px 0;border-bottom:1px solid var(--wood-line);
}
.product-feature:last-child{border-bottom:none;}
.product-feature.reverse .pf-media{order:2;}
.product-feature.reverse .pf-copy{order:1;}
.pf-media{aspect-ratio:5/4;border-radius:var(--radius-m);overflow:hidden;background:var(--wood-sand);}
.pf-media img{width:100%;height:100%;object-fit:cover;}
.pf-copy .pf-num{
  font-family:var(--font-display);font-size:.95rem;color:var(--wood-amber-dark);
  letter-spacing:.1em;margin-bottom:10px;display:block;
}
.pf-specs{margin:20px 0;border-top:1px solid var(--wood-line);}
.pf-specs li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--wood-line);font-size:.92rem;}
.pf-specs li span:first-child{color:var(--text-muted);}
.pf-price{font-size:1.4rem;color:var(--wood-espresso);font-weight:700;margin:16px 0;}
.pf-price .was{font-size:1rem;color:var(--text-muted);text-decoration:line-through;font-weight:400;margin-right:10px;}
@media (max-width:820px){
  .product-feature,.product-feature.reverse{grid-template-columns:1fr;}
  .product-feature.reverse .pf-media,.product-feature.reverse .pf-copy{order:initial;}
}

/* =============================================================
   TESTIMONIALS / CRAFT SECTION
============================================================= */
.craft-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.craft-media{aspect-ratio:4/3;border-radius:var(--radius-m);overflow:hidden;}
.craft-media img{width:100%;height:100%;object-fit:cover;}
@media (max-width:820px){.craft-section{grid-template-columns:1fr;}}

.testimonial-card{
  background:var(--wood-white);border:1px solid var(--wood-line);
  border-radius:var(--radius-m);padding:28px;
}
.testimonial-card .stars{color:var(--wood-amber);letter-spacing:2px;margin-bottom:10px;}
.testimonial-card p{font-style:italic;color:var(--text-body);}
.testimonial-card .who{font-weight:600;color:var(--wood-espresso);font-size:.9rem;}

/* =============================================================
   ABOUT PAGE
============================================================= */
.about-hero{
  padding:80px 0 60px;text-align:center;background:var(--wood-sand);
}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:40px;}
.stat-item{text-align:center;}
.stat-item .num{font-family:var(--font-display);font-size:2.4rem;color:var(--wood-amber-dark);font-weight:700;}
.stat-item .lbl{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);}
@media (max-width:760px){.stats-row{grid-template-columns:repeat(2,1fr);}}

.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
.value-card{padding:32px;background:var(--wood-white);border:1px solid var(--wood-line);border-radius:var(--radius-m);}
.value-card .v-icon{font-size:1.8rem;margin-bottom:14px;color:var(--wood-amber-dark);}
@media (max-width:820px){.values-grid{grid-template-columns:1fr;}}

/* =============================================================
   CONTACT PAGE
============================================================= */
.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;}
@media (max-width:900px){.contact-wrap{grid-template-columns:1fr;}}
.contact-info-card{background:var(--wood-espresso);color:#e9ddce;padding:40px;border-radius:var(--radius-m);}
.contact-info-card h3{color:#fff;}
.contact-info-list li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.contact-info-list li:last-child{border-bottom:none;}
.contact-info-list .ci-icon{color:var(--wood-amber);font-size:1.2rem;}
.contact-form-card{background:var(--wood-white);border:1px solid var(--wood-line);border-radius:var(--radius-m);padding:40px;}
.contact-form-card .wpcf7-form p{margin-bottom:16px;}
.contact-form-card input[type=text],
.contact-form-card input[type=email],
.contact-form-card input[type=tel],
.contact-form-card textarea{
  width:100%;padding:13px 16px;border:1px solid var(--wood-line);
  border-radius:var(--radius-s);font-family:var(--font-body);font-size:.95rem;
  background:var(--wood-cream);
}
.contact-form-card textarea{min-height:130px;resize:vertical;}
.contact-form-card input:focus,.contact-form-card textarea:focus{outline:2px solid var(--wood-amber);outline-offset:1px;}
.map-embed{margin-top:40px;border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--wood-line);}
.map-embed iframe{width:100%;height:360px;border:0;display:block;}
.cf7-fallback-note{
  background:var(--wood-sand);border:1px dashed var(--wood-amber);padding:16px 18px;
  border-radius:var(--radius-s);font-size:.88rem;margin-bottom:20px;
}

/* =============================================================
   BLOG / ARCHIVE / PAGE DEFAULT
============================================================= */
.page-banner{
  padding:64px 0;text-align:center;background:var(--wood-sand);border-bottom:1px solid var(--wood-line);
}
.page-banner h1{margin-bottom:8px;}
.page-banner.has-photo{
  background:linear-gradient(rgba(20,14,9,.6),rgba(20,14,9,.55)),var(--banner-img);
  background-size:cover;background-position:center;color:#fff;padding:96px 0;
}
.page-banner.has-photo h1{color:#fff;}
.page-banner.has-photo p{color:#e9ddce;}
.page-banner.has-photo .breadcrumb,.page-banner.has-photo .breadcrumb a{color:#d8c9b6;}
.breadcrumb{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;}
.breadcrumb a{color:var(--text-muted);}
.entry-content{max-width:820px;margin:0 auto;padding:64px 24px;}
.entry-content img{border-radius:var(--radius-m);margin:1.4em 0;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
@media (max-width:920px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{background:var(--wood-white);border:1px solid var(--wood-line);border-radius:var(--radius-m);overflow:hidden;}
.blog-card img{aspect-ratio:16/10;object-fit:cover;}
.blog-card .bc-body{padding:20px;}
.blog-card .bc-date{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--wood-amber-dark);}

/* =============================================================
   FOOTER
============================================================= */
.site-footer{background:var(--wood-espresso);color:#c9baa6;padding:72px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--gap);padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.1);}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;}
.footer-grid a{color:#c9baa6;}
.footer-grid a:hover{color:#fff;}
.footer-grid li{margin-bottom:10px;font-size:.92rem;}
.footer-categories li{display:block;margin-bottom:14px;}
.footer-brand p{font-size:.9rem;color:#b6a68f;}
.footer-social{display:flex;gap:12px;margin-top:16px;}
.footer-social a{
  width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
}
.footer-social a:hover{background:var(--wood-amber);border-color:var(--wood-amber);}
.footer-bottom{padding:22px 0;text-align:center;font-size:.8rem;color:#9d8d78;}

/* Widgets fallback */
.widget{margin-bottom:24px;}
.widget ul li{margin-bottom:8px;}

/* Screen reader text */
.screen-reader-text{position:absolute;left:-9999px;}

/* WooCommerce softening (in case active) */
.woocommerce ul.products li.product{background:var(--wood-white);border:1px solid var(--wood-line);border-radius:var(--radius-m);padding:16px;}
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit{
  background:var(--wood-espresso);border-radius:var(--radius-s);
}

/* =============================================================
   PRODUCT CATEGORY FILTER (Home + Products page)
============================================================= */
.rustic-filter-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:36px;}
.rustic-filter-btn{
	font-family:var(--font-body);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;
	padding:10px 22px;border-radius:30px;border:1px solid var(--wood-line);background:var(--wood-white);
	color:var(--wood-espresso);cursor:pointer;transition:.2s ease;
}
.rustic-filter-btn i{margin-right:6px;}
.rustic-filter-btn:hover{border-color:var(--wood-amber);color:var(--wood-amber-dark);}
.rustic-filter-btn.is-active{background:var(--wood-espresso);border-color:var(--wood-espresso);color:#fff;}
.rustic-filter-item.is-hidden{display:none;}

/* =============================================================
   FAQ ACCORDION
============================================================= */
.rustic-faq{max-width:760px;margin:0 auto;}
.rustic-faq-item{border-bottom:1px solid var(--wood-line);}
.rustic-faq-q{
	width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
	background:none;border:none;padding:20px 4px;text-align:left;cursor:pointer;
	font-family:var(--font-display);font-size:1.05rem;color:var(--wood-espresso);
}
.rustic-faq-q i{color:var(--wood-amber-dark);transition:transform .25s ease;flex-shrink:0;}
.rustic-faq-item.is-open .rustic-faq-q i{transform:rotate(45deg);}
.rustic-faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.rustic-faq-a p{padding:0 4px 20px;color:var(--text-muted);margin:0;}
.rustic-faq-item.is-open .rustic-faq-a{max-height:240px;}

/* =============================================================
   DROPDOWN SUBMENU (Collections) — stylish version
============================================================= */
.main-navigation ul li{position:relative;}

.main-navigation .sub-menu{
	list-style:none;margin:0;padding:10px 0;
	position:absolute;top:calc(100% + 14px);left:50%;
	transform:translate(-50%,10px);
	min-width:210px;
	background:var(--wood-white);
	border-radius:10px;
	box-shadow:0 24px 48px -20px rgba(43,31,23,.45), 0 2px 10px rgba(43,31,23,.08);
	opacity:0;visibility:hidden;
	display:block !important;flex-direction:column !important;
	transition:opacity .28s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.4,0,.2,1), visibility .28s;
	z-index:50;
	overflow:hidden;
}
/* little arrow pointer above the dropdown */
.main-navigation .sub-menu::before{
	content:"";
	position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
	width:12px;height:12px;background:var(--wood-white);
}
/* top accent strip */
.main-navigation .sub-menu::after{
	content:"";position:absolute;top:0;left:0;right:0;height:3px;
	background:linear-gradient(90deg,var(--wood-amber),var(--wood-amber-dark));
}
.main-navigation li.menu-item-has-children:hover > .sub-menu,
.main-navigation li.menu-item-has-children.is-open > .sub-menu{
	opacity:1;visibility:visible;transform:translate(-50%,0);
}
.main-navigation .sub-menu li{padding:0;}
.main-navigation .sub-menu li + li{border-top:1px solid var(--wood-line);}
.main-navigation .sub-menu a{
	display:flex;align-items:center;gap:10px;
	padding:12px 22px;
	font-size:.85rem;text-transform:none;letter-spacing:0;
	color:var(--wood-espresso);white-space:nowrap;
	position:relative;
	transition:background .2s ease, padding-left .2s ease, color .2s ease;
}
.main-navigation .sub-menu a::after{display:none;}
/* left accent bar that slides in on hover */
.main-navigation .sub-menu a::before{
	content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
	background:var(--wood-amber);transform:scaleY(0);transition:transform .2s ease;
}
.main-navigation .sub-menu a:hover{background:var(--wood-sand);color:var(--wood-amber-dark);padding-left:26px;}
.main-navigation .sub-menu a:hover::before{transform:scaleY(1);}
.main-navigation .menu-item-has-children > a{display:inline-flex;align-items:center;gap:6px;}
.main-navigation .menu-item-has-children > a::before{
	content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.6em;
	order:2;transition:transform .25s ease;color:var(--wood-amber-dark);
}
.main-navigation li.menu-item-has-children:hover > a::before,
.main-navigation li.menu-item-has-children.is-open > a::before{transform:rotate(180deg);}
@media (max-width:880px){
	.main-navigation .sub-menu{
		position:static !important;opacity:1 !important;visibility:visible !important;
		transform:none !important;
		box-shadow:none;background:none;border-radius:0;
		display:block !important;
		padding:4px 0 4px 16px;margin:4px 0 0;
		max-height:none;overflow:visible;
	}
	.main-navigation .sub-menu::before,
	.main-navigation .sub-menu::after{display:none;}
	.main-navigation .sub-menu li{display:block;}
	.main-navigation .sub-menu li + li{border-top:none;}
	.main-navigation .sub-menu a:hover{padding-left:22px;}
	.main-navigation .menu-item-has-children > a::before{display:none;}
}

/* =============================================================
   HERO SLIDESHOW
============================================================= */
.rustic-hero-slideshow{background:var(--wood-espresso);overflow:hidden;}
.hero-slide{
	position:absolute;inset:0;background-size:cover;background-position:center;
	opacity:0;transform:scale(1.06);
	transition:opacity 1.4s ease, transform 6s ease;
	z-index:0;
}
.hero-slide.is-active{opacity:1;transform:scale(1);z-index:1;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(rgba(20,14,9,.55),rgba(20,14,9,.4));z-index:1;}
.rustic-hero-slideshow .hero-content{position:relative;z-index:2;padding-top:24px;padding-bottom:24px;}
.rustic-hero-slideshow .hero-content .eyebrow{margin-bottom:14px;}
.rustic-hero-slideshow .hero-content h1{margin-bottom:18px;}
.rustic-hero-slideshow .hero-content p{margin-bottom:8px;}
.hero-dots{display:flex;gap:10px;margin-top:32px;}
.hero-dot{
	width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.6);
	background:transparent;cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease;
}
.hero-dot:hover{transform:scale(1.15);}
.hero-dot.is-active{background:var(--wood-amber);border-color:var(--wood-amber);}
.hero-arrow{
	position:absolute;top:50%;transform:translateY(-50%);z-index:3;
	width:48px;height:48px;border-radius:50%;
	background:rgba(20,14,9,.35);border:1px solid rgba(255,255,255,.5);color:#fff;
	display:flex;align-items:center;justify-content:center;font-size:1.1rem;
	cursor:pointer;transition:background .2s ease, transform .2s ease;
}
.hero-arrow:hover{background:rgba(20,14,9,.6);transform:translateY(-50%) scale(1.06);}
.hero-arrow-prev{left:24px;}
.hero-arrow-next{right:24px;}
@media (max-width:640px){
	.hero-arrow{width:38px;height:38px;font-size:.95rem;}
	.hero-arrow-prev{left:12px;}
	.hero-arrow-next{right:12px;}
}
@media (max-width:600px){
	.hero-content{padding:0 20px;}
}

/* =============================================================
   STICKY WHATSAPP BUTTON
============================================================= */
.rustic-whatsapp-fab{
	position:fixed;right:24px;bottom:24px;z-index:999;
	width:58px;height:58px;border-radius:50%;
	background:#25D366;color:#fff;
	display:flex;align-items:center;justify-content:center;
	font-size:1.7rem;box-shadow:0 10px 24px -8px rgba(0,0,0,.4);
	transition:transform .2s ease;
}
.rustic-whatsapp-fab:hover{transform:scale(1.08);color:#fff;}
@media (max-width:600px){
	.rustic-whatsapp-fab{width:52px;height:52px;font-size:1.5rem;right:16px;bottom:16px;}
}

/* =============================================================
   OPTIONAL: NATIVE WORDPRESS BLOCK STYLING
   This theme's default page content mainly uses Custom HTML blocks
   for reliability, but if you add real Columns / Cover / Buttons
   blocks yourself in the editor, these rules make them match the
   theme automatically - just set the matching "Additional CSS
   class" in the block's Advanced panel (e.g. "grid grid-3", or
   "btn-amber" on a Buttons block).
============================================================= */

/* Grid-style Columns blocks: apply className "grid grid-3" / "grid
   grid-4" on the Columns block itself in the editor to lay children
   out as a CSS grid instead of WP's default flex row. */
.wp-block-columns.grid{display:grid !important;gap:var(--gap);}
.wp-block-columns.grid-3{grid-template-columns:repeat(3,1fr) !important;}
.wp-block-columns.grid-4{grid-template-columns:repeat(4,1fr) !important;}
.wp-block-columns.grid > .wp-block-column{width:auto !important;flex-basis:auto !important;margin:0 !important;}
@media (max-width:920px){
  .wp-block-columns.grid-3,.wp-block-columns.grid-4{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width:600px){
  .wp-block-columns.grid-3,.wp-block-columns.grid-4{grid-template-columns:1fr !important;}
}

/* Hero Cover block */
.rustic-hero-cover{min-height:78vh !important;}
.rustic-hero-cover .wp-block-cover__inner-container{max-width:var(--container);margin:0 auto;padding:0 24px;width:100%;}
.rustic-hero-cover h1,.rustic-hero-cover h2{font-family:var(--font-display);color:#fff;font-size:clamp(2.2rem,4vw,3.4rem);}
.rustic-hero-cover p{color:#e9ddce;font-size:1.08rem;max-width:480px;}

/* Section spacing helpers usable as block className */
.rustic-section{padding:88px 24px;max-width:var(--container);margin:0 auto;}
.rustic-section-alt{background:var(--wood-sand);}
.rustic-section-dark{background:var(--wood-espresso);color:#d8c9b6;}
.rustic-section-dark h2,.rustic-section-dark h3{color:#fff;}
.rustic-center{text-align:center;}

/* Buttons block styled to match .btn */
.wp-block-button.btn .wp-block-button__link{
  background:var(--wood-espresso);color:var(--wood-cream);border-radius:2px;
  font-family:var(--font-body);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;
  padding:14px 30px;border:1px solid var(--wood-espresso);
}
.wp-block-button.btn .wp-block-button__link:hover{background:transparent;color:var(--wood-espresso);}
.wp-block-button.btn-amber .wp-block-button__link{background:var(--wood-amber);border-radius:2px;}
.wp-block-button.btn-amber .wp-block-button__link:hover{background:transparent;color:var(--wood-amber);box-shadow:inset 0 0 0 1px var(--wood-amber);}
.wp-block-button.btn-outline .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #fff;border-radius:2px;}
.wp-block-button.btn-outline .wp-block-button__link:hover{background:#fff;color:var(--wood-espresso);}
.wp-block-buttons.rustic-center{justify-content:center;}

/* FAQ via core/details block */
.rustic-faq-block{max-width:760px;margin:0 auto;}
.rustic-faq-block details{border-bottom:1px solid var(--wood-line);padding:4px 0;}
.rustic-faq-block summary{
  font-family:var(--font-display);font-size:1.05rem;color:var(--wood-espresso);
  padding:16px 4px;cursor:pointer;list-style:none;position:relative;padding-right:30px;
}
.rustic-faq-block summary::-webkit-details-marker{display:none;}
.rustic-faq-block summary::after{
  content:"+";position:absolute;right:4px;top:16px;color:var(--wood-amber-dark);font-size:1.2rem;
  transition:transform .2s ease;
}
.rustic-faq-block details[open] summary::after{transform:rotate(45deg);}
.rustic-faq-block details p{padding:0 4px 18px;color:var(--text-muted);}

/* Shortcode block (contact form) inherits contact-form-card styling
   when wrapped in a Group with that className */
.contact-form-card .wp-block-shortcode{display:block;}
