/*
Theme Name: Strandzha Mān Honey
Theme URI: https://strandzha-man-honey.com
Author: Strandzha Mān Honey
Author URI: https://strandzha-man-honey.com
Description: A boutique online store theme for Strandzha Mān Honey - authentic honey from the heart of Strandzha mountain. Built for WooCommerce with Elementor and Polylang support.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: strandzha-honey
Domain Path: /languages
Tags: e-commerce, woocommerce, elementor, multilingual, boutique, honey

WooCommerce declares: woocommerce-support
*/

/* ==========================================================================
   CSS Custom Properties (Design Tokens from Figma)
   ========================================================================== */

:root {
    /* Primary Colors */
    --color-primary-dark: #114430;
    --color-primary: #1a4c38;
    --color-primary-light: #2e5642;
    --color-primary-lighter: #42644c;
    --color-primary-text: #17432d;

    /* Accent Colors */
    --color-accent: #c49b57;
    --color-accent-light: #ebd6a2;
    --color-accent-lighter: #ebd5a0;
    --color-accent-bg: #f9f3e4;
    --color-accent-bg-light: #fbf7ed;
    --color-accent-bg-warm: #f5eacf;
    --color-accent-bg-cream: #fcfaf3;

    /* Neutral Colors */
    --color-white: #ffffff;
    --color-border: #e0e1e2;
    --color-gray-100: #F2F4F7;

    /* Typography */
    --font-primary: 'Sofia Sans', sans-serif;
    --font-secondary: 'Manrope', sans-serif;
    --font-accent: 'Montaga', serif;

    /* Font Weights */
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-bold: 700;
    --fw-heavy: 800;

    /* Font Sizes */
    --fs-xs: 13px;
    --fs-sm: 14px;
    --fs-base: 15px;
    --fs-md: 16px;
    --fs-lg: 18px;
    --fs-xl: 21px;
    --fs-2xl: 24px;
    --fs-3xl: 30px;
    --fs-4xl: 36px;
    --fs-5xl: 48px;

    /* Line Heights */
    --lh-tight: 1.2;
    --lh-snug: 1.3;
    --lh-normal: 1.5;
    --lh-relaxed: 1.75;

    /* Spacing */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 12px;
    --space-base: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 48px;
    --space-3xl: 64px;
    --space-4xl: 72px;
    --space-5xl: 96px;

    /* Layout */
    --container-width: 1440px;
    --container-padding: 112px;
    --container-padding-sm: 110px;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-pill: 77px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-primary);
    font-weight: var(--fw-regular);
    font-size: var(--fs-md);
    line-height: var(--lh-normal);
    color: var(--color-primary-text);
    background-color: var(--color-white);
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease, opacity 0.3s ease;
}

a:hover {
    opacity: 0.8;
}

ul, ol {
    list-style: none;
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
    font-weight: var(--fw-heavy);
    color: var(--color-primary-light);
    font-feature-settings: 'dlig' 1;
}

h1 {
    font-size: var(--fs-5xl);
    line-height: 55px;
}

h2 {
    font-size: var(--fs-4xl);
    line-height: 44px;
}

h3 {
    font-size: var(--fs-3xl);
    line-height: 40px;
}

h4 {
    font-size: var(--fs-2xl);
    line-height: 32px;
}

h5 {
    font-size: var(--fs-xl);
    line-height: 30px;
}

p {
    margin-bottom: 0;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.smh-container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    width: 100%;
}

.smh-container--narrow {
    padding-left: var(--container-padding-sm);
    padding-right: var(--container-padding-sm);
}

/* ==========================================================================
   Top Bar (Announcement)
   ========================================================================== */

.smh-topbar {
    background: var(--color-white);
    border-bottom: 1px solid var(--color-accent-bg);
    padding: 12px 0;
    text-align: center;
    position: relative;
}

.smh-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.smh-topbar__text {
    font-family: var(--font-secondary);
    font-weight: var(--fw-medium);
    font-size: var(--fs-sm);
    color: var(--color-primary);
    line-height: 1.5;
}

.smh-topbar__link {
    font-family: var(--font-secondary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-xs);
    color: var(--color-primary);
    text-decoration: underline;
    line-height: 1.5;
}

.smh-topbar__close {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    opacity: 0.6;
    cursor: pointer;
}

/* ==========================================================================
   Header / Navigation
   ========================================================================== */

