/*
Theme Name: Malibu Elixir
Theme URI: https://malibuelixir.com
Author: Malibu Elixir
Description: A two-niche editorial luxury theme for Beauty and Health. Black, white and soft gray, refined serif headlines, WooCommerce-ready.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: malibu-elixir
*/

:root{
  --bg:#FFFFFF; --text:#000000; --accent:#000000; --border:#ECECEC; --muted:#666666;
  --bar:#2B2F3E; --hero:#888888; --img-a:#E4E4E4; --img-b:#CFCFCF;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --h1:clamp(32px,2.2vw + 24px,48px);
  --h2:clamp(24px,0.9vw + 20px,32px);
  --h3:clamp(20px,0.5vw + 18px,24px);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#111111;--text:#F5F5F5;--accent:#FFFFFF;--border:#2a2a2a;--muted:#a3a3a3;--hero:#3a3a3a;--img-a:#262626;--img-b:#3a3a3a}
}
html{scroll-behavior:smooth;scroll-padding-top:120px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:1.15}
h1{font-size:var(--h1)} h2{font-size:var(--h2)} h3{font-size:var(--h3)}
a{color:inherit;text-decoration:none}
p{margin:0}
img{max-width:100%;height:auto}

/* Announcement + header */
.announce{background:var(--bar);color:#fff;text-align:center;font-size:13px;letter-spacing:0.04em;padding:10px 16px}
.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--border);text-align:center;padding:20px 20px 14px}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
.logo{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:0.4em;text-transform:uppercase;padding-left:0.4em;display:inline-block}
.nav{margin-top:10px}
.nav-list{display:flex;justify-content:center;flex-wrap:wrap;gap:6px clamp(16px,4vw,36px);list-style:none;margin:0;padding:0}
.nav-list a{color:var(--muted);font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400;padding:4px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.nav-list .current-menu-item>a,.nav-list .current_page_item>a,.nav-list li:first-child>a{color:var(--text)}
.nav-list a:hover,.nav-list a:focus-visible{color:var(--text);border-color:var(--text);outline:none}

/* Hero */
.hero{background:var(--hero);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px}
.hero .eyebrow{margin-bottom:14px;color:#fff}
.hero h1{max-width:16ch}
.hero p{max-width:34ch;margin-top:14px;color:#fff;font-style:italic;font-size:17px}
.btn{display:inline-block;margin-top:24px;padding:16px 40px;background:#000;border:1px solid #000;border-radius:999px;color:#fff;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400;box-shadow:0 4px 18px rgba(0,0,0,.18);transition:background .3s,border-color .3s}
.btn:hover,.btn:focus-visible{background:#2B2F3E;border-color:#2B2F3E;outline:none}

/* Meta + tags */
.eyebrow,.tag{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400;color:var(--text)}
.tag{display:inline-block;align-self:flex-start;background:var(--accent);color:var(--bg);padding:4px 12px;line-height:1.6;transition:opacity .25s}
.tag:hover{opacity:.75}

/* Sections */
.section{max-width:1240px;margin:0 auto;padding:0 24px 96px}
.section-head{text-align:center;padding:48px 0 56px;border-top:1px solid var(--border)}
.section-head h1,.section-head h2{margin-top:12px}
.section-head p{max-width:48ch;margin:20px auto 0;color:var(--muted)}
.page-top .section-head{border-top:0}

/* Grid */
.grid{display:grid;grid-template-columns:1fr;gap:64px 32px}
@media (min-width:720px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1180px){.grid{grid-template-columns:repeat(4,1fr)}}

/* Card */
.card{display:flex;flex-direction:column;padding-bottom:28px;border-bottom:1px solid var(--border);transition:border-color .3s}
.card:hover{border-color:var(--accent)}
.thumb{aspect-ratio:4/5;width:100%;background:linear-gradient(160deg,var(--img-a),var(--img-b));display:flex;align-items:flex-end;padding:16px;overflow:hidden;position:relative}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.card:hover .thumb img{transform:scale(1.03)}
.thumb span{font-family:var(--serif);font-size:14px;letter-spacing:0.15em;text-transform:uppercase;color:#fff;opacity:.92}
.card .tag{margin:24px 0 10px}
.card h3{font-weight:600;margin-bottom:14px}
.card h3 a{transition:color .25s}
.card h3 a:hover,.card h3 a:focus-visible{color:var(--muted);outline:none}
.card p{color:var(--muted);font-size:15px}
.card .read{margin-top:18px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400}
.card .read:hover{color:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:0 0 96px}

/* Pagination */
.pagination{margin-top:72px;text-align:center}
.pagination .nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.pagination .page-numbers{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--border);transition:border-color .25s}
.pagination .page-numbers:hover,.pagination .current{border-color:var(--accent)}

/* Single + page */
.entry{max-width:720px;margin:0 auto;padding:56px 24px 96px}
.entry-head{text-align:center;margin-bottom:40px}
.entry-head .tag{margin-bottom:20px}
.entry-head .meta{margin-top:20px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
.entry-hero{margin:0 -24px 48px}
.entry-hero img{display:block;width:100%;height:auto}
.entry-content{font-size:17px;line-height:1.85}
.entry-content>*+*{margin-top:1.4em}
.entry-content h2{margin-top:2em;font-weight:600}
.entry-content h3{margin-top:1.8em;font-weight:600}
.entry-content a{border-bottom:1px solid var(--text);transition:color .25s,border-color .25s}
.entry-content a:hover{color:var(--muted);border-color:var(--muted)}
.entry-content blockquote{margin-left:0;padding-left:24px;border-left:1px solid var(--text);font-family:var(--serif);font-size:24px;line-height:1.4;font-style:italic}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}
.entry-content figcaption,.wp-caption-text{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.entry-content .alignwide{margin-left:-80px;margin-right:-80px;max-width:none}
@media (max-width:900px){.entry-content .alignwide{margin-left:0;margin-right:0}}
.alignleft{float:left;margin:0 1.5em 1em 0}.alignright{float:right;margin:0 0 1em 1.5em}.aligncenter{display:block;margin-left:auto;margin-right:auto}

/* 404 */
.notfound{text-align:center;padding:120px 24px}
.notfound p{color:var(--muted);margin-top:16px}

/* Footer */
.site-footer{border-top:1px solid var(--border);text-align:center;padding:48px 24px}
.site-footer .logo{font-size:16px}
.site-footer p{margin-top:12px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
.screen-reader-text{position:absolute;left:-9999px}

/* ===== v2 additions ===== */
.hero{background-size:cover;background-position:center}
.site-header{position:sticky}
.site-header .custom-logo-link{display:inline-block}
.site-header .custom-logo{max-height:48px;width:auto}
.cart-link{position:absolute;right:24px;top:20px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400;color:var(--muted)}
.cart-link:hover{color:var(--text)}
.cart-count{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;background:var(--accent);color:var(--bg);border-radius:999px;font-size:11px;line-height:18px;text-align:center;letter-spacing:0}
@media (max-width:719px){.cart-link{right:14px;top:14px}}

/* Dropdown menus */
.nav-list li{position:relative}
.nav-list>li:first-child>a{color:var(--text)}
.nav-list .sub-menu li:first-child>a{color:var(--muted)}
.nav-list .sub-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:230px;margin:0;padding:12px 0;list-style:none;text-align:left;background:var(--bg);border:1px solid var(--border);opacity:0;visibility:hidden;transition:opacity .25s;z-index:40}
.nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu{opacity:1;visibility:visible}
.nav-list .sub-menu a{display:block;padding:7px 22px;border:0;white-space:nowrap}
.nav-list .sub-menu a:hover{color:var(--text);background:none}
@media (max-width:719px){.nav-list .sub-menu{display:none}}

/* Niche sections */
.niche .section-head{padding-bottom:48px}
.see-all{text-align:center;margin-top:56px}
.btn-outline{display:inline-block;padding:14px 36px;border:1px solid var(--text);border-radius:999px;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;font-weight:400;transition:background .3s,color .3s}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--text);color:var(--bg);outline:none}
.subcats{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;margin-top:28px}
.subcats a{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.subcats a:hover{color:var(--text);border-color:var(--text)}
@media (min-width:1180px){.grid.three{grid-template-columns:repeat(3,1fr)}}

/* Newsletter + footer */
.newsletter{background:var(--img-a);text-align:center;padding:80px 24px}
.newsletter h2{margin:12px 0 14px}
.newsletter p{color:var(--muted);max-width:44ch;margin:0 auto}
.nl-form{max-width:460px;margin:32px auto 0}
.nl-form form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.nl-form input[type=email],.nl-form input[type=text]{flex:1 1 220px;padding:14px 18px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:999px}
.nl-form input[type=submit],.nl-form button{padding:14px 32px;border:0;border-radius:999px;background:#000;color:#fff;font:inherit;font-size:12px;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer}
.footer-list{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:24px 0 0;padding:0}
.footer-list a{font-size:12px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
.footer-list a:hover{color:var(--text)}
.site-footer address{margin-top:20px;font-style:normal;font-size:13px;color:var(--muted)}

/* WooCommerce */
.woo-wrap{max-width:1100px}
.woocommerce-cart .entry,.woocommerce-checkout .entry,.woocommerce-account .entry{max-width:1000px}
.woocommerce h1.page-title,.woocommerce .product_title{font-family:var(--serif);font-size:var(--h1);font-weight:500}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 28px;list-style:none;padding:0;margin:0}
@media (min-width:1000px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:20px;font-weight:600;margin-top:14px}
.woocommerce .price{color:var(--muted)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:#000;color:#fff;border-radius:999px;padding:14px 32px;font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:0.15em;text-transform:uppercase}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:#2B2F3E;color:#fff}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{border:1px solid var(--border);background:var(--bg);color:var(--text);padding:12px 14px;font:inherit}
.woocommerce table.shop_table{border:0;border-collapse:collapse}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--border)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--accent);background:var(--img-a);color:var(--text)}

/* Bold colorful image fallbacks (a Featured Image covers these) */
.grid .card:nth-child(4n+1) .thumb{background:radial-gradient(circle at 70% 26%,#FFE08A 0 17%,transparent 18%),radial-gradient(circle at 20% 108%,rgba(255,255,255,.28) 0 42%,transparent 43%),linear-gradient(160deg,#FF9966,#FF5E62 52%,#C2185B)}
.grid .card:nth-child(4n+2) .thumb{background:radial-gradient(circle at 30% 24%,#FFF3B0 0 15%,transparent 16%),radial-gradient(circle at 85% 105%,rgba(255,255,255,.26) 0 40%,transparent 41%),linear-gradient(160deg,#C6F26B,#2BB673 52%,#0B7A75)}
.grid .card:nth-child(4n+3) .thumb{background:radial-gradient(circle at 28% 28%,#FFFFFF 0 14%,transparent 15%),radial-gradient(circle at 80% 108%,rgba(255,255,255,.26) 0 44%,transparent 45%),linear-gradient(160deg,#FFE259,#FFA751 48%,#FF3D7F)}
.grid .card:nth-child(4n+4) .thumb{background:radial-gradient(circle at 68% 30%,#FFFFFF 0 13%,transparent 14%),radial-gradient(circle at 15% 106%,rgba(255,255,255,.24) 0 42%,transparent 43%),linear-gradient(160deg,#5EE7DF,#3A7BD5 50%,#1B2B6B)}
