/*
Theme Name: Flavors Master
Theme URI: https://flavorsmaster.com
Author: Flavors Master Theme Studio
Author URI: https://flavorsmaster.com
Description: Modern, high-converting WooCommerce-ready WordPress theme template for Flavors Master. Features custom bundle builder, interactive flavor quiz, slide-out drawer cart, Pakistan Cash on Delivery support, and UK dietary wellness styling.
Version: 1.0.2
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flavors-master
Tags: e-commerce, custom-colors, custom-menu, featured-images, flexible-header, footer-widgets, full-width-template, theme-options, translation-ready, woocommerce
*/

:root {
  --fm-primary: #064E3B;
  --fm-primary-dark: #043327;
  --fm-accent: #F59E0B;
  --fm-accent-light: #FDE68A;
  --fm-bg-light: #F8FAF9;
  --fm-text: #1A2E26;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  background-color: var(--fm-bg-light);
  color: var(--fm-text);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .font-heading {
  font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif;
}

/* Custom WooCommerce Overrides */
.woocommerce ul.products li.product {
  border-radius: 1.5rem;
  background: #ffffff;
  padding: 1.25rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.fm-wc-btn .button {
  background-color: var(--fm-accent) !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  border-radius: 0.75rem !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.05em !important;
  padding: 0.65rem 1.25rem !important;
  border: none !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.fm-wc-btn .button:hover {
  background-color: #fbbf24 !important;
}


/* Flavors Master homepage carousel */
.fm-home-slider{position:relative;overflow:hidden;background:#043327;color:#fff;isolation:isolate}
.fm-slider-track{position:relative;min-height:440px}
.fm-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;padding:56px max(7vw,24px) 76px;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .55s ease,transform .55s ease,visibility .55s;overflow:hidden}
.fm-slide.is-active{position:relative;opacity:1;visibility:visible;transform:translateX(0)}
.fm-slide-glow{background:radial-gradient(ellipse at 78% 45%,#176b50 0,transparent 42%),linear-gradient(115deg,#032b21,#07513b 65%,#0d6848)}
.fm-slide-bundle{background:radial-gradient(ellipse at 75% 45%,#a84b30 0,transparent 42%),linear-gradient(115deg,#421d22,#783d31 65%,#a75b36)}
.fm-slide-daily{background:radial-gradient(ellipse at 75% 45%,#286c72 0,transparent 42%),linear-gradient(115deg,#073d42,#0c6264 65%,#168078)}
.fm-slide-inner{position:relative;z-index:2;max-width:650px}
.fm-slide-kicker{display:inline-block;margin-bottom:17px;color:#fbd38d;font-size:11px;font-weight:900;letter-spacing:.17em}
.fm-slide h1,.fm-slide h2{margin:0 0 18px;color:#fff;font-size:clamp(34px,4.2vw,60px);font-weight:900;line-height:1.06;letter-spacing:-.04em}
.fm-slide h1 span,.fm-slide h2 span{color:#f8c65e}
.fm-slide p{max-width:530px;margin:0 0 27px;color:#e0f2e9;font-size:clamp(15px,1.4vw,18px);line-height:1.7}
.fm-slide-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.fm-slide-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:999px;background:#fbbf24;color:#17231d!important;text-decoration:none!important;font-size:13px;font-weight:900;box-shadow:0 10px 24px #0002;transition:transform .2s,background .2s}
.fm-slide-button:hover{transform:translateY(-2px);background:#fcd34d}
.fm-slide-link{color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800}
.fm-slide-link:hover{text-decoration:underline!important}
.fm-slide-art{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center}
.fm-art-orbit{position:absolute;width:270px;height:270px;border:1px solid #ffffff3b;border-radius:50%;box-shadow:0 0 0 28px #ffffff08,0 0 0 58px #ffffff06}
.fm-art-bottle{z-index:1;width:150px;height:215px;border:5px solid #f8c65e;border-radius:23px 23px 30px 30px;background:linear-gradient(145deg,#fff3dc,#eab5a4 45%,#b83d55);box-shadow:20px 25px 45px #001b1570;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#174c37;transform:rotate(-5deg);text-align:center}
.fm-art-bottle:before{content:"";position:absolute;top:-24px;width:76px;height:28px;border-radius:9px 9px 3px 3px;background:#f8c65e;border:3px solid #f9dda0}
.fm-art-bottle span{font-size:12px;font-weight:1000;letter-spacing:.08em}.fm-art-bottle b{margin-top:15px;font-size:24px;letter-spacing:.06em}.fm-art-bottle small{font-size:8px;font-weight:900;letter-spacing:.1em}.fm-art-bottle i{margin-top:8px;font-style:normal;font-size:22px;color:#b83d55}
.fm-art-fruit{position:absolute;z-index:2;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#ffffffd9;font-size:36px;box-shadow:0 12px 28px #001b1535}.fm-fruit-one{top:15%;left:14%;transform:rotate(-14deg)}.fm-fruit-two{right:8%;top:30%;transform:rotate(12deg)}.fm-fruit-three{bottom:9%;left:19%;transform:rotate(8deg)}
.fm-bundle-orbit{position:absolute;width:275px;height:275px;border:1px dashed #ffffff75;border-radius:50%;display:grid;place-items:start center;padding-top:8px;font-size:26px;color:#ffe1a1}
.fm-mini-pack{position:absolute;z-index:1;width:105px;height:150px;border:3px solid #ffe1a1;border-radius:17px;background:linear-gradient(145deg,#fff1cf,#eea5a2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:36px;box-shadow:0 15px 35px #29100c55;color:#582e2a}.fm-mini-pack small{font-size:11px;font-weight:1000;letter-spacing:.1em}.pack-one{transform:translate(-70px,12px) rotate(-14deg)}.pack-two{transform:translate(0,-18px) rotate(2deg);background:linear-gradient(145deg,#fff4c9,#f2a73a)}.pack-three{transform:translate(70px,12px) rotate(14deg);background:linear-gradient(145deg,#eee2ff,#a38ad1)}
.fm-discount-burst{position:absolute;right:0;bottom:8%;z-index:2;display:grid;place-content:center;width:105px;height:105px;border-radius:50%;background:#fbbf24;color:#48221b;text-align:center;font-size:10px;font-weight:900;transform:rotate(9deg);box-shadow:0 8px 20px #30120d55}.fm-discount-burst strong{font-size:13px}
.fm-daily-sun{width:230px;height:230px;border-radius:50%;background:linear-gradient(145deg,#ffe5a3,#f9b44e);box-shadow:0 0 0 28px #ffffff0d,0 0 0 58px #ffffff08}
.fm-daily-fruit{position:absolute;z-index:1;display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#ffffffdc;font-size:46px;box-shadow:0 12px 30px #002b2c3d}.fruit-a{top:12%;left:15%}.fruit-b{right:8%;top:25%}.fruit-c{bottom:9%;left:29%}.fm-daily-sparkle{position:absolute;color:#ffe5a3;font-size:42px}.sparkle-a{top:10%;right:19%}.sparkle-b{bottom:15%;right:10%}
.fm-slider-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #ffffff66;border-radius:50%;background:#002d2370;color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background .2s}.fm-slider-arrow:hover{background:#fbbf24;color:#17352a}.fm-slider-prev{left:18px}.fm-slider-next{right:18px}.fm-slider-dots{position:absolute;z-index:5;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:9px}.fm-slider-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#ffffff75;cursor:pointer;transition:width .2s,background .2s}.fm-slider-dots button.is-active{width:26px;border-radius:99px;background:#fbbf24}
@media(max-width:760px){.fm-slider-track{min-height:650px}.fm-slide{grid-template-columns:1fr;gap:0;padding:42px 26px 72px;text-align:center}.fm-slide-inner{margin:auto}.fm-slide-kicker{font-size:10px}.fm-slide h1,.fm-slide h2{font-size:clamp(34px,9vw,48px)}.fm-slide p{margin-left:auto;margin-right:auto;font-size:15px}.fm-slide-actions{justify-content:center;gap:14px}.fm-slide-art{min-height:245px;margin-top:5px}.fm-art-orbit,.fm-bundle-orbit{width:205px;height:205px}.fm-art-bottle{transform:scale(.78) rotate(-5deg)}.fm-art-fruit{width:52px;height:52px;font-size:28px}.fm-mini-pack{transform-origin:center;scale:.78}.pack-one{transform:translate(-48px,12px) rotate(-14deg)}.pack-two{transform:translate(0,-10px) rotate(2deg)}.pack-three{transform:translate(48px,12px) rotate(14deg)}.fm-discount-burst{right:3%;bottom:0;scale:.8}.fm-daily-sun{width:175px;height:175px}.fm-daily-fruit{width:62px;height:62px;font-size:34px}.fm-slider-prev{left:8px}.fm-slider-next{right:8px}.fm-slider-arrow{width:34px;height:34px;font-size:25px}.fm-slider-dots{bottom:20px}}
@media(prefers-reduced-motion:reduce){.fm-slide,.fm-slider-arrow,.fm-slide-button,.fm-slider-dots button{transition:none}}


/* Product collection styled to match the clean, large-image reference layout */
.fm-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px;align-items:start}
.fm-product-item{position:relative;min-width:0;background:transparent;border:0;border-radius:0;padding:8px 8px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:none!important}
.fm-product-image{position:relative;display:flex;width:100%;height:410px;align-items:center;justify-content:center;background:#fff;overflow:hidden;text-decoration:none}
.fm-product-photo{display:block!important;width:100%!important;height:100%!important;max-height:100%;object-fit:contain!important;object-position:center center;mix-blend-mode:multiply;transition:transform .35s ease}
.fm-product-image:hover .fm-product-photo{transform:scale(1.035)}
.fm-product-sale{position:absolute;top:12px;left:12px;z-index:2;padding:4px 7px;background:#07821b;color:#fff;font-size:11px;line-height:1;font-weight:800}
.fm-product-title{width:100%;margin:18px 0 7px!important;font-size:14px!important;font-weight:700!important;line-height:1.45!important;color:#111827!important}
.fm-product-title a{color:inherit!important;text-decoration:none!important}
.fm-product-title a:hover{color:#087443!important}
.fm-product-price{margin:0 0 8px;color:#111!important;font-size:14px;font-weight:800;line-height:1.4}
.fm-product-price .price{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.fm-product-price del{color:#111!important;opacity:1!important;font-size:13px}
.fm-product-price ins{text-decoration:none!important;color:#07823b!important}
.fm-product-price .woocommerce-Price-amount{font-weight:800}
.fm-product-action{width:100%;max-width:240px;margin-top:8px}
.fm-product-action .button{width:100%!important}
.fm-product-placeholder{display:grid;place-items:center;width:100%;height:100%;background:#f7faf8;color:#0b7551;font-size:60px}
@media(max-width:900px){.fm-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.fm-product-image{height:340px}}
@media(max-width:560px){.fm-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.fm-product-item{padding:3px 2px 12px}.fm-product-image{height:230px}.fm-product-title{font-size:12px!important;margin-top:12px!important}.fm-product-price{font-size:12px}.fm-product-sale{top:8px;left:6px}}


/* Mobile-first navigation and Android touch usability */
.fm-mobile-menu-toggle{display:none;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 11px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#064e3b;font-size:14px;font-weight:800;cursor:pointer;touch-action:manipulation;}
.fm-mobile-menu-toggle:focus-visible,.fm-mobile-menu a:focus-visible{outline:3px solid #f59e0b;outline-offset:3px;}
.fm-mobile-menu[hidden]{display:none!important;}
.fm-mobile-menu{display:none;position:relative;z-index:1000;padding:8px 0 16px;border-top:1px solid #e2e8f0;background:#fff;}
.fm-mobile-menu:not([hidden]){display:block;}
.fm-mobile-menu>a,.fm-mobile-menu-list a{display:flex;align-items:center;min-height:46px;padding:12px 14px;color:#123d30;text-decoration:none;font-size:15px;font-weight:700;border-radius:10px;}
.fm-mobile-menu>a:hover,.fm-mobile-menu-list a:hover{background:#ecfdf5;}
.fm-mobile-menu-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;}
.fm-mobile-menu-list li{margin:0;padding:0;list-style:none;}
.fm-mobile-menu .fm-mobile-bundle-link{margin-top:6px;background:#fbbf24;color:#17231d;justify-content:center;}
.fm-mobile-menu .fm-mobile-contact{margin-top:8px;background:#ecfdf5;color:#065f46;justify-content:center;}
@media(max-width:1023px){
  header .max-w-7xl>div.h-20{height:auto;min-height:72px;gap:10px;padding-top:10px;padding-bottom:10px;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3{min-width:0;flex:1;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3>a{min-width:0;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .font-heading{font-size:clamp(14px,3.8vw,20px);white-space:nowrap;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 p{font-size:8px;}
  header nav.hidden.lg\:flex{display:none!important;}
  .fm-mobile-menu-toggle{display:inline-flex;flex-shrink:0;}
  header .max-w-7xl{padding-left:12px;padding-right:12px;}
}
@media(max-width:480px){
  header .max-w-7xl>div.h-20{gap:7px;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .w-10.h-10{width:34px;height:34px;flex-shrink:0;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .font-heading{font-size:13px;letter-spacing:-.04em;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .text-xl{font-size:16px;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .bg-emerald-100{font-size:8px;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 p{display:none;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3:nth-child(2) a[href*=wa]{display:none;}
  .fm-mobile-menu-toggle{padding:7px 9px;font-size:12px;}
}
@media(max-width:360px){
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .font-heading{font-size:11px;}
  header .max-w-7xl>div.h-20>.flex.items-center.gap-3 .w-10.h-10{width:30px;height:30px;}
  .fm-mobile-menu-toggle .fm-menu-label{display:none;}
}


/* Reliable full-width promotional image slider */
.fm-home-slider.fm-image-slider{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;background:#eaf7fb!important;line-height:0!important;isolation:isolate}
.fm-image-slider .fm-slider-track{position:relative!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1942/809!important}
.fm-image-slider .fm-slide{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0!important;visibility:hidden!important;transform:none!important;overflow:hidden!important;transition:opacity .4s ease,visibility .4s ease!important}
.fm-image-slider .fm-slide.is-active{position:absolute!important;inset:0!important;opacity:1!important;visibility:visible!important;z-index:2!important}
.fm-image-slider .fm-slide-image-link{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important;z-index:1!important;line-height:0!important}
.fm-image-slider img.fm-slide-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;margin:0!important;padding:0!important;border:0!important;opacity:1!important;visibility:visible!important;z-index:2!important}
.fm-image-slider .fm-slider-arrow{z-index:5!important}
.fm-image-slider .fm-slider-dots{z-index:6!important}
@media(max-width:760px){.fm-image-slider .fm-slider-track{aspect-ratio:1942/809!important;min-height:0!important}.fm-image-slider img.fm-slide-image{object-fit:cover!important}}
@media(prefers-reduced-motion:reduce){.fm-image-slider .fm-slide{transition:none!important}}
