/*
Theme Name: Island Girl Chillie Oil
Theme URI: https://islandgirlchillieoil.com.au
Author: Island Girl Chillie Oil
Description: Lightweight custom theme for Island Girl Chillie Oil, built for speed with no page-builder dependency.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: island-girl-chillie-oil
*/

/* ---------- Tokens ---------- */
:root{
	--c-bg:#ffffff;
	--c-dark:#160f0d;
	--c-dark-2:#221512;
	--c-red:#d92b2b;
	--c-red-dark:#b91f1f;
	--c-gold:#f2a541;
	--c-text:#241a17;
	--c-text-muted:#6b5d59;
	--c-border:#ece4e1;
	--container:1180px;
	--radius:10px;
	--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
body{
	margin:0;
	font-family:var(--font);
	color:var(--c-text);
	background:var(--c-bg);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.2;font-weight:800;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.btn{
	display:inline-block;
	padding:14px 30px;
	border-radius:999px;
	background:var(--c-red);
	color:#fff;
	font-weight:700;
	font-size:15px;
	letter-spacing:.02em;
	border:none;
	cursor:pointer;
	transition:transform .15s ease, background .15s ease;
}
.btn:hover{background:var(--c-red-dark);transform:translateY(-1px);}
.btn-outline{
	background:transparent;
	border:2px solid #fff;
	color:#fff;
}
.btn-outline:hover{background:#fff;color:var(--c-dark);}
.eyebrow{
	text-transform:uppercase;
	letter-spacing:.14em;
	font-size:13px;
	font-weight:700;
	color:var(--c-red);
	margin-bottom:10px;
	display:block;
}
.section{padding:72px 0;}
.section-dark{background:var(--c-dark);color:#fff;}
.section-tight{padding:48px 0;}
.text-center{text-align:center;}

/* ---------- Header ---------- */
.site-header{
	position:sticky;top:0;z-index:50;
	background:#fff;
	border-bottom:1px solid var(--c-border);
}
.site-header__inner{
	display:flex;align-items:center;justify-content:space-between;
	padding:14px 24px;
	max-width:var(--container);margin:0 auto;
	gap:20px;
}
.site-branding{display:flex;align-items:center;gap:12px;}
.site-branding img{height:48px;width:48px;border-radius:50%;}
.site-branding .site-title{font-size:19px;font-weight:800;letter-spacing:-.01em;}
.site-branding .site-title span{color:var(--c-red);}

.main-nav ul{display:flex;gap:30px;align-items:center;}
.main-nav a{font-weight:600;font-size:15px;}
.main-nav a:hover{color:var(--c-red);}

.header-actions{display:flex;align-items:center;gap:18px;}
.header-cart{position:relative;font-weight:700;}
.header-cart .count{
	position:absolute;top:-8px;right:-14px;
	background:var(--c-red);color:#fff;
	font-size:11px;width:18px;height:18px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
}
.nav-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;}

@media (max-width:860px){
	.main-nav{
		position:absolute;top:100%;left:0;right:0;
		background:#fff;border-bottom:1px solid var(--c-border);
		display:none;
	}
	.main-nav.is-open{display:block;}
	.main-nav ul{flex-direction:column;gap:0;padding:10px 24px 20px;}
	.main-nav li{border-top:1px solid var(--c-border);}
	.main-nav a{display:block;padding:14px 0;}
	.nav-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{
	background:
		linear-gradient(180deg, rgba(22,15,13,.55) 0%, rgba(22,15,13,.85) 100%),
		url("http://localhost/trey/islandgirlchillieoil.com.au/wp-content/uploads/2026/09/ChatGPT-Image-Oct-25-2025-06_14_59-PM.webp") center / cover no-repeat;
	color:#fff;
	text-align:center;
	padding:90px 24px 100px;
}
.hero img.logo{width:130px;height:130px;border-radius:50%;margin:0 auto 26px;}
.hero h1{font-size:clamp(32px,5vw,54px);}
.hero p{max-width:560px;margin:0 auto 30px;font-size:18px;color:#e9dbd6;}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Story / About block ---------- */
.story{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.story img{border-radius:var(--radius);}
.story h2{font-size:30px;}
.story p{color:var(--c-text-muted);font-size:16px;}
@media (max-width:820px){
	.story{grid-template-columns:1fr;gap:28px;}
}

/* ---------- Product grid ---------- */
.section-head{text-align:center;max-width:600px;margin:0 auto 44px;}
.section-head h2{font-size:32px;}
.section-head p{color:var(--c-text-muted);}

.product-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	gap:28px;
}
.product-card{
	border:1px solid var(--c-border);
	border-radius:var(--radius);
	overflow:hidden;
	background:#fff;
	transition:box-shadow .2s ease, transform .2s ease;
	display:flex;flex-direction:column;
}
.product-card:hover{box-shadow:0 14px 34px rgba(20,10,8,.12);transform:translateY(-3px);}
.product-card__img{
	aspect-ratio:1/1;
	background:#f7f2f0;
	display:flex;align-items:center;justify-content:center;
	overflow:hidden;
}
.product-card__img img{width:100%;height:100%;object-fit:cover;}
.product-card__body{padding:20px;text-align:center;flex:1;display:flex;flex-direction:column;gap:8px;}
.product-card__body h3{font-size:18px;margin:0;}
.product-card__price{color:var(--c-red);font-weight:700;}
.product-card .btn{margin-top:auto;}

/* ---------- Testimonial ---------- */
.testimonial{
	max-width:760px;margin:0 auto;text-align:center;
}
.testimonial blockquote{
	font-size:20px;line-height:1.7;margin:0 0 24px;color:#f4e9e5;
}
.testimonial cite{
	font-style:normal;font-weight:700;color:var(--c-gold);letter-spacing:.02em;
}

/* ---------- Generic page content ---------- */
.page-hero{
	background:var(--c-dark);color:#fff;
	padding:64px 24px;text-align:center;
}
.page-hero h1{font-size:36px;}
.page-content{padding:64px 0;max-width:820px;margin:0 auto;}
.page-content h2{font-size:26px;margin-top:1.4em;}
.page-content p{color:var(--c-text-muted);font-size:16px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;}
.contact-info-card{
	background:var(--c-dark);color:#fff;border-radius:var(--radius);
	padding:36px;
}
.contact-info-card h3{color:var(--c-gold);font-size:15px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
.contact-info-card ul li{margin-bottom:14px;font-size:15px;}
.contact-info-card ul li strong{display:block;color:#e9dbd6;font-weight:600;font-size:13px;margin-bottom:2px;}
.contact-form label{display:block;font-weight:700;font-size:14px;margin-bottom:6px;}
.contact-form input,.contact-form textarea{
	width:100%;padding:12px 14px;border:1px solid var(--c-border);border-radius:8px;
	font-family:var(--font);font-size:15px;margin-bottom:18px;
}
.contact-form textarea{min-height:130px;resize:vertical;}
.form-notice{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;}
.form-notice.success{background:#e6f6ea;color:#1c6b34;}
.form-notice.error{background:#fbe7e7;color:#a32424;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- Footer ---------- */
.site-footer{background:var(--c-dark-2);color:#cbb9b4;}
.footer-grid{
	display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:40px;
	padding:64px 0 40px;
}
.footer-col h4{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col a:hover{color:var(--c-red);}
.footer-social{display:flex;gap:12px;margin-top:16px;}
.footer-social a{
	width:38px;height:38px;border-radius:50%;border:1px solid #4a3a35;
	display:flex;align-items:center;justify-content:center;font-size:14px;
}
.footer-social a:hover{background:var(--c-red);border-color:var(--c-red);color:#fff;}
.footer-contact li strong{display:block;color:#fff;font-size:13px;}
.footer-bottom{
	border-top:1px solid #3a2c28;
	padding:20px 0;text-align:center;font-size:13px;color:#8c7a75;
}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr;padding:48px 0 24px;}}

/* ---------- WooCommerce overrides (keep it light) ---------- */
.woocommerce ul.products{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;
	list-style:none;
}
.woocommerce ul.products li.product{
	border:1px solid var(--c-border);border-radius:var(--radius);padding:18px;text-align:center;
}
.woocommerce ul.products li.product img{aspect-ratio:1/1;object-fit:cover;border-radius:8px;}
.woocommerce ul.products li.product .price{color:var(--c-red);font-weight:700;}
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit{
	background:var(--c-red);color:#fff;border-radius:999px;padding:12px 24px;border:none;font-weight:700;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--c-red-dark);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{font-weight:700;}
.woocommerce-page .container-wc{max-width:var(--container);margin:0 auto;padding:48px 24px;}

/* ---------- WooCommerce single product ---------- */
.content-area{max-width:var(--container);margin:0 auto;padding:36px 24px 80px;}
.woocommerce-breadcrumb{
	display:block;padding:0 0 28px;color:var(--c-text-muted);font-size:14px;
}
.woocommerce-breadcrumb a:hover{color:var(--c-red);}

div.product{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:64px;
	align-items:flex-start;
	margin-top:36px;
}
@media (max-width:820px){
	div.product{grid-template-columns:1fr;gap:28px;}
}

.woocommerce-product-gallery{position:relative;}
.woocommerce-product-gallery__wrapper{
	display:flex;flex-wrap:wrap;gap:10px;
	border:1px solid var(--c-border);border-radius:var(--radius);
	padding:10px;background:#faf5f3;
}
.woocommerce-product-gallery__wrapper > div{
	flex:1 1 100%;
}
.woocommerce-product-gallery__wrapper > div:not(:first-child){
	flex:0 0 84px;
}
.woocommerce-product-gallery__wrapper img{
	width:100%;border-radius:8px;object-fit:cover;aspect-ratio:1/1;
}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;margin-top:10px;list-style:none;padding:0;}
.woocommerce-product-gallery .flex-control-thumbs li{width:70px;}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:6px;cursor:pointer;opacity:.6;aspect-ratio:1/1;object-fit:cover;}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;outline:2px solid var(--c-red);}

.summary.entry-summary{padding-top:8px;}
.summary .product_title{font-size:32px;margin-bottom:12px;}
.summary p.price{font-size:24px;font-weight:800;color:var(--c-red);margin-bottom:18px;}
.summary p.price del{color:var(--c-text-muted);font-weight:400;font-size:18px;margin-right:8px;}
.summary p.price ins{text-decoration:none;}
.woocommerce-product-details__short-description{color:var(--c-text-muted);margin-bottom:22px;}

table.variations{width:100%;margin-bottom:20px;border-collapse:collapse;}
table.variations tr{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
table.variations th.label{font-weight:700;min-width:70px;text-align:left;}
table.variations td.value{flex:1;display:flex;align-items:center;gap:12px;}
table.variations select{
	flex:1;padding:12px 14px;border:1px solid var(--c-border);border-radius:8px;
	font-family:var(--font);font-size:15px;background:#fff;
}
a.reset_variations{font-size:13px;color:var(--c-text-muted);text-decoration:underline;}

.woocommerce-variation-price .price{font-size:22px;font-weight:800;color:var(--c-red);}
.woocommerce-variation-add-to-cart, .cart{
	display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:10px;
}
.quantity{display:inline-block;}
.quantity .qty{
	width:76px;padding:12px 10px;border:1px solid var(--c-border);border-radius:8px;
	font-family:var(--font);font-size:15px;text-align:center;
}
.single_add_to_cart_button{
	background:var(--c-red);color:#fff;border:none;border-radius:999px;
	padding:14px 32px;font-weight:700;font-size:15px;cursor:pointer;
}
.single_add_to_cart_button:hover{background:var(--c-red-dark);}
.single_add_to_cart_button.disabled{background:#d8cac6;cursor:not-allowed;}

.product_meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--c-border);color:var(--c-text-muted);font-size:14px;}
.product_meta span{display:block;margin-bottom:6px;}

.woocommerce-tabs{grid-column:1 / -1;margin-top:56px;}
.woocommerce-tabs ul.tabs{
	display:flex;gap:6px;list-style:none;padding:0;margin:0 0 -1px;
	border-bottom:1px solid var(--c-border);
}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{
	display:block;padding:14px 22px;font-weight:700;color:var(--c-text-muted);
	border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover{
	color:var(--c-red);border-bottom-color:var(--c-red);
}
.woocommerce-tabs .woocommerce-Tabs-panel{display:none;padding:32px 0;max-width:760px;}
.woocommerce-tabs .woocommerce-Tabs-panel--description{display:block;}
.woocommerce-Tabs-panel h2{font-size:22px;}
.woocommerce-Tabs-panel p{color:var(--c-text-muted);}
table.shop_attributes{width:100%;border-collapse:collapse;}
table.shop_attributes th, table.shop_attributes td{
	padding:10px 14px;border:1px solid var(--c-border);text-align:left;font-size:14px;
}
table.shop_attributes th{background:#faf5f3;width:180px;}

/* Related products */
.related.products{grid-column:1 / -1;margin-top:64px;}
.related.products > h2{font-size:26px;margin-bottom:24px;}
.related.products ul.products{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}

/* Cart / checkout pages: keep default WC markup readable */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;margin-bottom:24px;}
.woocommerce table.shop_table th, .woocommerce table.shop_table td{
	padding:12px 14px;border:1px solid var(--c-border);text-align:left;
}
.woocommerce-cart-form .quantity .qty{width:70px;}
.woocommerce a.remove{color:var(--c-red) !important;font-size:20px;}
#respond input#submit, .checkout-button{
	background:var(--c-red);color:#fff !important;border-radius:999px;padding:14px 30px;
}

/* Notices (added to cart, errors, etc.) */
.woocommerce-notices-wrapper{max-width:var(--container);margin:0 auto;padding:24px 24px 0;}
.woocommerce-message, .woocommerce-error, .woocommerce-info{
	list-style:none;
	display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
	background:#f3fbf4;border:1px solid #bfe6c4;color:#1c6b34;
	border-radius:var(--radius);
	padding:16px 20px;margin:24px auto 0;
}
.woocommerce-error{background:#fbe7e7;border-color:#f0b8b8;color:#a32424;}
.woocommerce-info{background:#eef3fb;border-color:#bcd3f0;color:#22508f;}
.woocommerce-message a.button, .woocommerce-error a.button, .woocommerce-info a.button{
	background:var(--c-red);color:#fff;border-radius:999px;padding:10px 22px;font-weight:700;font-size:14px;
	order:2;
}
.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before{display:none;}

/* ---------- Reviews / comment form ---------- */
#reviews{max-width:640px;}
#reviews .woocommerce-Reviews-title{font-size:24px;margin-bottom:18px;}
#reviews .woocommerce-noreviews{color:var(--c-text-muted);margin-bottom:28px;}
#review_form_wrapper{margin-top:8px;}
#respond p{margin-bottom:20px;}
#respond .comment-reply-title{display:none;}
#respond label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;}
#respond input[type="text"],
#respond input[type="email"],
#respond textarea{
	width:100%;max-width:460px;padding:12px 14px;border:1px solid var(--c-border);border-radius:8px;
	font-family:var(--font);font-size:15px;
}
#respond textarea{min-height:130px;resize:vertical;}

.comment-form-rating{margin-bottom:24px;}
.comment-form-rating label{display:block;font-weight:700;font-size:14px;margin-bottom:10px;}
p.stars{margin:0;display:flex;gap:6px;}
p.stars a{
	display:inline-block;width:26px;height:26px;line-height:26px;
	text-align:center;text-indent:0;font-size:0;position:relative;
}
p.stars a::before{
	content:"\2605";
	font-size:22px;line-height:26px;color:#e2d6d2;
}
p.stars a:hover::before,
p.stars:hover a:hover::before{color:var(--c-gold);}
p.stars.selected a.active::before{color:var(--c-gold);}
p.stars a:hover ~ a::before{color:#e2d6d2;}

#respond .form-submit{margin-top:8px;}
#respond .form-submit input{
	background:var(--c-red);color:#fff;border:none;border-radius:999px;
	padding:14px 32px;font-weight:700;font-size:15px;cursor:pointer;
}
#respond .form-submit input:hover{background:var(--c-red-dark);}
.comment-notes, .comment-form-cookies-consent{color:var(--c-text-muted);font-size:14px;display:flex;align-items:center;gap:8px;}
.comment-form-cookies-consent input{margin:0;}
