/* Product-page pixel calibration against the current Takealot mobile layout. */
.single-product .gm-header{grid-template-columns:46px 1fr 66px;height:45px}
.single-product .gm-menu-button{width:46px;height:45px}
.single-product .gm-menu-button svg{width:19px;height:19px}
.single-product .gm-logo{font-size:22px}
.single-product .gm-logo small{width:20px;height:20px;font-size:6px}
.single-product .gm-top-actions{gap:7px;padding-right:12px}
.single-product .gm-top-actions a,.single-product .gm-top-actions button{width:21px;height:34px}
.single-product .gm-top-actions svg{width:20px;height:20px}
.single-product .gm-delivery-bar{grid-template-columns:28px 1fr 32px;height:40px;padding:0 13px}
.single-product .gm-delivery-bar svg{width:19px;height:19px}
.single-product .gm-delivery-bar span,.single-product .gm-delivery-bar i{font-size:11px}
.single-product .gm-pdp-gallery{height:284px}
.single-product .float-btn__wrapper,.single-product .kodee-fab,.single-product #chatbot-float-box{display:none!important}
.gm-pdp-sale em{display:block;font-size:7px;font-style:normal;line-height:8px}
.gm-pdp-expand{display:grid;place-items:center}
.gm-pdp-expand svg{width:17px;height:17px;fill:none;stroke:#777;stroke-width:1.45}
.gm-pdp-title-row h1{font-size:16px;line-height:19px}
.gm-pdp-share{display:grid;place-items:center}
.gm-pdp-share svg{width:16px;height:16px;fill:none;stroke:#555;stroke-width:1.7}
.gm-pdp-price i{order:3}
.gm-pdp-delivery>svg{width:15px;height:15px;fill:none;stroke:#777;stroke-width:1.6}
.gm-pdp-wish{display:flex;align-items:center;justify-content:center;gap:2px}
.gm-pdp-wish span{font-size:15px}
.gm-pdp-wish svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.gm-pdp-cart{display:flex;align-items:center;justify-content:center;gap:4px}
.gm-pdp-cart span{font-size:14px;font-weight:400}
.gm-pdp-cart svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.gm-pdp.is-variable .gm-pdp-options{margin-top:7px;border-top:0;padding:14px;background:#fff}
.gm-pdp-options table.variations{position:absolute!important;left:-9999px!important}
.gm-pdp-attribute{margin:0 0 10px}
.gm-pdp-attribute[hidden]{display:none!important}
.gm-pdp-attribute.is-last-visible{margin-bottom:0}
.gm-pdp-attribute-trigger{display:grid!important;width:100%;height:34px!important;grid-template-columns:1fr 22px;align-items:center;border:1px solid #d7d9da!important;border-radius:0!important;padding:0 9px!important;background:#fff!important;color:#333!important;text-align:left!important;font-size:9px!important;font-weight:400!important}
.gm-pdp-attribute-trigger i{position:relative;width:22px;height:100%;font-size:0;font-style:normal}
.gm-pdp-attribute-trigger i:after{content:'';position:absolute;top:15px;right:5px;border-top:4px solid #4b4f51;border-right:4px solid transparent;border-left:4px solid transparent}
.gm-pdp-attribute-values[hidden]{display:none!important}
.gm-pdp-attribute-values{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding:0 0 1px;scrollbar-width:none}
.gm-pdp-attribute-values::-webkit-scrollbar{display:none}
.gm-pdp-attribute-values button{display:grid;min-width:58px;width:58px;height:84px;grid-template-rows:58px 1fr;align-items:center;border:1px solid #d7d9da;border-radius:0;padding:3px;background:#fff;color:#4a4f52;text-align:center;font-size:9px;line-height:13px}
.gm-pdp-attribute-values button img{width:50px;height:50px;margin:auto;object-fit:contain;background:#fff}
.gm-pdp-attribute-values button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-pdp-attribute-values button.is-selected{border:2px solid #087fc1;padding:2px;color:#087fc1}
.gm-pdp-options .single_variation_wrap{padding-bottom:54px}
.gm-pdp-options .woocommerce-variation-add-to-cart{right:max(10px,calc((100vw - 375px)/2 + 10px));bottom:8px;left:max(10px,calc((100vw - 375px)/2 + 10px));display:block;height:42px;background:#fff}
.gm-pdp-options .woocommerce-variation-add-to-cart:before{display:none}
.gm-pdp-options .single_add_to_cart_button{height:34px!important;border:1px solid #777!important;border-radius:18px!important;background:#fff!important;color:#333!important;font-size:10px!important;font-weight:400!important}
.gm-pdp-options .single_add_to_cart_button.disabled{border-color:#777!important;background:#fff!important;color:#333!important;opacity:1!important}
.gm-pdp-options .single_add_to_cart_button:not(.disabled){border-color:#198f47!important;background:#198f47!important;color:#fff!important;font-weight:700!important}
.gm-variant-sheet{position:fixed;z-index:150;inset:0;display:none;width:min(100%,375px);margin:auto;align-items:flex-end}
.gm-variant-sheet.is-open{display:flex}
.gm-variant-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72)}
.gm-variant-panel{position:relative;width:100%;max-height:72vh;overflow:hidden;border-radius:9px 9px 0 0;background:#fff}
.gm-variant-panel header{position:sticky;top:0;z-index:2;display:grid;height:42px;grid-template-columns:1fr 34px;align-items:center;border-bottom:1px solid #ddd;background:#fff}
.gm-variant-panel h2{margin:0;padding-left:44px;text-align:center;font-size:12px}
.gm-variant-panel header button{width:34px;height:42px;border:0;background:#fff;font-size:19px}
.gm-variant-list{max-height:calc(72vh - 42px);overflow-y:auto;background:#fff}
.gm-variant-row{display:grid;width:100%;min-height:45px;grid-template-columns:36px 1fr;align-items:center;border:0;border-bottom:1px solid #e4e4e4;padding:4px 10px;background:#fff;color:#333;text-align:left;font-size:10px}
.gm-variant-row img{width:28px;height:28px;border:1px solid #e1e1e1;object-fit:contain;background:#fff}
.gm-variant-row span:first-child:empty{width:28px;height:28px;border:1px solid #eee;background:#f5f6f6}
.gm-variant-row.is-disabled{opacity:.38;text-decoration:line-through}
body.gm-variant-open{overflow:hidden}

/* Remove the two artificial spacer blocks exposed on short PDPs. */
.single-product .gm-pdp{padding-bottom:0}
.gm-pdp-options .single_variation_wrap{padding-bottom:0}

/* Complete fixed commerce bar, matching the white Takealot mobile dock. */
.gm-pdp-buybar,.gm-pdp-options .woocommerce-variation-add-to-cart{right:auto!important;bottom:0!important;left:50%!important;width:min(100%,375px)!important;height:58px!important;transform:translateX(-50%);border-top:1px solid #d9dcde;padding:8px 12px!important;background:#fff!important;box-shadow:0 -2px 5px rgba(0,0,0,.05)}
.gm-pdp-buybar{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:8px!important}
.gm-pdp-wish,.gm-pdp-cart,.gm-pdp-options .single_add_to_cart_button{height:42px!important}
.gm-pdp-wish{border-color:#f27d91!important;background:#fff!important}
.gm-pdp-cart{border-radius:22px!important;background:#198f47!important;font-size:11px!important}
.gm-pdp-options .single_add_to_cart_button{border-radius:21px!important}
.gm-pdp-options .single_add_to_cart_button.disabled{cursor:pointer!important}
.gm-pdp-options .gm-variable-wish{display:none!important;width:46px!important;height:42px!important;border:1px solid #f27d91!important;border-radius:22px!important;color:#ef6680!important;background:#fff!important}
.gm-pdp-options .gm-variable-wish.is-active{color:#fff!important;background:#ef6680!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:8px!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled .gm-variable-wish{display:flex!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button{display:flex!important;width:100%!important;align-items:center;justify-content:center;gap:4px;border-color:#198f47!important;border-radius:22px!important;background:#198f47!important;color:#fff!important;box-shadow:none!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button span:last-child{font-size:11px}
.gm-pdp-offer{padding:13px 14px 18px}
.gm-pdp-offer h2{margin-bottom:9px;font-size:14px;line-height:18px}
.gm-pdp-offer>div{min-height:58px;align-items:start;border-color:#d4d7d9;padding:9px 10px}
.gm-pdp-offer>div span{font-size:10px;line-height:14px}
.gm-pdp-offer>div b{color:#087fc1;font-size:13px;line-height:16px}
.gm-pdp-offer>div b del{margin-right:4px;color:#777;font-size:9px;font-weight:400}.gm-pdp-offer>div b ins{text-decoration:none}
.gm-pdp-offer>div small{font-size:9px;line-height:13px}

/* Compact 1:1 Takealot mobile purchase dock. */
.gm-pdp-buybar,.gm-pdp-options .woocommerce-variation-add-to-cart{width:min(100%,375px)!important;height:50px!important;padding:10px 16px!important}
.gm-pdp-buybar{grid-template-columns:48px minmax(0,1fr)!important;gap:8px!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled{grid-template-columns:48px minmax(0,1fr)!important;gap:8px!important}
.gm-pdp-wish,.gm-pdp-cart,.gm-pdp-options .single_add_to_cart_button{height:30px!important}
.gm-pdp-wish,.gm-pdp-cart,.gm-pdp-options .single_add_to_cart_button{border-radius:16px!important}
.gm-pdp-wish span{font-size:13px}
.gm-pdp-wish svg{width:12px;height:12px}
.gm-pdp-cart{font-size:10px!important}
.gm-pdp-cart svg{width:11px;height:11px}
.gm-pdp-options .gm-variable-wish{width:48px!important;height:30px!important;border-radius:16px!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button{height:30px!important;border-radius:16px!important}
.gm-pdp-options .woocommerce-variation-add-to-cart-enabled .single_add_to_cart_button span:last-child{font-size:10px}
.woocommerce .gm-pdp-options .single_add_to_cart_button,.woocommerce .gm-pdp-options .single_add_to_cart_button.disabled{border-radius:16px!important}

/* Compact Takealot recommendation cards: badges follow the card, not its inset image. */
.gm-pdp-rail .gm-history-card{height:278px;padding:7px}
.gm-pdp-rail .gm-history-card .gm-deal-corner{top:7px;left:6px}
.gm-pdp-rail .gm-history-card .gm-discount{top:39px;left:6px}
.gm-pdp-rail .gm-history-card h2{margin:6px 5px 0}
.gm-pdp-rail .gm-history-card .gm-price,.gm-pdp-rail .gm-history-card .gm-rating{margin-right:5px;margin-left:5px}
.gm-pdp-rail .gm-history-card .gm-variants{margin-right:5px;margin-left:5px}
.gm-pdp-rail-skeleton{min-height:278px;overflow:hidden}
.gm-pdp-rail-skeleton span{display:block;min-width:148px;height:278px;border:1px solid #eceeef;border-radius:2px;background:linear-gradient(100deg,#f3f4f4 25%,#fafafa 40%,#f3f4f4 55%);background-size:220% 100%;animation:gm-pdp-skeleton 1.4s ease-in-out infinite}
.gm-pdp-recommend-pending.has-error .gm-pdp-rail-skeleton{display:grid;min-height:70px;place-items:center}
.gm-pdp-recommend-pending.has-error .gm-pdp-rail-skeleton button{border:1px solid #087fc1;border-radius:2px;padding:9px 18px;background:#fff;color:#087fc1;font-size:10px;font-weight:700}
@keyframes gm-pdp-skeleton{to{background-position-x:-220%}}

/* Takealot stock and service rows; cash-on-delivery is intentionally omitted. */
.gm-pdp-offer{margin-top:7px;padding:11px 14px 13px;background:#fff}
.gm-pdp-stock-line{display:flex!important;min-height:25px!important;align-items:center!important;border:0!important;border-radius:0!important;padding:0!important;font-size:9px!important;gap:5px!important}
.gm-pdp-stock-line b{color:#111!important;font-size:12px!important;line-height:18px!important}
.gm-pdp-stock-line span{border-radius:1px;padding:1px 3px;background:#e8eaeb;color:#444!important;font-size:7px!important;font-weight:700!important;line-height:9px!important}
.gm-pdp-stock-line button{margin-left:2px;border:0;padding:0;background:transparent;color:#087fc1;font-size:8px;white-space:nowrap;cursor:pointer}
.gm-pdp-service-list{display:block!important;margin:0!important;padding:0!important;list-style:none!important}
.gm-pdp-service-list li{display:grid;min-height:35px;grid-template-columns:15px minmax(0,1fr) 12px;align-items:center;border-top:1px dotted #d9dcde;color:#4d5357;font-size:9px;line-height:13px}
.gm-pdp-service-list li:before{display:none!important}
.gm-pdp-service-list svg{width:12px;height:12px;fill:none;stroke:#777;stroke-width:1.8}
.gm-pdp-service-list li:first-child svg{fill:#777;stroke:none}
.gm-pdp-service-list svg.gm-service-info{justify-self:end;width:10px;height:10px;fill:#198f47;stroke:none}
.gm-pdp-service-list svg.gm-service-info .gm-service-info-dot,.gm-pdp-service-list svg.gm-service-info .gm-service-info-stem{fill:#fff;stroke:none}

/* Takealot delivery information modal. */
.gm-delivery-modal[aria-hidden="true"]{display:none}
.gm-delivery-modal{position:fixed;z-index:210;inset:0;width:min(100%,375px);margin:auto}
.gm-delivery-modal-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgba(0,0,0,.76)}
.gm-delivery-modal-close{position:absolute;z-index:3;top:8px;right:9px;width:29px;height:29px;border:0;padding:0;background:transparent;color:#fff;font-size:29px;font-weight:300;line-height:27px}
.gm-delivery-modal-panel{position:absolute;z-index:2;top:40px;right:8px;bottom:9px;left:8px;overflow-y:auto;border-radius:2px;padding:0 12px 12px;background:#fff;color:#4a4f52;box-shadow:0 1px 4px rgba(0,0,0,.35);font-size:9px;line-height:13px;scrollbar-width:thin}
.gm-delivery-modal-panel h2{margin:12px 0 15px;color:#111;text-align:center;font-size:14px;line-height:18px}
.gm-delivery-modal-panel>p{margin:0 0 10px}
.gm-delivery-modal-panel h3{margin:10px 0 0;color:#555;text-align:center;text-decoration:underline;font-size:10px;line-height:14px}
.gm-delivery-modal-panel .gm-delivery-modal-note{margin:0 0 8px;text-align:center;line-height:12px}
.gm-delivery-modal-panel table{width:100%;border-collapse:collapse;border:1px solid #d6d9db;table-layout:fixed;color:#4a4f52;font-size:9px;line-height:12px}
.gm-delivery-modal-panel th,.gm-delivery-modal-panel td{border-bottom:1px solid #dfe1e2;padding:7px 7px;text-align:left;vertical-align:top}
.gm-delivery-modal-panel th{color:#222;font-weight:700}
.gm-delivery-modal-panel td strong,.gm-delivery-modal-panel td small{display:block}
.gm-delivery-modal-panel td strong{color:#333;font-size:9px;font-weight:400;line-height:12px}
.gm-delivery-modal-panel td small{margin-top:2px;color:#737a7e;font-size:8px;line-height:11px}
.gm-delivery-modal-panel table th:last-child:nth-child(2),.gm-delivery-modal-panel table td:last-child:nth-child(2){width:31%}
.gm-delivery-modal-panel table th:nth-child(1):nth-last-child(3),.gm-delivery-modal-panel table td:nth-child(1):nth-last-child(3){width:31%}
.gm-delivery-modal-panel table th:nth-child(2):nth-last-child(2),.gm-delivery-modal-panel table td:nth-child(2):nth-last-child(2){width:36%}
.gm-delivery-modal-panel .gm-delivery-modal-foot{margin:12px 0 0}
body.gm-delivery-modal-open{overflow:hidden}

/* The PDP already owns price and stock presentation; suppress WooCommerce's duplicate variation output. */
.gm-pdp-options .single_variation{display:none!important}

/* Takealot T&Cs delivery-date modal. */
.gm-pdp-delivery button{border:0;padding:0;background:transparent;color:#087fc1;font-size:inherit;line-height:inherit;cursor:pointer}
.gm-terms-modal[aria-hidden="true"]{display:none}
.gm-terms-modal{position:fixed;z-index:220;inset:0;width:100%;max-width:var(--gm-shell-max);margin:auto}
.gm-terms-modal-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgba(0,0,0,.76)}
.gm-terms-modal-close{position:absolute;z-index:3;top:17px;right:9px;width:29px;height:29px;border:0;padding:0;background:transparent;color:#fff;font-size:29px;font-weight:300;line-height:27px;cursor:pointer}
.gm-terms-modal-panel{position:absolute;z-index:2;top:52px;right:22px;left:22px;border-radius:2px;padding:0 13px 12px;background:#fff;color:#4a4f52;box-shadow:0 1px 4px rgba(0,0,0,.35);font-size:9px;line-height:13px}
.gm-terms-modal-panel h2{margin:12px 0 17px;color:#111;text-align:center;font-size:14px;line-height:18px}
.gm-terms-modal-panel p{margin:0 0 11px}
body.gm-terms-modal-open{overflow:hidden}
@media(max-width:932px){.gm-terms-modal{max-width:none}}
@media(max-width:300px){.gm-terms-modal-panel{right:14px;left:14px}}

/* Product gallery: keep every WooCommerce gallery image in a swipeable track. */
.gm-pdp-gallery{touch-action:pan-x pan-y}
.gm-pdp-slides{display:flex;width:100%;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;transition:transform .24s ease;will-change:transform}
.gm-pdp-slides::-webkit-scrollbar,.gm-gallery-lightbox-track::-webkit-scrollbar{display:none}
.gm-pdp-slides figure,.gm-pdp-slides figure.is-active{display:block;min-width:100%;flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}
.gm-pdp-slides img{pointer-events:none;user-select:none;-webkit-user-drag:none}
.gm-pdp-dots :is(a,button){display:block;width:8px;height:8px;border:0;border-radius:50%;padding:0;background:#b9bdc0;cursor:pointer}
.gm-pdp-dots :is(a,button).is-active{background:#1387c5}

/* In-page full-screen viewer with an obvious, reliable return to the PDP. */
.gm-gallery-viewer-toggle{position:fixed;opacity:0;pointer-events:none}
.gm-gallery-viewer-toggle:not(:checked)~.gm-gallery-lightbox{display:none}
.gm-gallery-viewer-toggle:checked~.gm-gallery-lightbox{display:grid}
.gm-gallery-lightbox{position:fixed;z-index:260;inset:0;width:100%;height:100%;place-items:center;background:#fff}
.gm-gallery-lightbox-backdrop{position:absolute;inset:0;border:0;padding:0;background:#fff}
.gm-gallery-lightbox-track{position:absolute;z-index:2;inset:56px 0 28px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.gm-gallery-lightbox-track figure{position:relative;display:grid;min-width:100%;height:100%;margin:0;padding:0 16px;place-items:center;scroll-snap-align:center;scroll-snap-stop:always}
.gm-gallery-lightbox-track img{display:block;max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.gm-gallery-lightbox-track figure span{position:absolute;right:0;bottom:-20px;left:0;color:#687177;text-align:center;font-size:12px;font-weight:700}
.gm-gallery-lightbox-close{position:absolute;z-index:3;top:max(12px,env(safe-area-inset-top));right:14px;display:grid;width:40px;height:40px;border:1px solid #d8dcde;border-radius:50%;padding:0;place-items:center;background:#fff;color:#4d5559;box-shadow:0 1px 4px rgba(0,0,0,.16);font-size:30px;font-weight:300;line-height:36px;cursor:pointer}
body.gm-gallery-lightbox-open{overflow:hidden}

/* Keep PDP sheets, delivery modal and the fixed buy bar aligned to the responsive shell. */
.gm-variant-sheet,.gm-delivery-modal{width:100%;max-width:var(--gm-shell-max)}
.gm-pdp-buybar,.gm-pdp-options .woocommerce-variation-add-to-cart{width:min(100%,var(--gm-shell-max))!important}
@media(max-width:932px){
  .gm-variant-sheet,.gm-delivery-modal{max-width:none}
  .gm-pdp-buybar,.gm-pdp-options .woocommerce-variation-add-to-cart{width:100%!important}
}

/* Preserve product-description specification tables on small screens. */
.gm-pdp-copy-body table{display:table!important;width:100%!important;margin:12px 0!important;border:1px solid #cfd3d5!important;border-collapse:collapse!important;border-spacing:0!important;table-layout:fixed!important;background:#fff;color:#333}
.gm-pdp-copy-body thead{display:table-header-group!important}.gm-pdp-copy-body tbody{display:table-row-group!important}.gm-pdp-copy-body tr{display:table-row!important}
.gm-pdp-copy-body th,.gm-pdp-copy-body td{display:table-cell!important;height:auto!important;border:1px solid #cfd3d5!important;padding:5px 6px!important;vertical-align:top!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere;font-size:10px!important;line-height:14px!important}
.gm-pdp-copy-body th:first-child,.gm-pdp-copy-body td:first-child{width:39%}.gm-pdp-copy-body th:nth-child(2),.gm-pdp-copy-body td:nth-child(2){width:61%}
