/* Mobile-only enhancement. Desktop retains the existing Petal layout. */
.petal-product-media { display: contents; }
.petal-product-controls,
.petal-quantity-button,
.petal-detail-heading,
.petal-purchase-bar { display: none; }

@media (max-width: 767px) {
    html { scroll-padding-top: 88px; }
    .header-main { min-height: 68px; gap: 12px; }
    .site-header .wordmark .petal-logo { width: 72px; }
    .header-tools { gap: 4px; }
    .header-tools > .languages, .header-tools .account-link, .tool-divider { display: none; }
    .header-tools .icon-button { display: inline-flex; min-width: 44px; min-height: 44px; padding: 10px; }
    .header-tools .account-link { display: none; }
    .header-tools .petal-cart-count { inset-inline-end: 2px; top: 1px; }
    .desktop-nav { display: none; }
    .mobile-nav { max-height: calc(100dvh - 100px); overflow-y: auto; }
    .mobile-nav > .languages { display: flex; gap: 12px; margin-block-start: 18px; }
    .mobile-nav > .languages a { min-width: 48px; min-height: 44px; display: grid; place-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; }
    .mobile-nav > .languages a[aria-current] { background: var(--green); color: #fff; }
    .petal-search input, .petal-form input:not([type=checkbox]), .petal-form textarea,
    .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
    .woocommerce form select, .woocommerce .woocommerce-ordering select { font-size: 16px; }
    .woocommerce .woocommerce-ordering select { min-height: 44px; }
    .woocommerce .woocommerce-result-count { font-size: 11px; }
    .shop-filters summary, .shop-filters li a { min-height: 44px; align-items: center; }
    .catalog-layout { grid-template-columns: 1fr; gap: 20px; }
    .shop-sidebar > h2, .sidebar-help { display: none; }
    .shop-filters { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #eef1e7; }
    .shop-filters .button { min-height: 44px; font-size: 13px; }
    .woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error { font-size: 13px; overflow-wrap: anywhere; }

    /* More photography, fewer tiny targets, with the same native loop markup. */
    .woocommerce ul.products, .catalog-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px 12px !important; }
    .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
    .woocommerce ul.products li.product a img { padding: 4px; aspect-ratio: 1 / 1.12; margin-bottom: 12px !important; border: 0; border-radius: 12px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
    .woocommerce ul.products li.product .price { font-size: 14px; gap: 5px 8px; margin-block-start: 10px; }
    .woocommerce ul.products li.product .price del { font-size: 11px; }
    .woocommerce ul.products li.product .button { min-height: 44px; padding: 9px 7px; border-radius: 10px; font-size: 12px; line-height: 1.4; gap: 4px; }
    .woocommerce ul.products li.product .added_to_cart { padding-block: 10px; min-height: 44px; }
    .woocommerce ul.products li.product .onsale { top: 10px; inset-inline-start: 10px; padding: 4px 6px; border-radius: 6px; }
    .petal-rating { flex-wrap: wrap; font-size: 10px; gap: 2px 5px; }
    .petal-rating > span { font-size: 12px; }

    /* Original quantity input, enhanced rather than replaced. */
    .woocommerce .quantity.petal-quantity { display: inline-grid; grid-template-columns: 44px minmax(40px, 52px) 44px; direction: ltr; align-items: center; border: 1px solid #cdd8cd; border-radius: 14px; background: #f8faf6; overflow: visible; float: none; margin: 0; }
    .woocommerce .quantity.petal-quantity .qty { width: 100%; min-width: 0; min-height: 48px; padding: 10px 0; border: 0; border-radius: 0; color: var(--ink); background: transparent; font-size: 16px; font-weight: 600; appearance: textfield; -moz-appearance: textfield; }
    .petal-quantity .qty::-webkit-inner-spin-button, .petal-quantity .qty::-webkit-outer-spin-button { appearance: none; margin: 0; }
    .petal-quantity-button { display: grid; place-items: center; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: var(--green); font: 24px/1 PetalSans, sans-serif; touch-action: manipulation; }
    .petal-quantity-button:disabled { opacity: .35; cursor: default; }
    .petal-quantity-button:not(:disabled):active { background: var(--sage); }
    .woocommerce a.remove { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; }
    .woocommerce .cart .coupon .button { min-height: 44px; }
    .woocommerce .cart .coupon .input-text { min-width: 0; font-size: 16px; }

    /* Product gallery and floating actions. WooCommerce owns swipe/lightbox. */
    .single-product .shop-main { width: 100%; max-width: none; padding-block: 16px 48px; }
    .single-product .woocommerce-breadcrumb { margin: 0 20px 16px; font-size: 11px; }
    .single-product .woocommerce-notices-wrapper { margin-inline: 16px; }
    .single-product div.product > .petal-product-media { display: block; position: relative; margin-inline: 12px; padding-block: 56px 36px; border-radius: 26px; background: #edf0e7; }
    .petal-product-controls { display: flex; justify-content: space-between; position: absolute; z-index: 4; top: 12px; inset-inline: 12px; }
    .petal-round-control { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #dbe1d5; background: #ffffffed; color: var(--green); box-shadow: 0 3px 12px #213e3408; }
    .petal-round-control .petal-cart-count { top: -2px; inset-inline-end: -1px; }
    [dir=rtl] .petal-back-icon { transform: scaleX(-1); }
    .single-product .petal-product-media > .onsale { top: 66px; inset-inline-start: 18px; z-index: 3; border-radius: 20px; font-size: 11px; }
    .woocommerce.single-product div.product .petal-product-media div.images { width: 100% !important; float: none !important; margin: 0 !important; }
    .woocommerce.single-product div.product div.images .woocommerce-product-gallery__image img,
    .woocommerce.single-product div.product div.images .woocommerce-product-gallery__image--placeholder img { width: 100%; height: clamp(260px, 82vw, 480px); max-height: none; padding: 10px 20px; object-fit: contain; border-radius: 20px; }
    .single-product .woocommerce-product-gallery__wrapper { margin: 0; }
    .single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex; justify-content: safe center; gap: 8px; margin: 12px 14px 0 !important; padding: 4px; overflow-x: auto; }
    .woocommerce.single-product div.product div.images .flex-control-thumbs li { flex: 0 0 48px; width: 48px; float: none; margin: 0; }
    .woocommerce.single-product div.product div.images .flex-control-thumbs li img { width: 48px; height: 48px; padding: 3px; border: 1px solid #b9c9b4; border-radius: 10px; background: #fff; }
    .woocommerce.single-product div.product div.images .woocommerce-product-gallery__trigger { top: auto; bottom: 4px; inset-inline-start: auto; inset-inline-end: 14px; width: 44px; height: 44px; border: 1px solid var(--line); }

    /* Keep title, price, notices and purchase form in their native order. */
    .woocommerce.single-product div.product div.summary { position: relative; z-index: 2; float: none !important; width: 100% !important; margin: -20px 0 28px !important; padding: 26px 22px 24px; border-radius: 28px 28px 22px 22px; background: #fff; border-block-end: 1px solid var(--line); }
    .woocommerce.single-product div.product .product_title { font-size: clamp(25px, 6.5vw, 32px); font-weight: 650; line-height: 1.45; letter-spacing: -.025em; margin-bottom: 12px; overflow-wrap: anywhere; }
    .rtl.woocommerce.single-product div.product .product_title { letter-spacing: 0; line-height: 1.65; }
    .woocommerce.single-product div.product p.price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; font-size: 29px; font-weight: 650; line-height: 1.5; margin-block: 8px 16px; }
    .woocommerce.single-product div.product p.price del { font-size: 16px; font-weight: 400; order: 2; }
    .woocommerce.single-product div.product.product-type-variable .summary > p.price { font-size: clamp(20px, 5.5vw, 24px); gap: 4px 8px; }
    .single-product .woocommerce-product-details__short-description { font-size: 14px; line-height: 1.9; color: #586958; }
    .single-product .woocommerce-product-rating { margin-bottom: 10px !important; font-size: 12px; }
    .woocommerce.single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-block: 16px 24px; }
    .woocommerce.single-product div.product .stock { font-size: 12px; font-weight: 500; color: #426443; margin-bottom: 14px; }
    .woocommerce.single-product div.product .out-of-stock { color: #98462c; }
    .woocommerce.single-product div.product form.cart .single_add_to_cart_button { flex: 0 0 100%; width: 100%; min-height: 56px; border-radius: 16px; padding: 15px 18px; font-size: 16px; font-weight: 600; letter-spacing: 0; background: var(--green); border-color: var(--green); color: #fff; }
    .woocommerce.single-product div.product form.cart .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }
    .woocommerce.single-product div.product form.cart.variations_form { display: block; }
    .single-product .variations tr, .single-product .variations th, .single-product .variations td { display: block; width: 100%; text-align: start; padding: 0 !important; }
    .single-product .variations label { display: block; font-size: 13px; margin-block: 0 8px; }
    .single-product .variations select { width: 100%; max-width: 100% !important; min-width: 0 !important; min-height: 52px; padding: 12px; border: 1px solid #cdd8cd; border-radius: 12px; background: #f8faf6; color: var(--ink); margin-block: 0 12px; }
    .single-product .reset_variations { display: inline-flex; min-height: 44px; align-items: center; font-size: 13px !important; }
    .single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
    .single-product .woocommerce-variation-price { font-size: 24px; margin-block: 12px; }
    .woocommerce.single-product div.product .woocommerce-variation-price .price { color: var(--green); font-weight: 650; }
    .single-product .woocommerce-variation-price ins { text-decoration: none; }
    .single-product .woocommerce-variation-price del { font-size: 15px; }
    .woocommerce.single-product div.product .product_meta { font-size: 12px; gap: 8px; overflow-wrap: anywhere; }
    .single-product button.button:active, .petal-round-control:active { transform: scale(.98); }
    .single-product form.cart[aria-busy=true] .single_add_to_cart_button { opacity: .75; cursor: progress; }

    /* Progressive accordions retain the original tab content and callbacks. */
    .woocommerce.single-product div.product .woocommerce-tabs { padding: 0 22px; }
    .petal-mobile-details .wc-tabs { display: none; }
    .petal-mobile-details .petal-detail-heading { display: block; margin: 0; font-size: 17px; }
    .petal-detail-toggle { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; min-height: 64px; padding: 18px 0; border: 0; border-block-end: 1px solid var(--line); color: var(--ink); background: transparent; text-align: start; font-size: 16px; font-weight: 600; }
    .petal-detail-toggle::after { content: '+'; font: 24px/1 PetalSans, sans-serif; }
    .petal-detail-toggle[aria-expanded=true]::after { content: '−'; }
    .woocommerce.single-product div.product .petal-mobile-details .panel:not([hidden]) { display: block !important; padding-block: 18px 24px; margin: 0; color: #586958; font-size: 14px; }
    .petal-mobile-details .panel > h2:first-child, .petal-mobile-details .woocommerce-Reviews-title { display: none; }
    .petal-mobile-details .panel { scroll-margin-block-start: 88px; }
    .single-product #reviews .commentlist { padding-inline-start: 0; }
    .woocommerce.single-product div.product .related, .woocommerce.single-product div.product .upsells { margin: 34px 22px 0; }
    .woocommerce.single-product .related > h2, .woocommerce.single-product .upsells > h2 { font-size: 23px; margin-bottom: 18px; }
    .woocommerce.single-product .related ul.products, .woocommerce.single-product .upsells ul.products { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: clamp(148px, 44vw, 230px); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; margin-inline: -22px; padding: 4px 22px 18px; }
    .single-product .related li.product, .single-product .upsells li.product { scroll-snap-align: start; }

    /* Only visible after the main purchase button has scrolled above the header. */
    .single-product.petal-has-purchase-bar { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
    .petal-purchase-bar { display: flex; position: fixed; z-index: 98; bottom: 0; inset-inline: 0; align-items: center; gap: 16px; padding: 12px max(18px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px)); border-block-start: 1px solid var(--line); background: #fff; box-shadow: 0 -5px 24px #213e340d; }
    .petal-purchase-price { flex: 0 1 40%; min-width: 0; font-size: 18px; font-weight: 650; line-height: 1.5; }
    .petal-purchase-price ins { text-decoration: none; }
    .petal-purchase-price del { display: block; font-size: 11px; font-weight: 400; color: var(--muted); }
    .petal-purchase-bar .button { flex: 1; min-height: 52px; padding: 12px; border-radius: 14px; font-size: 14px; font-weight: 600; }
    .petal-purchase-bar .button:disabled { opacity: .6; cursor: wait; }
}