.smh-header {
    background: var(--color-white);
    padding: 16px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow 0.3s ease;
}

.smh-header--scrolled {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.smh-header--product {
    background: var(--color-accent-bg-light);
}

.smh-header__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 140px;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.smh-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}

.smh-nav__link {
    font-family: var(--font-primary);
    font-weight: var(--fw-regular);
    font-size: var(--fs-base);
    color: var(--color-primary-lighter);
    line-height: 22px;
    transition: color 0.3s ease;
}

.smh-nav__link:hover {
    color: var(--color-primary-dark);
    opacity: 1;
}

.smh-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.smh-logo__icon {
    width: 42px;
    height: 42px;
}

.smh-logo__text {
    width: 120px;
    height: auto;
}

.smh-header-actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.smh-lang-switcher {
    display: flex;
    align-items: center;
    gap: 2px;
    cursor: pointer;
}

.smh-lang-switcher__text {
    font-family: var(--font-primary);
    font-weight: var(--fw-regular);
    font-size: var(--fs-base);
    color: var(--color-primary-lighter);
    line-height: 22px;
}

.smh-lang-switcher__arrow {
    width: 18px;
    height: 18px;
}

.smh-header-icon {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.smh-header-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.smh-cart-count {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--color-accent);
    color: var(--color-white);
    font-size: 10px;
    font-weight: var(--fw-bold);
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.smh-hero {
    position: relative;
    height: 710px;
    overflow: hidden;
    background: var(--color-accent-bg-warm);
}

.smh-hero__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.smh-hero__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 592px;
    background: linear-gradient(to bottom, rgba(235, 214, 162, 0), #ebd6a2);
    opacity: 0.6;
}

.smh-hero__content {
    position: absolute;
    top: 166px;
    left: 50%;
    transform: translateX(calc(-50% - 200px));
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 2;
}

.smh-hero__rating {
    display: flex;
    align-items: center;
    gap: 8px;
}

.smh-hero__stars {
    display: flex;
    align-items: center;
}

.smh-hero__stars img {
    width: 20px;
    height: 20px;
}

.smh-hero__reviews {
    font-size: var(--fs-md);
    color: var(--color-primary-text);
    line-height: 1.5;
}

.smh-hero__title {
    font-size: var(--fs-5xl);
    line-height: 55px;
    color: var(--color-primary-light);
    max-width: 400px;
    font-feature-settings: 'dlig' 1;
}

.smh-hero__description {
    font-size: var(--fs-lg);
    line-height: 28px;
    color: var(--color-primary-lighter);
    max-width: 400px;
}

.smh-hero__description strong {
    font-weight: var(--fw-bold);
    text-decoration: underline dotted;
    text-underline-offset: 3px;
}

.smh-hero__cta {
    padding-top: 24px;
}

.smh-hero__image {
    position: absolute;
    right: 0;
    top: 72px;
    z-index: 1;
}

.smh-hero__honey-jar {
    position: relative;
    width: 450px;
    height: auto;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.smh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-md);
    line-height: 22px;
    border-radius: var(--radius-pill);
    padding: 12px 32px;
    height: 48px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    text-decoration: none;
}

.smh-btn--primary {
    background: var(--color-primary-dark);
    color: var(--color-white);
}

.smh-btn--primary:hover {
    background: var(--color-primary);
    opacity: 1;
}

.smh-btn--primary-white {
    background: var(--color-white);
    color: var(--color-primary-dark);
}

.smh-btn--primary-white:hover {
    background: rgba(255, 255, 255, 0.9);
    opacity: 1;
}

.smh-btn--outline {
    background: transparent;
    color: var(--color-accent);
    border: 1px solid var(--color-accent);
}

.smh-btn--outline:hover {
    background: var(--color-accent);
    color: var(--color-white);
    opacity: 1;
}

.smh-btn--accent {
    background: var(--color-accent);
    color: var(--color-white);
    border: 1px solid var(--color-accent);
}

.smh-btn--accent:hover {
    background: #b88d4a;
    opacity: 1;
}

.smh-btn--lg {
    width: 300px;
}

.smh-btn--full {
    width: 100%;
}

/* ==========================================================================
   Rare Honey Section
   ========================================================================== */

.smh-rare-honey {
    background: var(--color-primary);
    padding: 64px 0;
    position: relative;
    overflow: hidden;
}

