/*
Theme Name: Plant Thirst Floral
Theme URI: https://plantthirstfloral.com
Author: Plant Thirst Floral Ltd.
Description: Official WordPress theme for Plant Thirst Floral Ltd. All default images are embedded — pages look exactly right on day one. Full Customizer controls let you swap images, colours, text and contact details without touching code. Built for Elementor Free + WooCommerce.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: Proprietary
Text Domain: plantthirst
Tags: e-commerce, elementor, woocommerce, floral, tropical, custom-colors, custom-logo, custom-menu
*/

/* ── CSS variables (overridden live by Customizer JS) ── */
:root {
  --pt-green:        #2E8B3A;
  --pt-green-l:      #4CAF50;
  --pt-green-pale:   #E8F5E9;
  --pt-amber:        #B8860B;
  --pt-amber-l:      #D4A017;
  --pt-cream:        #FDF8F0;
  --pt-white:        #FFFEF9;
  --pt-dark:         #1A2E1C;
  --pt-text:         #2A2A2A;
  --pt-mid:          #555555;
  --pt-soft:         #888888;
  --pt-border:       rgba(46,139,58,0.15);
  --pt-shadow:       0 8px 40px rgba(46,139,58,0.12);
  --pt-r-sm:         12px;
  --pt-r-md:         24px;
  --pt-r-lg:         40px;
  --pt-display:      'Fraunces', Georgia, serif;
  --pt-body:         'DM Sans', sans-serif;
  --pt-nav-h:        72px;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--pt-body);background:var(--pt-white);color:var(--pt-text);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{text-decoration:none;color:inherit;transition:color .2s;}
button,input,select,textarea{font-family:var(--pt-body);font-size:inherit;}
button{cursor:pointer;border:none;background:none;}
ul,ol{list-style:none;}
h1,h2,h3,h4,h5,h6{font-family:var(--pt-display);font-weight:400;line-height:1.15;color:var(--pt-text);}
p{color:var(--pt-mid);line-height:1.75;}
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--pt-cream);}
::-webkit-scrollbar-thumb{background:var(--pt-green);border-radius:3px;}

/* ── Utilities ── */
.pt-wrap{max-width:1180px;margin:0 auto;padding:0 2rem;}
.pt-label{display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--pt-amber);background:rgba(184,134,11,.1);padding:6px 16px;border-radius:100px;margin-bottom:1.2rem;}
.pt-section{padding:6rem 0;}
.pt-cream{background:var(--pt-cream);}
.pt-white{background:var(--pt-white);}
.pt-green-bg{background:var(--pt-green);}
.pt-dark-bg{background:var(--pt-dark);}

