/*
Theme Name: Indoteak Outdoor Furniture
Theme URI: https://www.indoteakoutdoorfurniture.com/
Author: OpenAI
Description: Responsive luxury outdoor teak furniture theme with WooCommerce gallery zoom, responsive navigation, hero slider and SEO-friendly structure.
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: indoteak-outdoor-furniture
Tags: e-commerce, custom-logo, custom-menu, featured-images, full-width-template, theme-options, threaded-comments, translation-ready
*/
:root{--iotf-ink:#202b27;--iotf-muted:#68716c;--iotf-green:#243d32;--iotf-green-dark:#172c23;--iotf-gold:#b49a6a;--iotf-cream:#f7f5f0;--iotf-white:#fff;--iotf-width:1280px;--iotf-serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--iotf-ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--iotf-green);text-decoration:none;transition:color .2s ease,background .2s ease}a:hover,a:focus{text-decoration:none;color:var(--iotf-gold)}button,input,select,textarea{font:inherit}button,.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border:0;background:var(--iotf-green);color:#fff;padding:12px 22px;cursor:pointer;border-radius:0;text-decoration:none;display:inline-block;transition:background .2s ease}button:hover,.button:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--iotf-gold);color:#fff}.iotf-container{width:min(calc(100% - 44px),var(--iotf-width));margin-inline:auto}.iotf-skip-link{position:absolute;left:-9999px;top:auto}.iotf-skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:12px}
.iotf-site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid #eceae5}.iotf-header-main{display:grid;grid-template-columns:minmax(250px, .85fr) minmax(0,1.5fr);gap:28px;align-items:center;padding:22px 0}.iotf-brand{min-width:0}.iotf-site-title{font-family:var(--iotf-serif);font-size:clamp(24px,2.2vw,36px);font-weight:400;line-height:1.15;letter-spacing:.02em;margin:0;color:var(--iotf-green-dark)}.iotf-site-title a{color:inherit}.iotf-site-tagline{font-size:11px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:var(--iotf-muted);margin:8px 0 0}.iotf-nav-area{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0}.iotf-primary-nav{min-width:0}.iotf-primary-nav ul{list-style:none;margin:0;padding:0}.iotf-primary-nav>.menu>li{display:inline-flex;position:relative;align-items:center}.iotf-primary-nav li{position:relative}.iotf-primary-nav a{display:block;padding:13px 10px;color:#26372f;font-size:11px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;white-space:normal;line-height:1.5}.iotf-primary-nav a:hover,.iotf-primary-nav a:focus{color:var(--iotf-gold);text-decoration:none}.iotf-primary-nav .menu-item-has-children>a:after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.iotf-primary-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:245px;max-width:min(330px,calc(100vw - 24px));padding:9px 0;background:#fff;border:1px solid #eeece7;box-shadow:0 14px 35px rgba(22,37,29,.13);z-index:9999}.iotf-primary-nav li:hover>.sub-menu,.iotf-primary-nav li:focus-within>.sub-menu,.iotf-primary-nav li.iotf-submenu-open>.sub-menu{display:block}.iotf-primary-nav .sub-menu li{display:block;width:100%}.iotf-primary-nav .sub-menu a{padding:10px 17px;font-size:11px;letter-spacing:.04em;text-transform:none}.iotf-primary-nav .sub-menu .sub-menu{top:0;left:100%}.iotf-menu-toggle{display:none;background:transparent;color:var(--iotf-green);border:1px solid #ddd;padding:8px 12px}.iotf-search{display:flex;max-width:180px}.iotf-search input[type=search]{width:100%;min-width:0;border:1px solid #e7e4de;padding:8px;font-size:12px}.iotf-search button{padding:8px 10px;font-size:12px}
.iotf-hero{position:relative;overflow:hidden;background:#26372f;color:#fff;min-height:470px}.iotf-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease;display:flex;align-items:center;background-size:cover;background-position:center}.iotf-hero-slide.is-active{opacity:1;visibility:visible}.iotf-hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,23,.76),rgba(15,30,23,.25) 68%,rgba(15,30,23,.08))}.iotf-hero-content{position:relative;z-index:1;padding:80px 0;max-width:680px}.iotf-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#e5d5b2;font-weight:700}.iotf-hero h1,.iotf-hero h2{font-family:var(--iotf-serif);font-size:clamp(38px,5.4vw,70px);font-weight:400;line-height:1.08;margin:15px 0 20px;color:#fff}.iotf-hero p{font-size:17px;max-width:560px;color:#f4f3ee}.iotf-hero-dots{position:absolute;bottom:22px;left:0;right:0;display:flex;gap:9px;justify-content:center;z-index:3}.iotf-hero-dot{width:8px;height:8px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent}.iotf-hero-dot.is-active{background:#fff}
.iotf-section{padding:68px 0}.iotf-section--cream{background:var(--iotf-cream)}.iotf-section-heading{text-align:center;max-width:760px;margin:0 auto 36px}.iotf-section-heading .iotf-eyebrow{color:var(--iotf-gold)}.iotf-section-heading h2{font-family:var(--iotf-serif);font-weight:400;font-size:clamp(29px,3.5vw,44px);line-height:1.2;margin:8px 0 14px;color:var(--iotf-green-dark)}.iotf-section-heading p{color:var(--iotf-muted);margin:0}.iotf-product-grid,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;list-style:none;margin:0!important;padding:0!important}.iotf-product-card,.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;text-align:left;min-width:0}.iotf-product-card img,.woocommerce ul.products li.product a img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0 0 15px!important;background:#f5f4f0;transition:transform .35s ease;overflow:hidden}.iotf-product-card .iotf-product-image,.woocommerce ul.products li.product a:first-child{overflow:hidden;display:block}.iotf-product-card:hover img,.woocommerce ul.products li.product:hover a img{transform:scale(1.025)}.iotf-product-card h3,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--iotf-serif);font-weight:400;font-size:21px;line-height:1.3;color:var(--iotf-green-dark);margin:0 0 7px;padding:0}.iotf-product-card p{font-size:14px;color:var(--iotf-muted);margin:0}.woocommerce ul.products li.product .price{color:var(--iotf-green);font-size:14px}.woocommerce span.onsale{background:var(--iotf-gold);border-radius:0;min-height:0;line-height:1;padding:8px 10px}
.iotf-content{padding:48px 0 76px}.iotf-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px}.iotf-article{min-width:0}.iotf-article h1,.iotf-article h2,.iotf-article h3{font-family:var(--iotf-serif);font-weight:400;line-height:1.25;color:var(--iotf-green-dark)}.iotf-article h1{font-size:clamp(30px,4vw,46px)}.iotf-article h2{font-size:32px}.iotf-article p,.iotf-article li{text-align:justify}.iotf-article img{margin:20px 0}.iotf-featured-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:25px}.iotf-meta{color:var(--iotf-muted);font-size:12px;letter-spacing:.04em}.iotf-sidebar{font-size:14px}.iotf-sidebar h2{font-family:var(--iotf-serif);font-size:23px;font-weight:400}.iotf-pagination{margin-top:35px}.iotf-pagination .page-numbers{padding:8px 12px;border:1px solid #e7e4de;margin-right:4px}
.iotf-related-products{padding:42px 0 60px;border-top:1px solid #efede8}.iotf-related-products h2{font-family:var(--iotf-serif);font-size:32px;font-weight:400;margin:0 0 25px}.single-product .product .woocommerce-product-gallery{width:52%!important}.single-product .product .summary{width:43%!important}.woocommerce div.product div.images .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.woocommerce div.product div.images .flex-control-thumbs li{width:72px!important;float:none!important}.woocommerce div.product div.images .flex-control-thumbs img{opacity:.72}.woocommerce div.product div.images .flex-control-thumbs img.flex-active{opacity:1}.woocommerce div.product div.images img{background:#f8f7f4}.woocommerce div.product .product_title{font-family:var(--iotf-serif);font-weight:400;font-size:clamp(30px,3vw,42px);color:var(--iotf-green-dark)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--iotf-green)}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:0}.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{background:#f7f5f0;border:0}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom:2px solid var(--iotf-gold)}.woocommerce table.shop_table{border-collapse:collapse;border-radius:0}.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:#e8e5de}.woocommerce .quantity .qty{min-height:42px}
.iotf-footer{background:var(--iotf-green-dark);color:#e8e8df;padding:54px 0 22px}.iotf-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:42px}.iotf-footer h2,.iotf-footer h3{font-family:var(--iotf-serif);font-weight:400;color:#fff}.iotf-footer a{color:#e8e8df}.iotf-footer a:hover{color:#d5bd8e}.iotf-footer p{font-size:14px;color:#d1d7d1}.iotf-footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:18px;font-size:12px;color:#c4cbc5}
.iotf-breadcrumbs{font-size:12px;color:var(--iotf-muted);padding:16px 0}.iotf-breadcrumbs a{color:var(--iotf-muted)}.iotf-no-results{padding:50px 0}.alignwide{max-width:var(--iotf-width);margin-left:auto;margin-right:auto}.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}.wp-block-image figcaption{font-size:12px;color:var(--iotf-muted);text-align:center}.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}
@media(max-width:1100px){.iotf-header-main{grid-template-columns:1fr;gap:14px}.iotf-nav-area{justify-content:space-between}.iotf-primary-nav a{padding:12px 8px}.iotf-search{max-width:160px}.iotf-hero{min-height:420px}}
@media(max-width:767px){.iotf-container{width:min(calc(100% - 30px),var(--iotf-width))}.iotf-header-main{padding:15px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.iotf-brand{flex:1}.iotf-site-title{font-size:25px}.iotf-site-tagline{font-size:9px;letter-spacing:.08em}.iotf-nav-area{width:100%;display:block}.iotf-menu-toggle{display:inline-block;margin:10px 0}.iotf-primary-nav{display:none;width:100%;border-top:1px solid #eee}.iotf-primary-nav.is-open{display:block}.iotf-primary-nav>.menu>li{display:block}.iotf-primary-nav a{padding:12px 10px;border-bottom:1px solid #f0eee9}.iotf-primary-nav .sub-menu,.iotf-primary-nav .sub-menu .sub-menu{position:static;display:none;max-width:none;min-width:0;border:0;box-shadow:none;padding:0 0 0 12px;background:#faf9f6}.iotf-primary-nav li.iotf-submenu-open>.sub-menu{display:block}.iotf-primary-nav .menu-item-has-children>a{padding-right:42px;position:relative}.iotf-primary-nav .menu-item-has-children>a:after{position:absolute;right:15px;top:18px}.iotf-search{max-width:none;margin:12px 0}.iotf-hero{min-height:430px}.iotf-hero-content{padding:55px 0}.iotf-hero h1,.iotf-hero h2{font-size:40px}.iotf-hero p{font-size:15px}.iotf-section{padding:48px 0}.iotf-product-grid,.woocommerce ul.products{grid-template-columns:minmax(0,1fr)!important;gap:27px}.iotf-product-card img,.woocommerce ul.products li.product a img{aspect-ratio:4/3}.iotf-content{padding:30px 0 50px}.iotf-content-grid{grid-template-columns:1fr;gap:30px}.iotf-sidebar{border-top:1px solid #eee;padding-top:20px}.single-product .product .woocommerce-product-gallery,.single-product .product .summary{width:100%!important;float:none!important}.iotf-related-products{padding:30px 0}.iotf-related-products h2{font-size:28px}.iotf-footer-grid{grid-template-columns:1fr;gap:20px}.woocommerce div.product div.images .flex-control-thumbs li{width:60px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Homepage product section: keep product cards visible and consistently spaced. */
.iotf-home-products{margin-top:8px!important}
.iotf-home-product-price{font-size:14px;color:var(--iotf-green);font-weight:700;margin:0 0 7px!important}
.iotf-no-home-products{max-width:760px;margin:0 auto;padding:26px;text-align:center;background:var(--iotf-cream);color:var(--iotf-muted)}
.iotf-no-home-products p{text-align:center;margin:0 0 16px}
.iotf-home-products .iotf-product-card img{width:100%;aspect-ratio:4/3;object-fit:cover}


/* Fix WooCommerce archive grid: clearfix pseudo-elements can occupy the first CSS Grid cell. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}
.woocommerce.archive ul.products,
.woocommerce-page.archive ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px 24px !important;
  align-items: start;
}
.woocommerce.archive ul.products > li.product,
.woocommerce-page.archive ul.products > li.product,
.post-type-archive-product ul.products > li.product,
.tax-product_cat ul.products > li.product {
  grid-column: auto !important;
  clear: none !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
@media(max-width:767px) {
  .woocommerce.archive ul.products,
  .woocommerce-page.archive ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