.smh-rare-honey__gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 206px;
    background: linear-gradient(to bottom, #2e604c, rgba(46, 96, 76, 0));
    opacity: 0.6;
    transform: rotate(0deg);
}

.smh-rare-honey__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding-sm);
}

.smh-rare-honey__content {
    max-width: 521px;
    color: var(--color-white);
}

.smh-rare-honey__title {
    font-size: var(--fs-3xl);
    line-height: 40px;
    color: var(--color-white);
    margin-bottom: 12px;
    font-feature-settings: 'dlig' 1;
}

.smh-rare-honey__text {
    font-size: var(--fs-md);
    line-height: 24px;
    letter-spacing: 0.16px;
    max-width: 501px;
}

.smh-rare-honey__image {
    width: 600px;
    height: 306px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    flex-shrink: 0;
}

.smh-rare-honey__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================================
   Benefits Section
   ========================================================================== */

.smh-benefits {
    padding: 72px 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%),
                linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%),
                linear-gradient(90deg, #f5eacf 0%, #f5eacf 100%);
    overflow: hidden;
}

.smh-benefits--product {
    background: linear-gradient(90deg, #fbf7ed 0%, #fbf7ed 100%),
                linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%),
                linear-gradient(90deg, #f5eacf 0%, #f5eacf 100%);
}

.smh-benefits__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding-sm);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.smh-benefits__header {
    text-align: center;
}

.smh-benefits__title {
    font-size: var(--fs-3xl);
    line-height: 36px;
    color: var(--color-primary-text);
    margin-bottom: 12px;
    font-feature-settings: 'dlig' 1;
}

.smh-benefits__subtitle {
    font-size: var(--fs-md);
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--color-primary-text);
}

.smh-benefits__grid {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.smh-benefit-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.smh-benefit-item__icon {
    width: 48px;
    height: 48px;
}

.smh-benefit-item__text {
    font-size: var(--fs-md);
    line-height: 24px;
    color: var(--color-primary-text);
    text-align: center;
    width: 135px;
}

.smh-benefit-item__text--wide {
    width: 206px;
}

/* ==========================================================================
   Origin Section
   ========================================================================== */

.smh-origin {
    background: var(--color-white);
    padding: 64px 0;
    overflow: hidden;
}

.smh-origin__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding-sm);
}

.smh-origin__image {
    width: 477px;
    height: 307px;
    border-radius: var(--radius-md);
    overflow: hidden;
    flex-shrink: 0;
}

.smh-origin__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smh-origin__content {
    max-width: 645px;
}

.smh-origin__title {
    font-size: var(--fs-3xl);
    line-height: 40px;
    color: var(--color-primary-text);
    margin-bottom: 12px;
    font-feature-settings: 'dlig' 1;
}

.smh-origin__text {
    font-size: var(--fs-md);
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--color-primary-text);
}

.smh-origin__text p {
    margin-bottom: 4px;
}

.smh-origin__text p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Spirit Section (Full-width image)
   ========================================================================== */

.smh-spirit {
    position: relative;
    height: 620px;
    overflow: hidden;
}

.smh-spirit__bg {
    position: absolute;
    top: -72px;
    left: 0;
    width: 100%;
    height: 692px;
    object-fit: cover;
}

.smh-spirit__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at bottom left, rgba(0,0,0,0.7) 0%, transparent 60%);
}

.smh-spirit__content {
    position: absolute;
    bottom: 196px;
    left: 110px;
    z-index: 2;
}

.smh-spirit__title {
    font-size: var(--fs-3xl);
    line-height: 40px;
    color: var(--color-white);
    margin-bottom: 12px;
    font-feature-settings: 'dlig' 1;
}

.smh-spirit__text {
    font-size: var(--fs-md);
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--color-white);
    max-width: 532px;
}

/* ==========================================================================
   Products Section
   ========================================================================== */

.smh-products {
    background: var(--color-accent-bg-cream);
    padding: 96px 0 64px;
    overflow: hidden;
}

.smh-products__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding-sm);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.smh-products__header {
    text-align: center;
}

.smh-products__title {
    font-size: var(--fs-3xl);
    line-height: 40px;
    color: var(--color-primary-text);
    margin-bottom: 12px;
    font-feature-settings: 'dlig' 1;
}