/* ── Buttons ── */
.pt-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:100px;font-size:.9rem;font-weight:500;letter-spacing:.02em;transition:all .28s cubic-bezier(.34,1.56,.64,1);cursor:pointer;border:2px solid transparent;font-family:var(--pt-body);}
.pt-btn-green{background:var(--pt-green);color:#fff;border-color:var(--pt-green);}
.pt-btn-green:hover{background:var(--pt-green-l);border-color:var(--pt-green-l);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(46,139,58,.35);}
.pt-btn-outline{background:transparent;color:var(--pt-green);border-color:var(--pt-green);}
.pt-btn-outline:hover{background:var(--pt-green);color:#fff;transform:translateY(-2px);}
.pt-btn-amber{background:var(--pt-amber);color:#fff;border-color:var(--pt-amber);}
.pt-btn-amber:hover{background:var(--pt-amber-l);color:#fff;transform:translateY(-2px);}
.pt-btn-white{background:#fff;color:var(--pt-green);border-color:#fff;}
.pt-btn-white:hover{background:var(--pt-cream);transform:translateY(-2px);}

/* ── Navbar ── */
#pt-nav{position:fixed;top:0;left:0;right:0;height:var(--pt-nav-h);z-index:9999;transition:background .3s,box-shadow .3s;padding:0 2rem;}
#pt-nav.scrolled{background:rgba(255,254,249,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 20px rgba(0,0,0,.08);}
.pt-nav-inner{max-width:1180px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;}
.pt-nav-logo img,.pt-nav-logo .custom-logo{height:42px;width:auto;}
.pt-nav-logo .site-title{font-family:var(--pt-display);font-size:1.4rem;color:var(--pt-green);}
.pt-nav-menu{display:flex;align-items:center;gap:.25rem;}
.pt-nav-menu li{position:relative;}
.pt-nav-menu li a{display:block;font-size:.88rem;color:var(--pt-mid);padding:8px 14px;border-radius:100px;transition:all .2s;white-space:nowrap;}
.pt-nav-menu li a:hover,.pt-nav-menu li.current-menu-item>a,.pt-nav-menu li.current_page_item>a{color:var(--pt-green);background:var(--pt-green-pale);}
.pt-nav-menu li.menu-cta>a{background:var(--pt-green);color:#fff!important;font-weight:500;}
.pt-nav-menu li.menu-cta>a:hover{background:var(--pt-green-l)!important;}
.pt-nav-menu .sub-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:var(--pt-r-sm);box-shadow:0 8px 32px rgba(0,0,0,.12);min-width:200px;padding:.5rem;flex-direction:column;}
.pt-nav-menu li:hover>.sub-menu{display:flex;}
.pt-nav-menu .sub-menu li a{border-radius:8px;padding:8px 14px;font-size:.85rem;width:100%;}
.pt-ham{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;}
.pt-ham span{display:block;width:24px;height:2px;background:var(--pt-green);border-radius:2px;transition:all .3s;}
.pt-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.pt-ham.open span:nth-child(2){opacity:0;}
.pt-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.pt-nav-cart{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:100px;color:var(--pt-mid);font-size:.88rem;transition:all .2s;}
.pt-nav-cart:hover{background:var(--pt-green-pale);color:var(--pt-green);}
.pt-cart-badge{background:var(--pt-green);color:#fff;border-radius:100px;padding:1px 7px;font-size:.72rem;font-weight:600;min-width:20px;text-align:center;}
@media(max-width:900px){
  .pt-nav-menu{display:none;position:fixed;top:var(--pt-nav-h);left:0;right:0;background:var(--pt-white);flex-direction:column;align-items:flex-start;padding:1.5rem;box-shadow:0 8px 32px rgba(0,0,0,.1);gap:.25rem;z-index:9998;max-height:calc(100vh - var(--pt-nav-h));overflow-y:auto;}
  .pt-nav-menu.open{display:flex;}
  .pt-ham{display:flex;}
  .pt-nav-menu li,.pt-nav-menu li a{width:100%;}
  .pt-nav-menu .sub-menu{position:static;box-shadow:none;padding-left:1rem;display:flex;}
}

/* ── Marquee ── */
.pt-marquee{background:var(--pt-green);padding:14px 0;overflow:hidden;display:flex;}
.pt-mq-track{display:flex;animation:pt-mq 28s linear infinite;white-space:nowrap;}
.pt-mq-item{display:inline-flex;align-items:center;gap:16px;padding:0 32px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.9);}
.pt-mq-dot{width:5px;height:5px;background:rgba(255,255,255,.4);border-radius:50%;flex-shrink:0;}
@keyframes pt-mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── Newsletter ── */
.pt-nl{background:var(--pt-green);padding:5rem 0;}
.pt-nl-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;}
.pt-nl-text h2{font-family:var(--pt-display);font-size:clamp(1.8rem,3vw,2.4rem);color:#fff;font-weight:300;margin-bottom:.5rem;}
.pt-nl-text p{color:rgba(255,255,255,.8);}
.pt-nl-form{display:flex;gap:.75rem;flex-wrap:wrap;flex:1;max-width:460px;}
.pt-nl-form input[type=email]{flex:1;min-width:200px;padding:13px 20px;border-radius:100px;border:none;background:rgba(255,255,255,.18);color:#fff;font-size:.9rem;outline:none;font-family:var(--pt-body);}
.pt-nl-form input::placeholder{color:rgba(255,255,255,.6);}
.pt-nl-form input:focus{background:rgba(255,255,255,.28);}
.pt-nl-form button{padding:13px 26px;border-radius:100px;background:#fff;color:var(--pt-green);font-weight:600;font-size:.9rem;border:none;cursor:pointer;white-space:nowrap;transition:all .25s;font-family:var(--pt-body);}
.pt-nl-form button:hover{background:var(--pt-cream);}

/* ── Footer ── */
.pt-footer{background:var(--pt-dark);color:rgba(255,255,255,.75);padding:4rem 0 2rem;}
.pt-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
.pt-footer-brand img,.pt-footer-brand .custom-logo{height:36px;width:auto;margin-bottom:1.2rem;filter:brightness(0) invert(1);}
.pt-footer-brand .site-title{font-family:var(--pt-display);font-size:1.3rem;color:#fff;margin-bottom:1rem;display:block;}
.pt-footer-brand p{font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.6);margin-bottom:1.5rem;}
.pt-socials{display:flex;gap:.75rem;flex-wrap:wrap;}
.pt-social{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:all .25s;}
.pt-social svg{width:16px;height:16px;fill:rgba(255,255,255,.8);}
.pt-social:hover{background:var(--pt-green);transform:translateY(-3px);}
.pt-fcol h4{color:#fff;font-family:var(--pt-body);font-size:.9rem;font-weight:600;margin-bottom:1.2rem;letter-spacing:.05em;}
.pt-fcol ul{display:flex;flex-direction:column;gap:.6rem;}
.pt-fcol ul li a,.pt-fcol .menu li a{font-size:.85rem;color:rgba(255,255,255,.6);transition:color .2s;}
.pt-fcol ul li a:hover,.pt-fcol .menu li a:hover{color:var(--pt-green-l);}
.pt-foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.pt-foot-bottom p,.pt-foot-bottom span{font-size:.8rem;color:rgba(255,255,255,.4);}
.pt-foot-tag{font-family:var(--pt-display);font-style:italic;}
@media(max-width:900px){.pt-footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.pt-footer-grid{grid-template-columns:1fr;gap:2rem;}}

/* ── Page Hero (inner pages) ── */
.pt-page-hero{background:var(--pt-cream);padding:9rem 0 5rem;text-align:center;position:relative;overflow:hidden;}
.pt-page-hero h1{font-size:clamp(2.2rem,4vw,3.5rem);margin-bottom:1rem;max-width:640px;margin-left:auto;margin-right:auto;}
.pt-page-hero p{color:var(--pt-mid);max-width:580px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.75;}

/* ── Toast ── */
.pt-toast{position:fixed;bottom:2rem;right:2rem;background:var(--pt-green);color:#fff;padding:14px 24px;border-radius:100px;font-size:.9rem;font-weight:500;z-index:99999;transform:translateY(100px);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 8px 32px rgba(46,139,58,.4);}
.pt-toast.show{transform:none;opacity:1;}

/* ── Animations ── */
.pt-fade{opacity:0;transform:translateY(24px);animation:pt-fade .7s ease forwards;}
.pt-d1{animation-delay:.1s;}.pt-d2{animation-delay:.2s;}.pt-d3{animation-delay:.3s;}.pt-d4{animation-delay:.4s;}
@keyframes pt-fade{to{opacity:1;transform:none;}}
@keyframes pt-ring{to{transform:translate(-50%,-50%) rotate(360deg);}}

/* ── WooCommerce core overrides ── */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--pt-green)!important;color:#fff!important;border-radius:100px!important;padding:12px 24px!important;font-size:.9rem!important;font-weight:500!important;font-family:var(--pt-body)!important;border:none!important;transition:all .25s!important;cursor:pointer!important;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--pt-green-l)!important;color:#fff!important;transform:translateY(-2px)!important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1.5px solid var(--pt-border)!important;border-radius:var(--pt-r-sm)!important;padding:12px 16px!important;font-family:var(--pt-body)!important;font-size:.9rem!important;outline:none!important;width:100%!important;background:var(--pt-white)!important;}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--pt-green)!important;box-shadow:0 0 0 3px rgba(46,139,58,.1)!important;}
.woocommerce-message,.woocommerce-info{background:var(--pt-green-pale)!important;color:var(--pt-green)!important;border-top-color:var(--pt-green)!important;}
.woocommerce-error{background:#fef2f2!important;color:#dc2626!important;border-top-color:#dc2626!important;}
.woocommerce ul.products li.product{background:var(--pt-white);border-radius:var(--pt-r-md);overflow:hidden;border:1.5px solid var(--pt-border);transition:all .3s cubic-bezier(.34,1.56,.64,1);padding:0!important;}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--pt-shadow);border-color:rgba(46,139,58,.3);}
.woocommerce ul.products li.product a img{width:100%;height:260px;object-fit:cover;transition:transform .4s;}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--pt-display)!important;font-size:1.05rem!important;font-weight:400!important;padding:1rem 1.25rem .25rem!important;}
.woocommerce ul.products li.product .price{padding:0 1.25rem!important;color:var(--pt-green)!important;font-weight:600!important;}
.woocommerce ul.products li.product .button{margin:.75rem 1.25rem 1.25rem!important;display:block!important;text-align:center!important;}
.woocommerce span.onsale{background:var(--pt-amber)!important;border-radius:100px!important;font-size:.7rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.1em!important;min-height:unset!important;min-width:unset!important;padding:5px 12px!important;line-height:1.4!important;}
/* Cart / Checkout / Account */
.woocommerce table.shop_table{border:none!important;width:100%;border-collapse:collapse;}
.woocommerce table.shop_table th{font-size:.78rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--pt-soft)!important;font-weight:500!important;padding:.75rem 1rem!important;border-bottom:2px solid var(--pt-border)!important;background:transparent!important;}
.woocommerce table.shop_table td{padding:1.25rem 1rem!important;border-bottom:1px solid var(--pt-border)!important;vertical-align:middle!important;font-size:.9rem!important;}
.woocommerce table.shop_table .product-thumbnail img{width:72px!important;height:72px!important;object-fit:cover!important;border-radius:var(--pt-r-sm)!important;}
.woocommerce table.shop_table .product-name a{font-family:var(--pt-display)!important;font-size:1rem!important;font-weight:400!important;}
.woocommerce table.shop_table .product-price,.woocommerce table.shop_table .product-subtotal{color:var(--pt-green)!important;font-weight:600!important;}
.woocommerce a.remove{color:var(--pt-soft)!important;font-size:1.2rem!important;}
.woocommerce a.remove:hover{color:#dc2626!important;}
.woocommerce .cart_totals,.woocommerce-cart .cart_totals{background:var(--pt-cream)!important;border-radius:var(--pt-r-md)!important;padding:2rem!important;border:1.5px solid var(--pt-border)!important;}
.woocommerce .cart_totals h2{font-size:1.3rem!important;margin-bottom:1.5rem!important;padding-bottom:1rem!important;border-bottom:1px solid var(--pt-border)!important;}
.woocommerce-checkout-review-order{background:var(--pt-cream)!important;border-radius:var(--pt-r-md)!important;padding:2rem!important;border:1.5px solid var(--pt-border)!important;}
.woocommerce-MyAccount-navigation{background:var(--pt-cream);border-radius:var(--pt-r-md);padding:1.5rem;border:1.5px solid var(--pt-border);}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:10px 14px;border-radius:var(--pt-r-sm);font-size:.88rem;color:var(--pt-mid);transition:all .2s;}
.woocommerce-MyAccount-navigation ul li a:hover,.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--pt-green);color:#fff;}
.woocommerce-breadcrumb{font-size:.82rem;color:var(--pt-soft);margin-bottom:2rem;padding:1rem 0 0;}
.woocommerce-breadcrumb a{color:var(--pt-green);}
/* Elementor compat */
body.elementor-editor-active #pt-nav{z-index:999!important;}
@media(max-width:600px){.pt-section{padding:4rem 0;}.pt-nl-inner{flex-direction:column;}.pt-nl-form{max-width:100%;}}
