/*
Theme Name: Midnight Dream
Author: Indica Dream
Description: A mobile-first Indica Dream storefront for WooCommerce and Printful merchandise.
Version: 1.0.1
Requires at least: 6.5
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: midnight-dream
*/
:root{--bg:#141416;--panel:#202023;--ink:#f5f1e9;--muted:#b8b5bf;--line:#3d3a43;--accent:#20e51b;--dark:#10230e;--radius:2px;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08}h1,h2{letter-spacing:-.045em}p{margin-bottom:1rem}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.announcement{background:var(--accent);color:#10230e;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.16em;padding:9px 16px}.announcement span{padding:0 20px}.site-header{min-height:100px;display:flex;align-items:center;gap:40px;position:relative;z-index:20}.brand{margin-right:auto}.brand>a{font-size:1.85rem;font-weight:800;letter-spacing:-.08em;display:flex;align-items:center;line-height:1}.brand span{font-weight:400}.brand i{font-style:normal;font-size:2.1rem;color:var(--accent);margin-left:10px}.custom-logo{max-height:60px;width:auto}.site-header nav ul,.site-footer nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px;align-items:center}.site-header nav a,.bag{font-size:.875rem;display:inline-flex;align-items:center;min-height:44px}.bag{border:1px solid var(--line);padding:0 17px;gap:20px}.menu-toggle{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);min-height:44px;padding:8px 12px}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:610px;padding:35px 0 65px;align-items:center;gap:42px}.hero-copy{padding:18px 0}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.17em;margin-bottom:22px;color:var(--muted)}.hero .eyebrow{display:flex;gap:12px;align-items:center;color:var(--ink)}.tiny-star{color:var(--accent);font-size:1.7rem;line-height:1}.hero h1{font-size:clamp(3.5rem,6.3vw,6.5rem);font-weight:500;max-width:650px;line-height:1.01;margin-bottom:27px}.intro{max-width:370px;color:var(--muted);font-size:1rem;line-height:1.7;margin-bottom:30px}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;justify-content:center;align-items:center;gap:30px;border-radius:var(--radius);background:var(--accent);color:var(--dark);font-weight:700;font-size:.875rem;padding:17px 24px;min-height:48px;border:1px solid transparent;line-height:1.3}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:#8fff75;color:#10230e}.hero-note{display:flex;align-items:center;gap:18px;margin-top:48px;font-size:.6875rem;letter-spacing:.14em;line-height:1.6;color:var(--muted)}.orbit{font-size:3rem;line-height:1;color:var(--accent)}.hero-art{position:relative;align-self:stretch;min-height:520px;overflow:hidden;background:#29212e}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:64% center}.hero-art:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#100d18c9);pointer-events:none}.hero-art figcaption{position:absolute;bottom:25px;left:25px;right:25px;z-index:1;display:flex;justify-content:space-between;gap:16px;font-size:.625rem;letter-spacing:.16em}.statement{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:42px;padding:19px 20px;font-size:.875rem;font-weight:600;letter-spacing:.12em;text-align:center}.statement span{font-size:1.75rem;line-height:1;color:var(--accent)}.collection{padding:75px 0 80px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:12px}h2{font-size:clamp(2rem,3.2vw,3rem);font-weight:500}.text-link{font-size:.875rem;display:inline-flex;align-items:center;gap:20px;min-height:44px;border-bottom:1px solid var(--muted)}.empty-collection{padding:48px 30px;border:1px solid var(--line);background:var(--panel)}.empty-collection h3{font-size:1.6rem;margin-bottom:12px}.empty-collection p{color:var(--muted);margin:0}.story{padding:58px 0 66px;border-top:1px solid var(--line)}.story-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.story h2{font-size:clamp(2.5rem,4vw,4rem)}.story em{font-style:normal;color:var(--accent)}.story-grid p{color:var(--muted);max-width:430px}.site-footer{border-top:1px solid var(--line);padding-top:45px;padding-bottom:24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:38px}.footer-brand{font-size:2.1rem;letter-spacing:-.07em;font-weight:700}.footer-brand span{color:var(--accent);margin-left:14px}.footer-top p{color:var(--muted);font-size:.875rem;margin:0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.8125rem;color:var(--muted)}.footer-bottom a{display:inline-block;padding:8px 0}.skip-link{position:absolute;left:20px;top:-100px;z-index:999;background:var(--ink);color:var(--bg);padding:16px}.skip-link:focus{top:10px}.store-main{padding-top:45px;padding-bottom:80px;min-height:55vh}.store-main h1{font-size:clamp(2.3rem,5vw,4rem);margin-bottom:30px}.store-main h2,.store-main h3{margin:24px 0 16px}.store-main p{max-width:75ch}.home-extra{padding-block:30px}.journal-entry{padding-bottom:45px}input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea{background:#fff;color:#24212a;border:1px solid #aaa3b1;border-radius:2px;min-height:46px;padding:10px;max-width:100%}input[type=checkbox],input[type=radio]{accent-color:#20a51b}label{font-size:.9375rem}.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb a,.woocommerce .woocommerce-result-count{color:var(--muted)}.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:100%;margin:0;min-width:0}.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:contain;background:var(--panel);margin:0 0 16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.05rem;letter-spacing:0;font-weight:500;padding:0 0 10px}.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--accent)}.woocommerce ul.products li.product .button{margin-top:12px}.woocommerce span.onsale{background:var(--accent);color:var(--dark);padding:5px 12px;min-height:0;line-height:1.8;border-radius:2px}.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,3.5rem)}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel);border-color:var(--line)}.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--ink)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--bg);color:var(--ink)}.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{border-color:var(--line)}.woocommerce div.product form.cart .variations label{color:var(--ink)}.woocommerce div.product form.cart .variations select{min-width:65%}.woocommerce .quantity .qty{min-width:70px}.woocommerce div.product form.cart .button{background:var(--accent);color:var(--dark)}.woocommerce .product_meta{font-size:.875rem;color:var(--muted)}.woocommerce .product_meta>span{display:block}.woocommerce table.shop_table{border-color:var(--line)}.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--line);padding:14px}.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{background:var(--panel);color:var(--ink);border-top-color:var(--accent)}.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--accent)}.woocommerce #payment{background:var(--panel)}.woocommerce #payment div.payment_box{background:#38343e;color:var(--ink)}.woocommerce #payment div.payment_box::before{border-bottom-color:#38343e}.woocommerce form .form-row .required{color:#9cf296}.woocommerce a.remove{color:#f8a9b3!important}.woocommerce table.shop_table_responsive tr td::before{color:var(--ink)}.woocommerce .star-rating{color:var(--accent)}.woocommerce .related{clear:both;padding-top:36px}.wc-block-components-button:not(.is-link){background:var(--accent)!important;color:var(--dark)!important;border-radius:2px!important}.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control__input{background:white!important;color:#24212a!important}.wc-block-components-text-input label{color:#51475e!important}.wc-block-components-totals-wrapper,.wc-block-cart-items{border-color:var(--line)!important}.woocommerce .select2-container .select2-selection--single{background:white;color:#24212a;min-height:46px}.select2-dropdown{background:white;color:#24212a}.woocommerce table.shop_table_responsive tr:nth-child(2n) td{background:#ffffff05}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent);color:var(--dark)}.woocommerce button.button:disabled{opacity:.5}
@media(min-width:761px){.site-header nav ul ul{display:none;position:absolute;background:var(--panel);padding:16px;min-width:180px}.site-header nav li:hover>ul,.site-header nav li:focus-within>ul{display:block}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:25px;min-height:520px}.hero h1{font-size:4.3rem}.hero-art{min-height:470px}.story-grid{gap:40px}.statement{gap:22px;font-size:.75rem}.site-header{gap:25px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.announcement{font-size:.625rem;letter-spacing:.1em}.announcement span{padding:0 8px}.site-header{min-height:80px;gap:12px;flex-wrap:wrap}.brand>a{font-size:1.6rem}.brand i{font-size:1.7rem}.bag{padding:0 12px;gap:10px}.menu-toggle:not([hidden]){display:block;font-size:.8125rem}.menu-toggle span{margin-left:5px}#primary-nav{width:100%;order:4}.js #primary-nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;width:auto;background:var(--bg);border-bottom:1px solid var(--line);padding:16px 20px}.js #primary-nav.is-open{display:block}.site-header nav ul{align-items:stretch;flex-direction:column;gap:0}.site-header nav ul ul{padding-left:20px}.site-header nav a{padding:8px 0;display:block}.hero{display:flex;flex-direction:column;gap:24px;padding:32px 0 35px;align-items:stretch}.hero-copy{padding:0}.hero h1{font-size:clamp(3.4rem,14vw,5.5rem);max-width:560px;margin-bottom:22px}.hero .eyebrow{margin-bottom:20px;font-size:.6875rem}.intro{max-width:440px}.hero-note{display:none}.hero-art{min-height:390px}.hero-art figcaption{left:18px;right:18px;font-size:.5625rem}.statement{padding:16px 20px;gap:16px;flex-wrap:wrap;font-size:.625rem}.statement span{font-size:1.25rem}.collection{padding:45px 0}.section-heading{align-items:start;gap:16px}.section-heading h2{font-size:2rem;max-width:240px}.section-heading .text-link{white-space:nowrap;font-size:.8125rem}.woocommerce ul.products{gap:24px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem}.woocommerce ul.products li.product .button{padding:12px;font-size:.8125rem;min-height:44px}.story{padding:38px 0 42px}.story-grid{grid-template-columns:1fr;gap:24px}.story h2{font-size:2.65rem}.footer-top{display:block;padding-bottom:28px}.footer-top p{margin-top:8px}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:10px 24px}.site-footer nav ul{flex-wrap:wrap;gap:12px}.store-main{padding-top:30px}.woocommerce table.shop_table_responsive tr td{overflow-wrap:anywhere}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;margin-bottom:20px}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}}
@media(max-width:420px){.site-header{gap:8px}.brand>a{font-size:1.3rem}.brand i{font-size:1.4rem;margin-left:6px}.menu-toggle{padding:8px}.menu-toggle span{margin-left:2px}.bag{padding:0 9px;gap:6px}.hero-art figcaption{font-size:.65rem;letter-spacing:.08em}.announcement{line-height:1.5}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button,a,button{transition:background-color .15s,color .15s}.hero-art img{animation:reveal .9s ease-out}@keyframes reveal{from{opacity:.3;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}}

/* Supplied Indica Dream identity */
.brand>a,.footer-brand{display:flex;align-items:center;gap:12px;letter-spacing:0}.brand-icon{width:62px;height:54px;object-fit:contain;flex-shrink:0}.brand .brand-name,.footer-brand .brand-name{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.03;letter-spacing:.06em;color:var(--ink);margin:0}.footer-brand .brand-icon{width:72px;height:62px}.footer-brand .brand-name{font-size:1.5rem}.announcement{color:#10230e}.instagram-link{color:var(--accent);font-weight:600}@media(max-width:420px){.brand>a{gap:6px}.brand .brand-icon{width:38px;height:38px}.brand .brand-name{font-size:.9rem;letter-spacing:.02em}}

.hero-art img{object-position:center 8%}

/* Featured product carousel */
.campaign-slider{min-width:0;align-self:center}.campaign-stage{position:relative;background:#202023;touch-action:pan-y pinch-zoom}.campaign-slide{position:relative;margin:0}.campaign-slide[hidden],.slider-controls[hidden]{display:none!important}.campaign-slide>img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}.campaign-caption{padding:20px;background:#202023;border:1px solid var(--line);border-top:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.campaign-caption .eyebrow{font-size:.6875rem;margin-bottom:8px;letter-spacing:.1em}.campaign-caption h2{font-size:1.35rem;line-height:1.2;letter-spacing:-.02em}.campaign-caption .button{padding:12px 16px;gap:12px;white-space:nowrap}.slider-controls{display:flex;align-items:center;justify-content:space-between;padding-top:12px;gap:12px}.slider-arrow,.slider-dot{min-width:44px;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--ink)}.slider-arrow:hover,.slider-dot:hover{border-color:var(--accent)}.slider-dots{display:flex;gap:8px}.slider-dot{font-size:.75rem;letter-spacing:.08em}.slider-dot[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hero{grid-template-columns:.9fr 1.1fr}.hero h1{max-width:560px}@media(max-width:1000px){.campaign-caption{align-items:flex-start;flex-direction:column}.campaign-caption h2{font-size:1.3rem}}@media(max-width:760px){.campaign-slider{width:100%}.campaign-caption{padding:18px}.campaign-caption .button{width:100%;justify-content:space-between}.campaign-slide>img{aspect-ratio:1/1}.hero{gap:30px}}