.smh-products__subtitle {
    font-size: var(--fs-md);
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--color-primary-text);
    max-width: 521px;
    text-align: center;
}

.smh-products__grid {
    display: flex;
    gap: 36px;
    justify-content: center;
    width: 100%;
}

.smh-product-card {
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
}

.smh-product-card__image {
    width: 301px;
    height: 327px;
    border-radius: 9px;
    overflow: hidden;
    position: relative;
}

.smh-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smh-product-card__info {
    padding: 24px 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: var(--color-white);
}

.smh-product-card__name {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-xl);
    line-height: 30px;
    color: var(--color-primary-text);
    max-width: 233px;
}

.smh-product-card__price {
    font-size: var(--fs-lg);
    line-height: 24px;
    color: var(--color-primary-text);
    letter-spacing: -0.18px;
    font-feature-settings: 'dlig' 1;
}

.smh-product-card__cta {
    padding-top: 16px;
}

/* ==========================================================================
   Delivery Features
   ========================================================================== */

.smh-delivery-features {
    display: flex;
    gap: 24px;
    padding-top: 32px;
}

.smh-delivery-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.smh-delivery-item__icon {
    width: 24px;
    height: 24px;
}

.smh-delivery-item__text {
    font-size: var(--fs-sm);
    line-height: 17px;
    color: var(--color-primary-text);
    text-align: center;
    width: 135px;
}

.smh-delivery-item__text--narrow {
    width: 125px;
}

/* ==========================================================================
   CTA Section
   ========================================================================== */

.smh-cta {
    position: relative;
    height: 400px;
    overflow: hidden;
    background: #11412e;
}

.smh-cta__bg {
    position: absolute;
    inset: 0;
    opacity: 0.5;
    mix-blend-mode: multiply;
}

.smh-cta__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smh-cta__gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 427px;
    background: linear-gradient(to bottom, rgba(17, 67, 47, 0), #11432f);
}

.smh-cta__content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    text-align: center;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.smh-cta__title {
    font-size: var(--fs-4xl);
    line-height: 44px;
    color: var(--color-white);
    font-feature-settings: 'dlig' 1;
}

.smh-cta__text {
    font-size: var(--fs-lg);
    line-height: 28px;
    color: var(--color-white);
}

.smh-cta__text a {
    color: var(--color-accent-lighter);
    text-decoration: underline dotted;
}

.smh-cta__button {
    padding-top: 24px;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.smh-footer {
    background: var(--color-primary);
    padding: 72px 0 48px;
}

.smh-footer__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.smh-footer__main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 72px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.smh-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.smh-footer__logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.smh-footer__logo-icon {
    width: 58px;
    height: 58px;
}

.smh-footer__logo-text {
    width: 165px;
    height: auto;
}

.smh-footer__description {
    font-size: var(--fs-base);
    line-height: 22px;
    color: var(--color-white);
    text-align: center;
    max-width: 422px;
}

.smh-footer__social {
    display: flex;
    gap: 32px;
}

.smh-footer__social-icon {
    width: 18px;
    height: 18px;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.smh-footer__social-icon:hover {
    opacity: 1;
}

.smh-footer__links {
    display: flex;
    gap: 48px;
}

.smh-footer__column {
    width: 196px;
}

.smh-footer__column-title {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-lg);
    line-height: 28px;
    color: var(--color-white);
    margin-bottom: 24px;
    font-feature-settings: 'dlig' 1;
}

.smh-footer__column-links {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.smh-footer__link {
    font-size: var(--fs-base);
    line-height: 22px;
    color: var(--color-white);
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.smh-footer__link:hover {
    opacity: 1;
}

.smh-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 24px;
    opacity: 0.5;
}

.smh-footer__copyright {
    font-size: var(--fs-xs);
    line-height: 20px;
    color: var(--color-white);
}

.smh-footer__bottom-links {
    display: flex;
    gap: 24px;
}

.smh-footer__bottom-link {
    font-size: var(--fs-xs);
    line-height: 20px;
    color: var(--color-white);
}

/* ==========================================================================
   Sub Footer (Payment)
   ========================================================================== */

.smh-subfooter {
    background: var(--color-white);
    padding: 16px 0;
}

.smh-subfooter__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.smh-subfooter__copyright {
    font-size: var(--fs-xs);
    line-height: 20px;
    color: var(--color-primary);
}

.smh-subfooter__payments {
    display: flex;
    gap: 12px;
}

.smh-subfooter__payment {
    width: 48px;
    height: 24px;
}

/* ==========================================================================
   Product Page
   ========================================================================== */

.smh-product-page {
    background: var(--color-accent-bg-light);
    padding: 64px 0 144px;
    overflow: hidden;
}

.smh-product-page__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
    display: flex;
    gap: 48px;
}

.smh-product-gallery {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-shrink: 0;
}

.smh-product-gallery__main {
    width: 660px;
    height: 660px;
    border-radius: 29px;
    overflow: hidden;
}

.smh-product-gallery__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smh-product-gallery__thumbs {
    display: flex;
    gap: 16px;
}

.smh-product-gallery__thumb {
    width: 96px;
    height: 96px;
    border-radius: 3px;
    overflow: hidden;
    border: 1.5px solid var(--color-white);
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.smh-product-gallery__thumb--active {
    border-color: #215440;
}

.smh-product-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.smh-product-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.smh-product-details__rating {
    display: flex;
    align-items: center;
    gap: 8px;
}

.smh-product-details__stars {
    display: flex;
}

.smh-product-details__stars img {
    width: 20px;
    height: 20px;
}

.smh-product-details__reviews {
    font-size: var(--fs-md);
    line-height: 1.5;
    color: var(--color-primary-text);
}

.smh-product-details__title {
    font-size: var(--fs-3xl);
    line-height: 40px;
    color: var(--color-primary-light);
    font-feature-settings: 'dlig' 1;
}

.smh-product-details__description {
    font-size: var(--fs-lg);
    line-height: 26px;
    color: var(--color-primary-text);
    max-width: 364px;
}

.smh-product-details__price {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-xl);
    line-height: 28px;
    color: var(--color-primary-text);
}

/* Size Selector */
.smh-size-selector {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.smh-size-selector__label {
    font-size: var(--fs-md);
    line-height: 1.5;
    color: var(--color-primary-text);
}

.smh-size-selector__options {
    display: flex;
    gap: 8px;
}

.smh-size-option {
    padding: 10px 16px;
    border-radius: var(--radius-full);
    border: 1px solid rgba(23, 67, 45, 0.5);
    font-family: var(--font-primary);
    font-size: var(--fs-md);
    line-height: 16px;
    color: var(--color-primary-text);
    cursor: pointer;
    transition: all 0.3s ease;
    background: transparent;
}

.smh-size-option--active {
    background: rgba(23, 67, 45, 0.15);
    border-color: var(--color-primary-text);
    font-weight: var(--fw-bold);
}

.smh-product-details__stock {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-md);
    line-height: 24px;
    color: var(--color-accent);
}

/* Add to Cart */
.smh-add-to-cart {
    display: flex;
    gap: 12px;
    width: 100%;
}

.smh-quantity {
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid rgba(17, 68, 48, 0.5);
    border-radius: var(--radius-pill);
    padding: 0 16px;
    height: 48px;
}

.smh-quantity__btn {
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.smh-quantity__value {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-lg);
    line-height: 26px;
    color: var(--color-primary-dark);
    min-width: 20px;
    text-align: center;
}

.smh-add-to-cart__btn {
    flex: 1;
    background: var(--color-primary-dark);
    color: var(--color-white);
    border-radius: var(--radius-pill);
    height: 48px;
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-lg);
    line-height: 22px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
}

.smh-add-to-cart__btn:hover {
    background: var(--color-primary);
}

/* Accordion */
.smh-accordion {
    width: 100%;
    padding-top: 48px;
}

.smh-accordion__item {
    border-top: 1px solid rgba(23, 67, 45, 0.1);
}

.smh-accordion__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 10px 10px 0;
    cursor: pointer;
    width: 100%;
    background: none;
    border: none;
}

.smh-accordion__title {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-md);
    line-height: 24px;
    color: var(--color-primary-text);
}

.smh-accordion__icon {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.smh-accordion__icon--open {
    transform: rotate(180deg);
}

.smh-accordion__content {
    padding-bottom: 16px;
    display: none;
}

.smh-accordion__content--open {
    display: block;
}

.smh-accordion__text {
    font-size: var(--fs-md);
    line-height: 24px;
    color: var(--color-primary-text);
}

/* ==========================================================================
   Related Articles Section
   ========================================================================== */

.smh-articles {
    padding: 80px 0 72px;
    background: linear-gradient(90deg, #fbf7ed 0%, #fbf7ed 100%),
                linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 100%),
                linear-gradient(90deg, #f5eacf 0%, #f5eacf 100%);
    overflow: hidden;
}

.smh-articles__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding-sm);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.smh-articles__title {
    font-size: var(--fs-3xl);
    line-height: 36px;
    color: var(--color-primary-text);
    font-feature-settings: 'dlig' 1;
}

.smh-articles__grid {
    display: flex;
    gap: 112px;
}

.smh-article-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 16px;
}

.smh-article-card__image {
    width: 160px;
    height: 184px;
}

.smh-article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.smh-article-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.smh-article-card__tag {
    font-family: var(--font-primary);
    font-weight: var(--fw-bold);
    font-size: var(--fs-md);
    line-height: 24px;
    color: var(--color-accent);
}

.smh-article-card__title {
    font-size: var(--fs-2xl);
    line-height: 32px;
    color: var(--color-primary-text);
    font-feature-settings: 'dlig' 1;
}

.smh-article-card__text {
    font-size: var(--fs-md);
    line-height: 24px;
    letter-spacing: 0.16px;
    color: var(--color-primary-text);
    max-width: 368px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    :root {
        --container-padding: 60px;
        --container-padding-sm: 60px;
    }

    .smh-header__inner {
        gap: 60px;
    }

    .smh-hero__content {
        transform: translateX(-60%);
    }

    .smh-product-page__inner {
        flex-direction: column;
        align-items: center;
    }

    .smh-product-gallery__main {
        width: 100%;
        max-width: 660px;
        height: auto;
        aspect-ratio: 1;
    }

    .smh-articles__grid {
        gap: 48px;
    }
}

@media (max-width: 992px) {
    :root {
        --container-padding: 32px;
        --container-padding-sm: 32px;
    }

    .smh-header__inner {
        gap: 24px;
    }

    .smh-hero {
        height: auto;
        min-height: 500px;
        padding: 120px 32px 60px;
    }

    .smh-hero__content {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
    }

    .smh-hero__image {
        display: none;
    }

    .smh-rare-honey__inner {
        flex-direction: column;
        gap: 32px;
    }

    .smh-rare-honey__image {
        width: 100%;
    }

    .smh-benefits__grid {
        flex-wrap: wrap;
        justify-content: center;
    }

    .smh-origin__inner {
        flex-direction: column;
        gap: 32px;
    }

    .smh-origin__image {
        width: 100%;
    }

    .smh-products__grid {
        flex-direction: column;
        align-items: center;
    }

    .smh-delivery-features {
        flex-wrap: wrap;
        justify-content: center;
    }

    .smh-footer__main {
        flex-direction: column;
        align-items: center;
        gap: 48px;
    }

    .smh-articles__grid {
        flex-direction: column;
        gap: 48px;
    }
}

@media (max-width: 768px) {
    .smh-header__inner {
        gap: 16px;
    }

    .smh-nav {
        display: none;
    }

    h1 {
        font-size: var(--fs-4xl);
        line-height: 44px;
    }

    h3 {
        font-size: var(--fs-2xl);
        line-height: 32px;
    }

    .smh-spirit {
        height: 400px;
    }

    .smh-spirit__content {
        left: 32px;
        bottom: 80px;
    }

    .smh-product-gallery__main {
        max-width: 100%;
    }

    .smh-product-gallery__thumbs {
        flex-wrap: wrap;
    }
}

/* ==========================================================================
   WooCommerce Overrides
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: var(--color-accent) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--color-accent) !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background-color: var(--color-primary-dark) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-pill) !important;
    font-family: var(--font-primary) !important;
    font-weight: var(--fw-bold) !important;
    padding: 12px 32px !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background-color: var(--color-primary) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: var(--color-primary-dark) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background-color: var(--color-primary) !important;
}

.woocommerce .quantity .qty {
    font-family: var(--font-primary);
}

.woocommerce-cart .cart-collaterals .cart_totals {
    border-radius: var(--radius-md);
}

/* ==========================================================================
   Elementor Overrides
   ========================================================================== */

.elementor-section {
    max-width: 100%;
}

.elementor-widget-container {
    font-family: var(--font-primary);
}
