/* ============================================
   Ubuntu Gas E-Commerce - Modern Stylesheet
   Professional, Mobile-First Design
   Fire & Heating Theme
   ============================================ */

:root {
    --primary: #A40000;
    --primary-dark: #760000;
    --primary-light: #FDEBEA;
    --secondary: #3D3D3D;
    --success: #009020;
    --warning: #f59e0b;
    --danger: #ef4444;
    --info: #06b6d4;
    --dark: #001C8F;
    --light: #F5F6FA;
    --gray: #94a3b8;
    --gray-light: #e2e8f0;
    --white: #ffffff;
    --black: #000000;

    --font-main: 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-heading: 'Segoe UI', system-ui, sans-serif;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);

    --radius: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;

    --transition: all 0.3s ease;
}

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

* {
    box-sizing: border-box;
}

html { 
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: var(--font-main);
    color: var(--dark);
    background: var(--light);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    max-width: 100vw;
}

a { text-decoration: none; color: var(--primary); transition: var(--transition); }
a:hover { color: var(--primary-dark); }

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

/* ============================================
   HEADER & NAVIGATION
   ============================================ */

.top-bar {
    background: var(--dark);
    color: var(--white);
    padding: 8px 0;
    font-size: 13px;
}

.top-bar-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.top-bar-inner > div {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.top-bar a { color: var(--white); opacity: 0.9; }
.top-bar a:hover { opacity: 1; }

.main-header {
    background: var(--white);
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.logo {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    letter-spacing: -1px;
    display: flex;
    align-items: center;
}

.logo img {
    height: 40px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
}

.logo span { color: var(--dark); }

.nav-menu {
    display: flex;
    list-style: none;
    gap: 32px;
    align-items: center;
}

.nav-menu a {
    color: var(--dark);
    font-weight: 500;
    font-size: 15px;
    position: relative;
}

.nav-menu a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary);
    transition: var(--transition);
}

.nav-menu a:hover::after { width: 100%; }

.nav-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.nav-icon {
    position: relative;
    color: var(--dark);
    font-size: 20px;
    cursor: pointer;
    transition: var(--transition);
}

.nav-icon:hover { color: var(--primary); }

.cart-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #9ca3af;
    color: var(--white);
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    transition: all 0.2s ease;
}

.cart-badge.has-items {
    background: var(--danger);
    animation: badge-pop 0.3s ease;
}

@keyframes badge-pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--dark);
}

/* ============================================
   HERO SECTION
   ============================================ */

.hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: var(--white);
    padding: 80px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></svg>');
    background-size: 100px 100px;
    opacity: 0.3;
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.hero h1 {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 16px;
    line-height: 1.2;
}

.hero p {
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 32px;
}

/* Hero Slideshow */
.hero-slideshow {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 0;
}

.hero-slide {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
}

.hero-slide.active {
    opacity: 1;
}

.hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(29,24,24,0.82) 0%, rgba(118,0,0,0.72) 100%);
    z-index: 1;
}

.hero-with-slides .hero-content {
    position: relative;
    z-index: 2;
}

/* Hero badge */
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.35);
    backdrop-filter: blur(4px);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
}

.hero-accent {
    color: #FFD98A;
}

.hero-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.hero-trust {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-trust span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    opacity: 0.95;
}

.hero-trust i {
    color: #FFD98A;
}

/* Perks bar */
.perks-bar {
    background: var(--white);
    border-bottom: 1px solid var(--gray-light);
}

.perks-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.perk {
    display: flex;
    align-items: center;
    gap: 14px;
}

.perk-icon {
    flex: 0 0 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--primary-light);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}

.perk strong {
    display: block;
    font-size: 15px;
    color: var(--dark);
    margin-bottom: 2px;
}

.perk span {
    font-size: 13px;
    color: var(--secondary);
}

/* Brand strip */
.brand-strip {
    background: var(--light);
    padding: 32px 20px;
    text-align: center;
}

.brand-strip-title {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gray);
    margin-bottom: 20px;
}

.brand-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.brand-logo {
    font-size: 20px;
    font-weight: 700;
    color: var(--secondary);
    opacity: 0.6;
    transition: var(--transition);
    letter-spacing: 0.5px;
}

.brand-logo:hover {
    opacity: 1;
    color: var(--primary);
}

.brand-logo-img {
    display: inline-flex;
    align-items: center;
}

.brand-logo-img img {
    max-height: 48px;
    max-width: 180px;
    height: auto;
    width: auto;
    filter: grayscale(1);
    opacity: 0.7;
    transition: var(--transition);
}

.brand-logo-img:hover img {
    filter: grayscale(0);
    opacity: 1;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: var(--radius);
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: var(--transition);
    border: none;
    outline: none;
}

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

.btn-primary:hover {
    background: var(--light);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.btn-outline {
    background: transparent;
    color: var(--white);
    border: 2px solid var(--white);
}

.btn-outline:hover {
    background: var(--white);
    color: var(--primary);
}

/* Light background outline button */
.btn-outline-dark {
    background: transparent;
    color: var(--dark);
    border: 2px solid var(--gray-light);
}

.btn-outline-dark:hover {
    background: var(--light);
    border-color: var(--primary);
    color: var(--primary);
}

.btn-success {
    background: var(--success);
    color: var(--white);
}

.btn-success:hover {
    background: #059669;
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.btn-danger {
    background: var(--danger);
    color: var(--white);
}

.btn-danger:hover {
    background: #dc2626;
}

/* ============================================
   SECTIONS & CONTAINERS
   ============================================ */

.section {
    padding: 60px 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.section-title {
    text-align: center;
    margin-bottom: 48px;
}

.section-title h2 {
    font-size: 32px;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 8px;
}

.section-title p {
    color: var(--secondary);
    font-size: 16px;
}

/* ============================================
   PRODUCT CARDS
   ============================================ */

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.product-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    position: relative;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.product-image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--gray-light);
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

.product-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.badge-sale { background: var(--danger); color: var(--white); }
.badge-new { background: var(--success); color: var(--white); }
.badge-featured { background: var(--warning); color: var(--dark); }

.product-actions {
    position: absolute;
    bottom: 12px;
    right: 12px;
    display: flex;
    gap: 8px;
    opacity: 0;
    transform: translateY(10px);
    transition: var(--transition);
}

.product-card:hover .product-actions {
    opacity: 1;
    transform: translateY(0);
}

.action-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--white);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow);
    color: var(--dark);
    transition: var(--transition);
}

.action-btn:hover {
    background: var(--primary);
    color: var(--white);
}

.product-info {
    padding: 16px;
}

.product-category {
    font-size: 12px;
    color: var(--primary);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.product-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

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

.price-current {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
}

.price-old {
    font-size: 14px;
    color: var(--gray);
    text-decoration: line-through;
}

.product-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    font-size: 13px;
    color: var(--warning);
}

/* ============================================
   CATEGORIES
   ============================================ */

.category-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.category-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    text-align: center;
    padding: 32px 20px;
    flex: 0 0 200px;
    max-width: 240px;
}

.category-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.category-icon {
    width: 64px;
    height: 64px;
    background: var(--primary-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-size: 28px;
    color: var(--primary);
}

.category-card h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 4px;
}

.category-card p {
    font-size: 14px;
    color: var(--secondary);
}

/* ============================================
   PRODUCT DETAIL PAGE
   ============================================ */

.product-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    padding: 40px 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.product-gallery {
    position: relative;
}

.main-image {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--gray-light);
    aspect-ratio: 1;
}

.main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail-list {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

.thumbnail {
    width: 80px;
    height: 80px;
    border-radius: var(--radius);
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: var(--transition);
}

.thumbnail:hover, .thumbnail.active {
    border-color: var(--primary);
}

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

.product-meta h1 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 1.3;
}

.product-meta .price {
    font-size: 36px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 24px;
}

.product-meta .description {
    color: var(--secondary);
    margin-bottom: 24px;
    line-height: 1.8;
}

.quantity-selector {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.quantity-selector label {
    font-weight: 600;
}

.qty-btn {
    width: 40px;
    height: 40px;
    border: 1px solid var(--gray-light);
    background: var(--white);
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 18px;
    transition: var(--transition);
}

.qty-btn:hover {
    background: var(--primary-light);
    border-color: var(--primary);
}

.qty-input {
    width: 60px;
    height: 40px;
    text-align: center;
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    font-size: 16px;
    font-weight: 600;
}

.btn-add-cart {
    width: 100%;
    padding: 16px;
    background: var(--primary);
    color: var(--white);
    border: none;
    border-radius: var(--radius);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-add-cart:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.product-tabs {
    margin-top: 48px;
    border-top: 1px solid var(--gray-light);
    padding-top: 32px;
}

.tab-nav {
    display: flex;
    gap: 32px;
    border-bottom: 2px solid var(--gray-light);
    margin-bottom: 24px;
}

.tab-nav button {
    background: none;
    border: none;
    padding: 12px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--secondary);
    cursor: pointer;
    position: relative;
    transition: var(--transition);
}

.tab-nav button.active {
    color: var(--primary);
}

.tab-nav button.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--primary);
}

/* ============================================
   CART & CHECKOUT
   ============================================ */

.cart-page {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 20px;
}

.cart-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
}

.cart-items {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 24px;
    box-shadow: var(--shadow-sm);
}

.cart-item {
    display: grid;
    grid-template-columns: 100px 1fr auto auto auto;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--gray-light);
}

.cart-item:last-child { border-bottom: none; }

.cart-item img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: var(--radius);
}

.cart-item-info h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}

.cart-item-info p {
    font-size: 13px;
    color: var(--secondary);
}

.cart-item-price {
    font-weight: 600;
    color: var(--primary);
}

.cart-item-total {
    font-weight: 700;
    font-size: 16px;
}

.remove-btn {
    background: none;
    border: none;
    color: var(--danger);
    cursor: pointer;
    font-size: 18px;
    transition: var(--transition);
}

.remove-btn:hover { transform: scale(1.1); }

.cart-summary {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    height: fit-content;
    position: sticky;
    top: 90px;
}

.cart-summary h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gray-light);
}

.summary-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 15px;
}

.summary-row.total {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    border-top: 2px solid var(--gray-light);
    margin-top: 8px;
    padding-top: 16px;
}

.checkout-form {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px;
    box-shadow: var(--shadow-sm);
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 14px;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    font-size: 15px;
    transition: var(--transition);
    font-family: inherit;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-light);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* ============================================
   ORDER TRACKING / STATUS
   ============================================ */

.order-status-tracker {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 32px 0;
    position: relative;
}

.order-status-tracker::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--gray-light);
    z-index: 0;
}

.status-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    flex: 1;
}

.status-dot {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--white);
    border: 3px solid var(--gray-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-bottom: 8px;
    transition: var(--transition);
}

.status-step.active .status-dot {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

.status-step.completed .status-dot {
    background: var(--success);
    border-color: var(--success);
    color: var(--white);
}

.status-label {
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    color: var(--secondary);
}

.status-step.active .status-label,
.status-step.completed .status-label {
    color: var(--dark);
}

/* ============================================
   EFT PAYMENT SECTION
   ============================================ */

.eft-section {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 2px dashed var(--primary);
    border-radius: var(--radius-lg);
    padding: 32px;
    margin: 24px 0;
    text-align: center;
}

.eft-section h3 {
    color: var(--primary);
    margin-bottom: 16px;
    font-size: 22px;
}

.bank-details {
    background: var(--white);
    border-radius: var(--radius);
    padding: 24px;
    margin: 16px 0;
    text-align: left;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.bank-details-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid var(--gray-light);
}

.bank-details-row:last-child { border-bottom: none; }

.bank-details-row strong {
    color: var(--dark);
}

.bank-details-row span {
    font-family: monospace;
    font-size: 15px;
    color: var(--primary);
    font-weight: 600;
}

.reference-note {
    background: var(--warning);
    color: var(--dark);
    padding: 12px 16px;
    border-radius: var(--radius);
    font-weight: 600;
    margin-top: 16px;
}

/* ============================================
   FOOTER
   ============================================ */

.main-footer {
    background: var(--dark);
    color: var(--white);
    padding: 60px 20px 20px;
    margin-top: 60px;
}

.footer-grid {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

.footer-brand h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 16px;
}

.footer-brand p {
    opacity: 0.8;
    line-height: 1.8;
    margin-bottom: 20px;
}

.footer-social {
    display: flex;
    gap: 12px;
}

.footer-social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    transition: var(--transition);
}

.footer-social a:hover {
    background: var(--primary);
    transform: translateY(-2px);
}

.footer-links h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--white);
}

.footer-links ul {
    list-style: none;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: rgba(255,255,255,0.7);
    font-size: 14px;
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--white);
    padding-left: 4px;
}

.footer-bottom {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    opacity: 0.7;
}

/* ============================================
   ALERTS & MESSAGES
   ============================================ */

.alert {
    padding: 16px 20px;
    border-radius: var(--radius);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
}

.alert-success { background: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; }
.alert-error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.alert-warning { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; }
.alert-info { background: #dbeafe; color: #1e40af; border: 1px solid #bfdbfe; }

/* ============================================
   PAGINATION
   ============================================ */

.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
}

.pagination a,
.pagination span {
    padding: 10px 16px;
    border-radius: var(--radius);
    font-weight: 500;
    transition: var(--transition);
}

.pagination a {
    background: var(--white);
    color: var(--dark);
    box-shadow: var(--shadow-sm);
}

.pagination a:hover {
    background: var(--primary);
    color: var(--white);
}

.pagination span {
    background: var(--primary);
    color: var(--white);
}

/* ============================================
   WHATSAPP FLOATING BUTTON
   ============================================ */

.whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 60px;
    height: 60px;
    background: #25d366;
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: var(--shadow-lg);
    z-index: 999;
    transition: var(--transition);
    animation: pulse 2s infinite;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    background: #128c7e;
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
    70% { box-shadow: 0 0 0 20px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* ============================================
   BREADCRUMB
   ============================================ */

.breadcrumb {
    background: var(--white);
    padding: 16px 20px;
    border-bottom: 1px solid var(--gray-light);
}

.breadcrumb-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.breadcrumb a { color: var(--secondary); }
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb span { color: var(--gray); }

/* ============================================
   SEARCH & FILTERS
   ============================================ */

.search-bar {
    display: flex;
    gap: 12px;
    margin-bottom: 32px;
}

.search-bar input {
    flex: 1;
    padding: 14px 20px;
    border: 2px solid var(--gray-light);
    border-radius: var(--radius);
    font-size: 15px;
    transition: var(--transition);
}

.search-bar input:focus {
    outline: none;
    border-color: var(--primary);
}

.search-bar button {
    padding: 14px 28px;
    background: var(--primary);
    color: var(--white);
    border: none;
    border-radius: var(--radius);
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
}

.search-bar button:hover {
    background: var(--primary-dark);
}

.filter-sidebar {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    height: fit-content;
}

.filter-group {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--gray-light);
}

.filter-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.filter-group h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 12px;
}

.filter-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    cursor: pointer;
    font-size: 14px;
}

.filter-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
}

.price-range {
    display: flex;
    gap: 12px;
    align-items: center;
}

.price-range input {
    width: 100px;
    padding: 8px 12px;
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
}

/* Shop Layout */
.shop-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
}

.mobile-filter-toggle {
    display: none;
    width: 100%;
    padding: 12px 16px;
    background: var(--white);
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    color: var(--dark);
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 16px;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.shop-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 8px;
}

.shop-title {
    font-size: 24px;
    margin: 0;
}

.shop-count {
    color: var(--secondary);
    font-size: 14px;
}

/* Subcategory navigation */
.filter-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--gray);
    margin-bottom: 6px;
}

.category-dropdown {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--gray-light);
    border-radius: var(--radius);
    background: var(--white);
    font-size: 14px;
    font-family: inherit;
    color: var(--dark);
    cursor: pointer;
    transition: var(--transition);
}

.category-dropdown:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-light);
}

/* ============================================
   HOMEPAGE EXTENSIONS
   ============================================ */

.btn-lg {
    padding: 14px 38px;
    font-size: 16px;
}

.category-grid.categories-home {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.categories-home .category-card {
    flex: none;
    max-width: none;
    width: 100%;
    padding: 32px 24px;
    text-decoration: none;
    border: 1px solid var(--gray-light);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.categories-home .category-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.categories-home .category-card:hover::after {
    transform: scaleX(1);
}

.categories-home .category-icon {
    width: 72px;
    height: 72px;
    font-size: 30px;
}

.categories-home .category-media {
    position: relative;
    width: 100%;
    height: 150px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    overflow: hidden;
    margin-bottom: 20px;
    background: var(--gray-light);
}

.categories-home .category-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.categories-home .category-card:hover .category-media img {
    transform: scale(1.08);
}

.categories-home .category-media-icon {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    box-shadow: var(--shadow-sm);
}

.categories-home .category-card {
    padding: 0 24px 32px;
}

.category-count {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    background: var(--primary-light);
    padding: 3px 12px;
    border-radius: 999px;
    margin-top: 12px;
}

.category-link {
    margin-top: 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: var(--transition);
}

.categories-home .category-card:hover .category-link {
    color: var(--primary);
    gap: 10px;
}

/* Features grid (Why Choose Us) */
.section-alt {
    background: var(--light);
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 24px;
}

.feature-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 36px 28px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--gray-light);
    transition: var(--transition);
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.feature-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0 auto 18px;
}

.feature-icon-red { background: #FDEBEA; color: #A40000; }
.feature-icon-green { background: #E3F5E6; color: #009020; }
.feature-icon-blue { background: #E6EBFB; color: #001C8F; }

.feature-card h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.feature-card p {
    font-size: 14px;
    color: var(--secondary);
    line-height: 1.6;
}

/* Newsletter */
.newsletter-section {
    padding-top: 0;
    padding-bottom: 60px;
}

.newsletter-box {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    border-radius: var(--radius-xl);
    padding: 48px 32px;
    color: var(--white);
    text-align: center;
}

.newsletter-content h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 8px;
}

.newsletter-content p {
    opacity: 0.85;
    margin-bottom: 24px;
}

/* ============================================
   LOGIN / REGISTER FORMS
   ============================================ */

.auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary-light) 0%, var(--light) 100%);
    padding: 40px 20px;
}

.auth-card {
    background: var(--white);
    border-radius: var(--radius-xl);
    padding: 48px;
    width: 100%;
    max-width: 480px;
    box-shadow: var(--shadow-xl);
}

.auth-card h2 {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 8px;
}

.auth-card p {
    text-align: center;
    color: var(--secondary);
    margin-bottom: 32px;
}

.auth-logo {
    text-align: center;
    margin-bottom: 24px;
    font-size: 32px;
    font-weight: 800;
    color: var(--primary);
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 1024px) {
    .product-detail {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .cart-grid {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .mobile-menu-btn {
        display: block;
    }

    .perks-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .brand-logos {
        gap: 24px;
    }

    .brand-logo {
        font-size: 16px;
    }

    .nav-menu {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background: var(--white);
        flex-direction: column;
        padding: 20px;
        box-shadow: var(--shadow-lg);
        gap: 16px;
    }

    .nav-menu.active {
        display: flex;
    }

    .hero h1 {
        font-size: 32px;
    }

    .hero p {
        font-size: 16px;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .category-grid {
        gap: 16px;
    }
    .category-card {
        flex: 0 0 160px;
        max-width: 180px;
        padding: 24px 16px;
    }

    .cart-item {
        grid-template-columns: 80px 1fr;
        gap: 12px;
    }

    .cart-item-price,
    .cart-item-total {
        grid-column: 2;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .order-status-tracker {
        flex-wrap: wrap;
        gap: 16px;
    }

    .status-step {
        flex: 0 0 calc(33.333% - 11px);
    }

    .section {
        padding: 40px 16px;
    }

    .auth-card {
        padding: 32px 24px;
    }
}

@media (max-width: 480px) {
    .product-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        padding: 60px 16px;
    }

    .hero h1 {
        font-size: 28px;
    }

    .perks-inner {
        grid-template-columns: 1fr;
        padding: 16px 16px;
    }

    .hero-trust {
        gap: 12px;
        flex-direction: column;
    }

    .brand-logos {
        gap: 14px;
    }

    .header-inner {
        padding: 0 16px;
    }

    .logo {
        font-size: 22px;
    }

    .whatsapp-float {
        width: 50px;
        height: 50px;
        font-size: 24px;
        bottom: 16px;
        right: 16px;
    }
}

/* ============================================
   ANIMATIONS
   ============================================ */

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.5s ease forwards;
}

/* ============================================
   UTILITIES
   ============================================ */

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mt-4 { margin-top: 32px; }

.mb-1 { margin-bottom: 8px; }
.mb-2 { margin-bottom: 16px; }
.mb-3 { margin-bottom: 24px; }
.mb-4 { margin-bottom: 32px; }

.hidden { display: none; }

.loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid var(--gray-light);
    border-radius: 50%;
    border-top-color: var(--primary);
    animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Shipping Method Selector */
.shipping-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.shipping-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 2px solid var(--gray-light);
    border-radius: var(--radius);
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--white);
}

.shipping-option:hover {
    border-color: var(--primary);
}

.shipping-option.selected {
    border-color: var(--primary);
    background: var(--primary-light);
}

.shipping-option input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--primary);
    cursor: pointer;
}

.shipping-option-content {
    flex: 1;
}

.shipping-option-title {
    font-weight: 600;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.shipping-option-title i {
    color: var(--primary);
    font-size: 18px;
}

.shipping-option-desc {
    font-size: 13px;
    color: var(--secondary);
    margin-top: 4px;
}

.pickup-info {
    background: var(--primary-light);
    border-left: 4px solid var(--primary);
    padding: 16px;
    border-radius: var(--radius);
    font-size: 14px;
    color: var(--dark);
    line-height: 1.6;
}

.pickup-info i {
    color: var(--primary);
    margin-right: 8px;
}

@media (max-width: 480px) {
    .shipping-options {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   RESPONSIVE ENHANCEMENTS
   ============================================ */

@media (max-width: 768px) {
    .top-bar {
        display: none;
    }

    .header-inner {
        height: 64px;
        padding: 0 16px;
    }

    .logo img {
        height: 32px;
        max-width: 140px;
    }

    .nav-actions {
        gap: 12px;
    }

    .nav-icon {
        font-size: 18px;
    }

    .cart-badge {
        top: -6px;
        right: -6px;
        font-size: 10px;
        min-width: 16px;
        height: 16px;
    }

    .product-detail {
        padding: 24px 16px;
        gap: 24px;
    }

    .product-meta h1 {
        font-size: 24px;
    }

    .product-meta .price {
        font-size: 28px;
    }

    .product-gallery .thumbnail-list {
        gap: 8px;
        justify-content: center;
    }

    .thumbnail {
        width: 60px;
        height: 60px;
    }

    .add-to-cart-form {
        flex-direction: column;
        align-items: stretch;
    }

    .add-to-cart-form .quantity-selector {
        justify-content: center;
    }

    .product-meta > div:last-of-type {
        flex-wrap: wrap;
    }

    .cart-page {
        padding: 24px 16px;
    }

    .cart-item {
        grid-template-columns: 80px 1fr;
        gap: 12px;
    }

    .cart-item img {
        width: 80px;
        height: 80px;
    }

    .cart-item-info h4 {
        font-size: 15px;
    }

    .cart-item-price,
    .cart-item-total {
        grid-column: 2;
        text-align: left;
    }

    .checkout-form {
        padding: 24px 20px;
    }

    .eft-section {
        padding: 24px 20px;
    }

    .bank-details {
        padding: 16px;
    }

    .bank-details-row {
        flex-direction: column;
        gap: 4px;
        align-items: flex-start;
    }

    .contact-form > div,
    .newsletter-form > div {
        width: 100%;
    }

    .newsletter-form {
        flex-direction: column;
    }

    .newsletter-form button {
        width: 100%;
    }

    .robot-check {
        width: 100%;
        margin: 8px 0;
    }

    .g-recaptcha {
        transform-origin: 0 0;
        transform: scale(0.9);
    }

    .search-bar {
        flex-direction: column;
    }

    .search-bar button {
        width: 100%;
    }

    .filter-sidebar {
        padding: 20px;
    }

    .price-range input {
        width: 100%;
    }

    .order-status-tracker {
        margin: 24px 0;
    }

    .status-step {
        flex: 0 0 calc(50% - 8px);
    }
}

@media (max-width: 480px) {
    .hero h1 {
        font-size: 26px;
    }

    .section-title h2 {
        font-size: 24px;
    }

    .auth-card {
        padding: 28px 20px;
    }

    .auth-card h2 {
        font-size: 24px;
    }

    .category-card {
        flex: 0 0 140px;
        max-width: 160px;
        padding: 20px 14px;
    }

    .category-icon {
        width: 48px;
        height: 48px;
        font-size: 22px;
    }

    .g-recaptcha {
        transform: scale(0.82);
    }
}

/* Mobile fit fixes */
@media (max-width: 480px) {
    .cart-summary {
        padding: 20px 16px;
        width: 100%;
        min-width: 0;
    }

    .cart-summary .btn,
    .checkout-form .btn {
        white-space: normal;
        word-break: break-word;
        padding: 12px 16px;
        font-size: 14px;
    }

    .order-status-tracker {
        flex-wrap: wrap;
        gap: 12px;
        margin: 20px 0;
    }

    .status-step {
        flex: 0 0 calc(33.333% - 8px);
        min-width: 0;
    }

    .status-dot {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    .status-label {
        font-size: 10px;
        word-break: break-word;
        padding: 0 2px;
    }

    .checkout-form,
    .eft-section,
    .bank-details {
        padding: 20px 16px;
        width: 100%;
        min-width: 0;
    }

    .bank-details-row {
        flex-direction: column;
        gap: 4px;
        word-break: break-word;
    }

    .cart-grid > div {
        min-width: 0;
    }

    .robot-check {
        width: 100%;
    }
}

.order-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 480px) {
    .order-info-grid {
        grid-template-columns: 1fr;
    }
}

/* Mobile Shop Layout */
@media (max-width: 768px) {
    .shop-layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mobile-filter-toggle {
        display: inline-flex;
    }

    .filter-sidebar {
        display: none;
        order: 2;
        margin-bottom: 16px;
    }

    .filter-sidebar.open {
        display: block;
    }

    .shop-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        margin-bottom: 16px;
    }

    .shop-title {
        font-size: 20px;
    }

    .shop-count {
        font-size: 13px;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .product-card {
        border-radius: var(--radius);
    }

    .product-image {
        height: 160px;
    }

    .product-info {
        padding: 12px;
    }

    .product-name {
        font-size: 14px;
    }

    .price-current {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .product-image {
        height: 140px;
    }

    .product-actions {
        display: none;
    }
}

/* Modal Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    padding: 20px;
}

.modal-overlay.open {
    opacity: 1;
    visibility: visible;
}

.modal-content {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.95);
    transition: transform 0.2s ease;
}

.modal-overlay.open .modal-content {
    transform: scale(1);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--gray-light);
}

.modal-header h3 {
    margin: 0;
    font-size: 18px;
}

.modal-close {
    background: none;
    border: none;
    font-size: 20px;
    color: var(--secondary);
    cursor: pointer;
    padding: 4px;
}

.modal-close:hover {
    color: var(--dark);
}

.modal-body {
    padding: 24px;
}

@media (max-width: 480px) {
    .modal-overlay {
        padding: 12px;
    }

    .modal-content {
        max-height: 95vh;
    }

    .modal-header {
        padding: 16px 20px;
    }

    .modal-body {
        padding: 20px;
    }
}

/* ========================================================================
   UBUNTU GAS — 2026 PREMIUM STOREFRONT REDESIGN
   Visual language: architectural showroom + industrial gas/fire branding
   ======================================================================== */
:root {
    --ug-red: #cf1017;
    --ug-red-dark: #a8090e;
    --ug-black: #080a0c;
    --ug-charcoal: #14171a;
    --ug-steel: #6f7479;
    --ug-silver: #d9dcde;
    --ug-paper: #f4f4f1;
    --ug-white: #ffffff;
    --ug-green: #138f45;
    --ug-blue: #0b47b7;
    --ug-max: 1480px;
    --ug-pad: clamp(22px, 4vw, 72px);
}
body { background: var(--ug-paper); color: var(--ug-black); font-family: 'Manrope', sans-serif; }
body > .top-bar, body > .main-header { display:none !important; }
.ug-container { width:min(var(--ug-max), calc(100% - (var(--ug-pad) * 2))); margin:0 auto; }
.ug-topbar { background:var(--ug-black); color:#c9ccce; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.ug-topbar-inner { width:min(var(--ug-max), calc(100% - (var(--ug-pad) * 2))); margin:0 auto; min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.ug-topbar-left,.ug-topbar-right { display:flex; align-items:center; gap:24px; }
.ug-topbar i { color:var(--ug-red); margin-right:7px; }
.ug-topbar a { color:#c9ccce; }
.ug-topbar a:hover { color:#fff; }

.ug-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.97); border-bottom:1px solid #dedede; backdrop-filter:blur(16px); }
.ug-header-inner { width:min(var(--ug-max), calc(100% - (var(--ug-pad) * 2))); height:94px; margin:0 auto; display:grid; grid-template-columns:280px 1fr auto; gap:30px; align-items:center; }
.ug-logo { width:265px; height:68px; overflow:hidden; display:flex; align-items:center; }
.ug-logo img { width:100%; height:100%; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }
.ug-nav { justify-self:center; }
.ug-nav .nav-menu { gap:clamp(22px,2.6vw,44px); }
.ug-nav .nav-menu a { color:var(--ug-black); font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ug-nav .nav-menu a::after { height:3px; bottom:-12px; background:var(--ug-red); }
.ug-header-actions { display:flex; align-items:center; gap:6px; }
.ug-icon-btn,.ug-menu-btn { width:42px; height:42px; border:0; background:transparent; color:var(--ug-black); display:grid; place-items:center; position:relative; font-size:17px; cursor:pointer; }
.ug-icon-btn:hover,.ug-menu-btn:hover { color:var(--ug-red); background:#f4f4f4; }
.ug-menu-btn { display:none; }
.cart-badge { top:1px; right:1px; background:var(--ug-black); border:2px solid #fff; width:18px; height:18px; min-width:18px; font-size:9px; }
.cart-badge.has-items { background:var(--ug-red); }

.ug-home { overflow:hidden; }
.ug-hero { min-height:clamp(660px,80vh,900px); position:relative; display:flex; align-items:flex-end; background:#111; color:#fff; }
.ug-hero-visual,.ug-hero-slide,.ug-hero-shade { position:absolute; inset:0; }
.ug-hero-slide { background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; transform:scale(1.02); }
.ug-hero-slide.active { opacity:1; }
.ug-hero-fallback { background:radial-gradient(circle at 70% 30%, #4a0b0d 0%, #17191b 40%, #090a0b 75%); }
.ug-hero-shade { background:linear-gradient(90deg,rgba(3,4,5,.9) 0%,rgba(3,4,5,.67) 42%,rgba(3,4,5,.13) 78%),linear-gradient(0deg,rgba(3,4,5,.62),transparent 45%); }
.ug-hero-shell { width:min(var(--ug-max), calc(100% - (var(--ug-pad) * 2))); margin:0 auto; padding:110px 0 86px; position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.ug-hero-copy { max-width:800px; }
.ug-eyebrow,.ug-section-kicker { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.2em; display:flex; align-items:center; gap:11px; }
.ug-eyebrow { color:#e8e8e8; margin-bottom:26px; }
.ug-eyebrow span { display:block; width:34px; height:3px; background:var(--ug-red); }
.ug-hero h1 { margin:0 0 28px; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:clamp(72px,8.2vw,136px); line-height:.78; text-transform:uppercase; letter-spacing:-.035em; }
.ug-hero h1 em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.7); }
.ug-hero-copy > p { max-width:640px; margin:0 0 34px; font-size:clamp(16px,1.35vw,20px); line-height:1.75; color:#e2e2e2; }
.ug-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.ug-btn { min-height:54px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid transparent; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; letter-spacing:.08em; text-transform:uppercase; }
.ug-btn-primary { background:var(--ug-red); color:#fff; }
.ug-btn-primary:hover { background:#fff; color:var(--ug-black); }
.ug-btn-ghost { border-color:rgba(255,255,255,.5); color:#fff; }
.ug-btn-ghost:hover { background:#fff; color:#000; }
.ug-btn-light { background:#fff; color:#090909; }
.ug-btn-light:hover { background:var(--ug-red); color:#fff; }
.ug-hero-aside { width:210px; flex:0 0 210px; border-left:1px solid rgba(255,255,255,.28); }
.ug-hero-stat { padding:18px 0 18px 26px; border-bottom:1px solid rgba(255,255,255,.18); }
.ug-hero-stat strong { display:block; color:#fff; font-family:'Barlow Condensed',sans-serif; font-size:23px; letter-spacing:.04em; }
.ug-hero-stat span { font-size:11px; color:#bbb; text-transform:uppercase; letter-spacing:.09em; }
.ug-scroll-cue { position:absolute; z-index:3; right:var(--ug-pad); bottom:28px; display:flex; gap:14px; align-items:center; color:#fff; font-size:10px; text-transform:uppercase; letter-spacing:.15em; }
.ug-scroll-cue:hover { color:#fff; transform:translateY(3px); }

.ug-intro { padding:clamp(80px,10vw,150px) 0; background:#fff; }
.ug-intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(60px,10vw,160px); align-items:end; }
.ug-section-kicker { color:var(--ug-red); margin-bottom:22px; }
.ug-intro h2,.ug-section-head h2,.ug-feature-band h2,.ug-trust h2,.ug-newsletter h2 { margin:0; font-family:'Barlow Condensed',sans-serif; font-size:clamp(54px,5.6vw,92px); line-height:.92; text-transform:uppercase; letter-spacing:-.025em; color:var(--ug-black); }
.ug-intro-copy p { margin:0 0 34px; color:#515458; font-size:17px; line-height:1.9; max-width:610px; }
.ug-text-link { color:var(--ug-black); font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.08em; border-bottom:2px solid var(--ug-red); padding-bottom:8px; display:inline-flex; align-items:center; gap:12px; }
.ug-text-link:hover { color:var(--ug-red); }

.ug-categories { padding:clamp(80px,9vw,140px) 0; background:var(--ug-paper); }
.ug-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:50px; }
.ug-category-mosaic { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:260px; gap:16px; }
.ug-category-tile { position:relative; overflow:hidden; background:#17191b; color:#fff; }
.ug-category-tile-1 { grid-column:span 7; grid-row:span 2; }
.ug-category-tile-2 { grid-column:span 5; }
.ug-category-tile-3 { grid-column:span 5; }
.ug-category-tile-4,.ug-category-tile-5,.ug-category-tile-6 { grid-column:span 4; }
.ug-category-tile img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.ug-category-placeholder { width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(135deg,#242629,#101113); color:#34373a; font-size:90px; }
.ug-category-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,4,4,.8) 0%,rgba(4,4,4,.05) 70%); }
.ug-category-content { position:absolute; left:30px; right:30px; bottom:26px; z-index:2; }
.ug-category-content > span { color:#ddd; font-size:10px; letter-spacing:.15em; }
.ug-category-content h3 { margin:6px 0 10px; color:#fff; font-family:'Barlow Condensed',sans-serif; font-size:clamp(28px,3vw,46px); line-height:1; text-transform:uppercase; }
.ug-category-content div { font-size:11px; text-transform:uppercase; letter-spacing:.1em; display:flex; justify-content:space-between; align-items:center; max-width:190px; color:#ddd; }
.ug-category-tile:hover img { transform:scale(1.055); }
.ug-category-tile:hover .ug-category-content div { color:#fff; }

.ug-feature-band { padding:clamp(90px,10vw,150px) 0; color:#fff; background:linear-gradient(120deg,#090a0b 0%,#16191c 70%,#2c0c0d 100%); position:relative; }
.ug-feature-band::after { content:'GAS'; position:absolute; right:-20px; top:50%; transform:translateY(-50%); font-family:'Barlow Condensed'; font-size:360px; font-weight:800; line-height:1; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.035); pointer-events:none; }
.ug-feature-band-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(50px,8vw,130px); position:relative; z-index:1; }
.ug-kicker-light { color:#ef3b40; }
.ug-feature-band h2,.ug-trust h2 { color:#fff; font-size:clamp(54px,5vw,82px); }
.ug-feature-band-copy p { max-width:560px; margin:30px 0 38px; color:#bfc2c4; line-height:1.85; }
.ug-feature-cards { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #35383b; border-left:1px solid #35383b; }
.ug-feature-cards article { min-height:220px; padding:34px; border-right:1px solid #35383b; border-bottom:1px solid #35383b; }
.ug-feature-cards i { font-size:26px; color:var(--ug-red); margin-bottom:38px; }
.ug-feature-cards strong { display:block; font-family:'Barlow Condensed'; font-size:26px; text-transform:uppercase; color:#fff; margin-bottom:8px; }
.ug-feature-cards span { color:#999da0; font-size:13px; line-height:1.6; }

.ug-products { padding:clamp(90px,10vw,150px) 0; background:#fff; }
.ug-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:42px 20px; }
.ug-product-card { background:#fff; min-width:0; }
.ug-product-media { background:#f1f1ef; aspect-ratio:1/1.08; position:relative; overflow:hidden; }
.ug-product-media > a { display:block; width:100%; height:100%; }
.ug-product-media img { width:100%; height:100%; object-fit:contain; padding:8%; transition:transform .55s ease; }
.ug-product-card:hover .ug-product-media img { transform:scale(1.04); }
.ug-product-tag { position:absolute; left:14px; top:14px; padding:7px 10px; background:var(--ug-black); color:#fff; font-size:9px; font-weight:800; letter-spacing:.12em; }
.ug-product-tools { position:absolute; right:12px; bottom:12px; display:flex; gap:6px; opacity:0; transform:translateY(8px); transition:.3s; }
.ug-product-card:hover .ug-product-tools { opacity:1; transform:none; }
.ug-product-tools button { width:42px; height:42px; border:0; background:#fff; color:#111; display:grid; place-items:center; cursor:pointer; box-shadow:0 5px 24px rgba(0,0,0,.08); }
.ug-product-tools button:hover { background:var(--ug-red); color:#fff; }
.ug-product-info { padding:18px 2px 0; }
.ug-product-category { color:#8b8e91; font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:7px; }
.ug-product-name { display:block; color:#17191b; font-weight:600; font-size:14px; line-height:1.45; min-height:41px; }
.ug-product-name:hover { color:var(--ug-red); }
.ug-product-price { margin-top:12px; display:flex; align-items:center; gap:10px; }
.ug-product-price strong { font-family:'Barlow Condensed'; font-size:21px; color:#111; }
.ug-product-price del { color:#9a9a9a; font-size:12px; }

.ug-trust { padding:clamp(90px,9vw,140px) 0; background:#101214; color:#fff; }
.ug-trust-top { display:grid; grid-template-columns:1fr 420px; gap:50px; align-items:end; margin-bottom:60px; }
.ug-trust-top > p { color:#aaaeb1; line-height:1.8; margin:0; }
.ug-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #33373a; border-left:1px solid #33373a; }
.ug-trust-grid > div { position:relative; padding:34px 28px 40px; border-right:1px solid #33373a; border-bottom:1px solid #33373a; min-height:255px; }
.ug-trust-grid > div > span { color:#5c6063; font-family:'Barlow Condensed'; font-size:13px; }
.ug-trust-grid i { display:block; color:var(--ug-red); font-size:28px; margin:38px 0 24px; }
.ug-trust-grid h3 { margin:0 0 12px; color:#fff; font-family:'Barlow Condensed'; text-transform:uppercase; font-size:24px; }
.ug-trust-grid p { margin:0; color:#8f9396; font-size:13px; line-height:1.65; }

.ug-newsletter { padding:90px 0; background:var(--ug-red); color:#fff; }
.ug-newsletter .ug-section-kicker { color:#fff; opacity:.75; }
.ug-newsletter h2 { color:#fff; }
.ug-newsletter-grid { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:80px; }
.ug-newsletter-form { max-width:650px; }
.ug-input-wrap { display:flex; border-bottom:1px solid rgba(255,255,255,.65); }
.ug-input-wrap input { flex:1; height:64px; padding:0; border:0; outline:0; background:transparent; color:#fff; font-size:17px; }
.ug-input-wrap input::placeholder { color:rgba(255,255,255,.72); }
.ug-input-wrap button { width:64px; border:0; background:transparent; color:#fff; font-size:20px; cursor:pointer; }
.ug-newsletter-form small { display:block; margin-top:16px; color:rgba(255,255,255,.68); font-size:11px; }

.main-footer { background:#050607 !important; color:#d7d7d7 !important; border-top:0 !important; padding-top:70px !important; }
.footer-grid { width:min(var(--ug-max), calc(100% - (var(--ug-pad) * 2))) !important; max-width:none !important; gap:60px !important; grid-template-columns:1.4fr .75fr .9fr 1fr !important; }
.footer-brand h3,.footer-links h4 { font-family:'Barlow Condensed',sans-serif !important; text-transform:uppercase; letter-spacing:.06em; color:#fff !important; }
.footer-brand h3 { font-size:32px !important; }
.footer-brand p,.footer-links li,.footer-links a { color:#85898c !important; font-size:12px !important; }
.footer-links a:hover { color:#fff !important; padding-left:4px; }
.footer-links h4 { border-bottom:1px solid #24272a; padding-bottom:14px; }
.footer-links h4::after { content:''; display:block; width:30px; height:2px; background:var(--ug-red); position:relative; top:16px; }
.footer-social a { border-radius:0 !important; background:#151719 !important; }
.footer-social a:hover { background:var(--ug-red) !important; }
.footer-bottom { width:min(var(--ug-max), calc(100% - (var(--ug-pad) * 2))) !important; max-width:none !important; border-color:#24272a !important; color:#696d70 !important; font-size:10px !important; letter-spacing:.06em; text-transform:uppercase; }
.whatsapp-float { background:#159b4d !important; border-radius:50% !important; box-shadow:0 12px 35px rgba(0,0,0,.25) !important; }

@media (max-width:1100px) {
    .ug-header-inner { grid-template-columns:230px 1fr auto; }
    .ug-logo { width:220px; }
    .ug-nav .nav-menu { gap:18px; }
    .ug-product-grid { grid-template-columns:repeat(3,1fr); }
    .ug-category-mosaic { grid-auto-rows:220px; }
    .ug-feature-band-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1.4fr 1fr 1fr !important; }
    .footer-grid > :last-child { grid-column:2 / 4; }
}

@media (max-width:820px) {
    .ug-topbar-left span:nth-child(2),.ug-topbar-right a:nth-child(2) { display:none; }
    .ug-header-inner { height:80px; grid-template-columns:1fr auto; }
    .ug-logo { width:190px; height:56px; }
    .ug-nav { position:absolute; top:80px; left:0; right:0; background:#fff; border-top:1px solid #eee; display:none; padding:18px var(--ug-pad) 28px; box-shadow:0 20px 30px rgba(0,0,0,.08); }
    .ug-nav.active { display:block; }
    .ug-nav .nav-menu { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
    .ug-nav .nav-menu li { width:100%; }
    .ug-nav .nav-menu a { display:block; padding:14px 0; border-bottom:1px solid #eee; font-size:18px; }
    .ug-nav .nav-menu a::after { display:none; }
    .ug-menu-btn { display:grid; }
    .ug-wishlist-desktop { display:none; }
    .ug-hero { min-height:720px; }
    .ug-hero-shell { padding:90px 0 70px; display:block; }
    .ug-hero-aside { display:none; }
    .ug-hero h1 { font-size:clamp(70px,18vw,105px); }
    .ug-scroll-cue { display:none; }
    .ug-intro-grid,.ug-newsletter-grid,.ug-trust-top { grid-template-columns:1fr; gap:35px; }
    .ug-section-head { align-items:flex-start; flex-direction:column; }
    .ug-category-mosaic { grid-template-columns:1fr 1fr; grid-auto-rows:310px; }
    .ug-category-tile-1,.ug-category-tile-2,.ug-category-tile-3,.ug-category-tile-4,.ug-category-tile-5,.ug-category-tile-6 { grid-column:span 1; grid-row:span 1; }
    .ug-category-tile-1 { grid-column:span 2; }
    .ug-product-grid { grid-template-columns:1fr 1fr; }
    .ug-trust-grid { grid-template-columns:1fr 1fr; }
    .footer-grid { grid-template-columns:1fr 1fr !important; }
    .footer-grid > :last-child { grid-column:auto; }
}

@media (max-width:560px) {
    :root { --ug-pad:20px; }
    .ug-topbar-inner { min-height:31px; font-size:9px; }
    .ug-topbar-left span:first-child { display:none; }
    .ug-topbar-right { width:100%; justify-content:space-between; }
    .ug-header-inner { height:72px; gap:10px; }
    .ug-logo { width:155px; height:48px; }
    .ug-header-actions { gap:0; }
    .ug-icon-btn,.ug-menu-btn { width:36px; height:40px; font-size:15px; }
    .ug-header-actions .ug-icon-btn:nth-child(2) { display:none; }
    .ug-nav { top:72px; }
    .ug-hero { min-height:650px; }
    .ug-hero-shell { padding:70px 0 50px; }
    .ug-hero h1 { font-size:64px; line-height:.82; }
    .ug-hero-copy > p { font-size:14px; line-height:1.7; }
    .ug-btn { width:100%; }
    .ug-intro,.ug-categories,.ug-products,.ug-trust { padding:72px 0; }
    .ug-intro h2,.ug-section-head h2,.ug-feature-band h2,.ug-trust h2,.ug-newsletter h2 { font-size:48px; }
    .ug-category-mosaic { grid-template-columns:1fr; grid-auto-rows:330px; }
    .ug-category-tile-1 { grid-column:span 1; }
    .ug-feature-cards { grid-template-columns:1fr; }
    .ug-feature-cards article { min-height:170px; }
    .ug-product-grid { grid-template-columns:1fr 1fr; gap:30px 10px; }
    .ug-product-info { padding-top:12px; }
    .ug-product-name { font-size:12px; min-height:38px; }
    .ug-product-price strong { font-size:18px; }
    .ug-product-tools { opacity:1; transform:none; }
    .ug-product-tools button { width:36px; height:36px; }
    .ug-trust-grid { grid-template-columns:1fr; }
    .ug-newsletter { padding:70px 0; }
    .footer-grid { grid-template-columns:1fr !important; gap:35px !important; }
    .footer-grid > :last-child { grid-column:auto; }
    .footer-bottom { flex-direction:column; gap:12px; align-items:flex-start !important; }
}

/* ==========================================================
   2026-09-10 VISUAL POLISH: HERO, NEWSLETTER & FOOTER LEGALS
   ========================================================== */

/* Hero: cleaner, more premium copy treatment over rotating imagery */
.ug-hero-shade {
    background:
        linear-gradient(90deg, rgba(5,7,8,.94) 0%, rgba(5,7,8,.78) 37%, rgba(5,7,8,.28) 68%, rgba(5,7,8,.08) 100%),
        linear-gradient(0deg, rgba(5,7,8,.68) 0%, rgba(5,7,8,.08) 48%, rgba(5,7,8,.14) 100%);
}

.ug-hero-copy {
    max-width: 680px;
    padding: 34px 38px 36px;
    background: rgba(8,10,11,.52);
    border-left: 4px solid var(--ug-red);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.ug-hero h1 {
    font-size: clamp(58px, 6.2vw, 104px);
    line-height: .86;
    letter-spacing: -.025em;
    margin-bottom: 22px;
    color: #f5f3ef;
    text-shadow: 0 8px 30px rgba(0,0,0,.28);
}

.ug-hero h1 em {
    color: var(--ug-red);
    -webkit-text-stroke: 0;
    text-shadow: none;
}

.ug-hero-copy > p {
    max-width: 560px;
    color: rgba(255,255,255,.82);
    font-size: clamp(15px,1.15vw,18px);
    line-height: 1.65;
    margin-bottom: 28px;
}

.ug-hero .ug-eyebrow {
    color: rgba(255,255,255,.78);
}

/* Newsletter: compact CTA instead of a large red wall */
.ug-newsletter {
    padding: 46px 0;
    background: #c90812;
    color: #fff;
}

.ug-newsletter-grid {
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 56px;
}

.ug-newsletter h2 {
    font-size: clamp(38px, 4vw, 58px);
    line-height: .92;
    letter-spacing: -.015em;
}

.ug-newsletter .ug-section-kicker {
    margin-bottom: 10px;
    font-size: 10px;
    letter-spacing: .18em;
    opacity: .8;
}

.ug-newsletter-form {
    max-width: 720px;
    width: 100%;
}

.ug-input-wrap {
    border-bottom: 1px solid rgba(255,255,255,.72);
}

.ug-input-wrap input {
    height: 50px;
    font-size: 15px;
}

.ug-input-wrap button {
    width: 50px;
    height: 50px;
    font-size: 18px;
}

.ug-newsletter-form .g-recaptcha,
.ug-newsletter-form .recaptcha-wrapper,
.ug-newsletter-form [class*="recaptcha"] {
    margin-top: 10px;
}

.ug-newsletter-form small {
    margin-top: 10px;
    color: rgba(255,255,255,.78);
    font-size: 10px;
    line-height: 1.5;
}

/* Footer legal line: make policy/terms clearly visible */
.footer-bottom {
    color: #a8abad !important;
    opacity: 1 !important;
}

.footer-bottom a,
.main-footer .footer-bottom a {
    color: #d8dadb !important;
    opacity: 1 !important;
    text-decoration: none;
}

.footer-bottom a:hover,
.main-footer .footer-bottom a:hover {
    color: #ffffff !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer-bottom span {
    color: #555b5f !important;
}

@media (max-width: 900px) {
    .ug-hero-copy {
        max-width: 600px;
        padding: 28px 28px 30px;
    }

    .ug-hero h1 {
        font-size: clamp(54px, 12vw, 78px);
    }

    .ug-newsletter {
        padding: 38px 0;
    }

    .ug-newsletter-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .ug-newsletter h2 {
        font-size: clamp(38px, 9vw, 50px);
    }
}

@media (max-width: 600px) {
    .ug-hero-copy {
        padding: 24px 20px 25px;
        border-left-width: 3px;
    }

    .ug-hero h1 {
        font-size: 50px;
    }

    .ug-newsletter {
        padding: 32px 0;
    }

    .ug-newsletter h2 {
        font-size: 40px;
    }

    .ug-input-wrap input {
        height: 46px;
        font-size: 14px;
    }

    .ug-input-wrap button {
        width: 46px;
        height: 46px;
    }
}

/* ==========================================================
   Homepage density + category image fit refinement
   ========================================================== */
@media (min-width:821px) {
    /* Shop by lifestyle: more compact and show full source images */
    .ug-categories { padding-top:72px !important; padding-bottom:82px !important; }
    .ug-categories .ug-section-head { margin-bottom:34px !important; }
    .ug-categories .ug-section-kicker { margin-bottom:14px !important; }
    .ug-categories .ug-section-head h2 { font-size:clamp(48px,4.4vw,72px) !important; }
    .ug-category-mosaic { grid-auto-rows:205px !important; gap:14px !important; }
    .ug-category-tile { background:#efefed !important; }
    .ug-category-tile img {
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
        object-position:center center !important;
        padding:10px !important;
        transform:none !important;
    }
    .ug-category-tile:hover img { transform:none !important; }
    .ug-category-overlay {
        background:linear-gradient(0deg,rgba(4,4,4,.76) 0%,rgba(4,4,4,.20) 32%,rgba(4,4,4,0) 68%) !important;
    }
    .ug-category-content { left:26px !important; right:26px !important; bottom:22px !important; }
    .ug-category-content h3 { font-size:clamp(26px,2.5vw,38px) !important; }

    /* Complete solution section: reduce height while retaining visual hierarchy */
    .ug-feature-band { padding:72px 0 !important; }
    .ug-feature-band-grid { gap:clamp(44px,6vw,90px) !important; align-items:center !important; }
    .ug-feature-band h2 { font-size:clamp(48px,4.2vw,68px) !important; }
    .ug-feature-band-copy .ug-section-kicker { margin-bottom:16px !important; }
    .ug-feature-band-copy p { margin:22px 0 28px !important; line-height:1.7 !important; }
    .ug-feature-cards article { min-height:168px !important; padding:25px 28px !important; }
    .ug-feature-cards i { font-size:23px !important; margin-bottom:24px !important; }
    .ug-feature-cards strong { font-size:23px !important; }
    .ug-feature-band::after { font-size:285px !important; }

    /* Why Ubuntu Gas: compact service band */
    .ug-trust { padding:70px 0 76px !important; }
    .ug-trust-top { margin-bottom:38px !important; align-items:center !important; }
    .ug-trust-top .ug-section-kicker { margin-bottom:16px !important; }
    .ug-trust h2 { font-size:clamp(48px,4.2vw,68px) !important; }
    .ug-trust-grid > div { min-height:195px !important; padding:26px 28px 28px !important; }
    .ug-trust-grid i { font-size:24px !important; margin:26px 0 18px !important; }
    .ug-trust-grid h3 { font-size:22px !important; margin-bottom:8px !important; }
}

@media (max-width:820px) {
    .ug-category-tile { background:#efefed !important; }
    .ug-category-tile img {
        object-fit:contain !important;
        object-position:center !important;
        padding:8px !important;
    }
    .ug-category-tile:hover img { transform:none !important; }
    .ug-category-overlay { background:linear-gradient(0deg,rgba(4,4,4,.75),rgba(4,4,4,.04) 72%) !important; }
    .ug-feature-band { padding:72px 0 !important; }
    .ug-trust { padding:68px 0 !important; }
}

@media (max-width:560px) {
    .ug-categories { padding:64px 0 !important; }
    .ug-categories .ug-section-head { margin-bottom:28px !important; }
    .ug-category-mosaic { grid-auto-rows:270px !important; }
    .ug-feature-band { padding:62px 0 !important; }
    .ug-feature-cards article { min-height:145px !important; padding:24px !important; }
    .ug-feature-cards i { margin-bottom:20px !important; }
    .ug-trust { padding:62px 0 !important; }
    .ug-trust-top { margin-bottom:32px !important; }
    .ug-trust-grid > div { min-height:160px !important; padding:24px !important; }
    .ug-trust-grid i { margin:20px 0 15px !important; }
}

/* Header logo fit refinement */
@media (min-width: 769px) {
    .header-inner { height: 82px; }
    .logo img {
        height: 58px;
        width: auto;
        max-width: 245px;
        object-fit: contain;
    }
}
@media (max-width: 768px) {
    .logo img {
        height: 38px;
        width: auto;
        max-width: 165px;
        object-fit: contain;
    }
}

/* 2026-09-10 Header brand sizing — fill the dedicated left header bay */
@media (min-width: 1200px) {
    .ug-header-inner {
        height: 96px;
        grid-template-columns: 390px 1fr auto;
        gap: 34px;
    }
    .ug-logo {
        width: 380px;
        height: 82px;
        margin-left: 0;
        overflow: visible;
    }
    .ug-logo img {
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: contain;
        object-position: left center;
        display: block;
    }
}
@media (min-width: 769px) and (max-width: 1199px) {
    .ug-header-inner { grid-template-columns: 300px 1fr auto; height: 88px; gap: 18px; }
    .ug-logo { width: 290px; height: 70px; }
    .ug-logo img { width:100%; height:100%; max-width:none; object-fit:contain; object-position:left center; }
}


/* ==========================================================
   2026-09-14 Three-department storefront + Gas page
   ========================================================== */
.ug-departments { padding: 72px 0 82px !important; background:#f5f4f1; }
.ug-department-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:16px; }
.ug-department-card { position:relative; min-height:460px; overflow:hidden; background:#0d1012; color:#fff; text-decoration:none; display:flex; flex-direction:column; border:1px solid rgba(0,0,0,.08); }
.ug-department-media { position:absolute; inset:0; overflow:hidden; background:#e9e8e5; }
.ug-department-media img { width:100%; height:100%; object-fit:contain; object-position:center; padding:18px; transition:transform .45s ease; }
.ug-department-card:hover .ug-department-media img { transform:scale(1.025); }
.ug-department-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#15191c,#08090a); color:#db1018; font-size:74px; }
.ug-department-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,5,6,.94) 0%,rgba(4,5,6,.64) 37%,rgba(4,5,6,.05) 73%); }
.ug-department-copy { position:relative; z-index:2; margin-top:auto; padding:30px; }
.ug-department-number { position:absolute; top:-198px; left:30px; font:600 12px/1 'Manrope',sans-serif; letter-spacing:.12em; color:rgba(255,255,255,.66); }
.ug-department-icon { color:#e10e18; font-size:24px; margin-bottom:14px; }
.ug-department-copy h3 { margin:0 0 10px; font:700 clamp(34px,3vw,50px)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.01em; }
.ug-department-copy p { max-width:390px; margin:0 0 24px; color:#d1d5d8; font-size:14px; line-height:1.65; }
.ug-department-foot { display:flex; justify-content:space-between; align-items:center; padding-top:17px; border-top:1px solid rgba(255,255,255,.19); color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.ug-department-foot i { color:#e10e18; }
.ug-department-gas { background:linear-gradient(145deg,#111417,#27090b); }
.ug-department-accessories { background:#111416; }

.ug-gas-page { background:#f5f4f1; }
.ug-gas-hero { position:relative; overflow:hidden; padding:74px 0 78px; background:radial-gradient(circle at 80% 35%,rgba(225,14,24,.24),transparent 32%),linear-gradient(115deg,#080a0b 0%,#101416 58%,#1b0709 100%); color:#fff; }
.ug-gas-hero:after { content:'GAS'; position:absolute; right:-20px; bottom:-72px; font:800 250px/1 'Barlow Condensed',sans-serif; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.05); pointer-events:none; }
.ug-gas-hero-grid { display:grid; grid-template-columns:1fr .55fr; align-items:center; gap:70px; position:relative; z-index:1; }
.ug-gas-hero h1 { margin:12px 0 18px; font:800 clamp(64px,7vw,108px)/.82 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:-.03em; }
.ug-gas-hero h1 em { color:#e10e18; font-style:normal; }
.ug-gas-hero p { max-width:630px; color:#c5c9cb; font-size:17px; line-height:1.7; }
.ug-gas-hero-mark { justify-self:end; width:250px; height:250px; border:1px solid rgba(255,255,255,.16); border-radius:50%; display:grid; place-items:center; align-content:center; gap:7px; background:rgba(255,255,255,.025); box-shadow:0 0 0 28px rgba(255,255,255,.018); }
.ug-gas-hero-mark i { color:#e10e18; font-size:55px; }
.ug-gas-hero-mark span { font:800 48px/1 'Barlow Condensed',sans-serif; letter-spacing:.08em; }

.ug-gas-pricing { padding:72px 0 76px; background:#fff; }
.ug-gas-price-head { display:grid; grid-template-columns:1fr 390px; align-items:end; gap:40px; margin-bottom:34px; }
.ug-gas-price-head h2 { margin:9px 0 0; font:800 clamp(46px,4.4vw,68px)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.ug-gas-price-head > p { margin:0 0 4px; color:#61676b; line-height:1.65; }
.ug-gas-price-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #d7d9da; }
.ug-gas-price-card { position:relative; min-height:300px; padding:30px; border-right:1px solid #d7d9da; background:#fff; transition:.25s ease; }
.ug-gas-price-card:last-child { border-right:0; }
.ug-gas-price-card:hover { background:#111416; color:#fff; transform:translateY(-3px); box-shadow:0 18px 45px rgba(0,0,0,.12); z-index:2; }
.ug-gas-cylinder { width:48px; height:48px; display:grid; place-items:center; background:#e10e18; color:#fff; margin-bottom:24px; }
.ug-gas-size { font:800 48px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.ug-gas-label { margin-top:5px; color:#777e82; font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.ug-gas-price { margin:24px 0 8px; font:800 31px/1 'Barlow Condensed',sans-serif; color:#e10e18; }
.ug-gas-price span { font-size:25px; }
.ug-gas-price-card p { color:#72787c; font-size:13px; margin:0 0 20px; }
.ug-gas-price-card:hover p,.ug-gas-price-card:hover .ug-gas-label { color:#aeb3b6; }
.ug-gas-price-note { margin-top:18px; padding:14px 16px; background:#f2f2f0; color:#5e6468; font-size:12px; }
.ug-gas-price-note i { color:#e10e18; margin-right:8px; }
.ug-gas-products { padding-top:76px; }
.ug-gas-count { align-self:flex-end; padding-bottom:9px; color:#656b6f; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.ug-gas-empty { border:1px solid #d8dadb; background:#fff; padding:54px 34px; text-align:center; }
.ug-gas-empty i { color:#e10e18; font-size:38px; margin-bottom:16px; }
.ug-gas-empty h3 { margin:0 0 10px; font:700 30px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.ug-gas-empty p { max-width:650px; margin:0 auto; color:#656b6f; line-height:1.7; }
.ug-gas-pagination { margin-top:40px; }

@media (max-width:1000px) {
  .ug-department-grid { grid-template-columns:1fr 1fr; }
  .ug-department-card:first-child { grid-column:1/-1; min-height:390px; }
  .ug-gas-hero-grid { grid-template-columns:1fr auto; gap:35px; }
  .ug-gas-hero-mark { width:190px; height:190px; }
  .ug-gas-price-head { grid-template-columns:1fr; gap:12px; }
}
@media (max-width:700px) {
  .ug-departments { padding:58px 0 64px !important; }
  .ug-department-grid { grid-template-columns:1fr; }
  .ug-department-card,.ug-department-card:first-child { grid-column:auto; min-height:360px; }
  .ug-department-number { top:-170px; }
  .ug-gas-hero { padding:58px 0 62px; }
  .ug-gas-hero-grid { grid-template-columns:1fr; }
  .ug-gas-hero-mark { display:none; }
  .ug-gas-price-grid { grid-template-columns:1fr; }
  .ug-gas-price-card { min-height:auto; border-right:0; border-bottom:1px solid #d7d9da; }
  .ug-gas-price-card:last-child { border-bottom:0; }
}

/* ========================================================================== */
/* UBUNTU GAS MULTICOLOUR BRAND SYSTEM - 2026                                 */
/* ========================================================================== */
:root{
    --ugs-red:#e71924;
    --ugs-green:#0aad4b;
    --ugs-blue:#07579d;
    --ugs-navy:#062846;
    --ugs-yellow:#f2c318;
    --ugs-ink:#111417;
    --ugs-soft:#f5f6f7;
}
body{background:#fff;color:#17191b;}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;}
.ug-container{width:min(1460px,calc(100% - 64px));}

/* top contact ribbon */
.ug-topbar{background:linear-gradient(90deg,#06223d 0%,#073858 55%,#062846 100%)!important;color:#fff!important;border:0!important;}
.ug-topbar-inner{width:min(1780px,calc(100% - 70px))!important;min-height:38px!important;}
.ug-topbar-left,.ug-topbar-right{gap:22px!important;}
.ug-topbar span,.ug-topbar a{color:#fff!important;font-weight:600;letter-spacing:.055em!important;}
.ug-topbar i{color:var(--ugs-red)!important;margin-right:8px!important;}
.ug-topbar-left span:nth-child(2) i{color:var(--ugs-green)!important;}
.ug-topbar-right a:first-child i{color:var(--ugs-green)!important;}
.ug-topbar-right a:nth-child(2) i{color:var(--ugs-red)!important;}
.ug-top-social{display:flex;gap:8px;margin-left:8px;}
.ug-top-social a{width:23px;height:23px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;}
.ug-top-social i{color:#fff!important;margin:0!important;font-size:10px;}

/* header */
.ug-header{background:#fff!important;border-bottom:1px solid #e8ebed!important;box-shadow:0 5px 24px rgba(7,31,52,.06)!important;position:sticky!important;top:0!important;}
.ug-header-inner{width:min(1780px,calc(100% - 70px))!important;height:126px!important;grid-template-columns:430px minmax(570px,1fr) auto!important;gap:28px!important;}
.ug-logo{height:112px!important;width:410px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;overflow:visible!important;}
.ug-logo img{height:108px!important;width:auto!important;max-width:400px!important;object-fit:contain!important;object-position:left center!important;display:block!important;}
.ug-nav{justify-self:center!important;}
.ug-nav .nav-menu{display:flex!important;align-items:center!important;gap:42px!important;margin:0!important;}
.ug-nav .nav-menu a{position:relative;color:#11161a!important;font-family:'Barlow Condensed',sans-serif!important;font-size:18px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;padding:50px 0 48px!important;}
.ug-nav .nav-menu a:after{content:'';position:absolute;left:0;right:100%;bottom:36px;height:3px;background:var(--ugs-red);transition:right .22s ease;}
.ug-nav .nav-menu a:hover{color:var(--ugs-blue)!important;}
.ug-nav .nav-menu a:hover:after{right:0;}
.ug-header-actions{display:flex!important;align-items:center!important;gap:9px!important;justify-content:flex-end!important;}
.ug-header-search{width:300px;height:48px;border:1px solid #dfe3e6;background:#f8f9fa;border-radius:999px;display:flex;align-items:center;padding:0 16px 0 20px;margin-right:10px;}
.ug-header-search input{border:0!important;outline:0!important;background:transparent!important;width:100%!important;font-family:'Manrope',sans-serif!important;font-size:14px!important;color:#15191c!important;box-shadow:none!important;padding:0!important;}
.ug-header-search button{border:0;background:transparent;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:#14191d;font-size:17px;}
.ug-mobile-search{display:none!important;}
.ug-icon-btn{width:43px!important;height:43px!important;border-radius:50%!important;color:#11161a!important;font-size:18px!important;display:grid!important;place-items:center!important;position:relative!important;}
.ug-icon-btn:hover{background:#f1f4f6!important;color:var(--ugs-blue)!important;}
.cart-badge{background:var(--ugs-blue)!important;color:#fff!important;top:-1px!important;right:-2px!important;}
.cart-badge.has-items{background:var(--ugs-red)!important;}

/* exact mockup hero */
.ugs-home{overflow:hidden;background:#fff;}
.ugs-hero{position:relative;min-height:500px;background:#10283c;color:#fff;display:flex;align-items:stretch;}
.ugs-hero-visual,.ugs-hero-visual .ug-hero-slide,.ugs-hero-overlay{position:absolute;inset:0;}
.ugs-hero-visual .ug-hero-slide{background-size:cover;background-position:center 42%;opacity:0;transition:opacity 1.1s ease;}
.ugs-hero-visual .ug-hero-slide.active{opacity:1;}
.ugs-hero-fallback{background:radial-gradient(circle at 68% 38%,rgba(16,109,174,.55),transparent 27%),linear-gradient(120deg,#173b58 0%,#0d263a 48%,#1b1b18 100%);}
.ugs-hero-overlay{background:linear-gradient(90deg,rgba(5,26,45,.96) 0%,rgba(6,34,57,.83) 36%,rgba(6,35,57,.22) 67%,rgba(8,16,20,.62) 100%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 45%);}
.ugs-hero-inner{position:relative;z-index:2;width:min(1780px,calc(100% - 96px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:40px;padding:60px 0 52px;}
.ugs-hero-copy{max-width:1050px;}
.ugs-eyebrow{font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;letter-spacing:.33em;color:#fff;margin-bottom:14px;}
.ugs-hero h1{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.035em;font-size:clamp(70px,7.2vw,128px);line-height:.78;text-shadow:0 4px 18px rgba(0,0,0,.14);}
.ugs-white{color:#fff}.ugs-red{color:var(--ugs-red)}.ugs-green{color:var(--ugs-green)}
.ugs-spectrum{display:grid;grid-template-columns:1fr 1.5fr 1fr .7fr;width:min(540px,72%);height:6px;margin:22px 0 16px;}
.ugs-spectrum span:nth-child(1){background:var(--ugs-red)}.ugs-spectrum span:nth-child(2){background:var(--ugs-green)}.ugs-spectrum span:nth-child(3){background:var(--ugs-blue)}.ugs-spectrum span:nth-child(4){background:var(--ugs-yellow)}
.ugs-hero-copy>p{font-size:18px;line-height:1.7;color:#e7eef3;margin:0 0 22px;}
.ugs-hero-action-row{display:flex;align-items:center;gap:38px;flex-wrap:wrap;}
.ugs-shop-btn{min-height:52px;padding:0 28px;border-radius:999px;background:var(--ugs-green);color:#fff!important;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:800;font-size:13px;letter-spacing:.05em;box-shadow:0 12px 30px rgba(10,173,75,.2);}
.ugs-shop-btn:hover{background:#079340;transform:translateY(-2px);}
.ugs-hero-perks{display:flex;gap:28px;align-items:center;flex-wrap:wrap;}
.ugs-hero-perks span{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.02em;color:#fff;white-space:nowrap;}
.ugs-hero-perks i{font-size:21px;color:#fff;}
.ugs-hero-note{align-self:center;justify-self:end;font-family:Georgia,serif;font-style:italic;font-size:32px;line-height:1.18;text-align:left;color:#fff;transform:rotate(-3deg);text-shadow:0 2px 8px rgba(0,0,0,.4);position:relative;padding-bottom:18px;}
.ugs-hero-note:after{content:'';position:absolute;left:35px;right:0;bottom:0;height:4px;background:var(--ugs-red);transform:rotate(-9deg);}

/* three major departments */
.ugs-departments{padding:16px 0 0;background:#fff;}
.ugs-department-grid{width:min(1900px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ugs-dept-card{height:160px;position:relative;overflow:hidden;border-radius:16px;color:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.10);isolation:isolate;}
.ugs-dept-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:saturate(.92) contrast(1.04);}
.ugs-dept-overlay{position:absolute;inset:0;z-index:-2;}
.ugs-red .ugs-dept-overlay{background:linear-gradient(90deg,rgba(222,18,29,.97) 0%,rgba(222,18,29,.82) 48%,rgba(131,3,8,.18) 100%)}
.ugs-green .ugs-dept-overlay{background:linear-gradient(90deg,rgba(3,143,58,.97) 0%,rgba(2,149,61,.82) 48%,rgba(0,74,28,.18) 100%)}
.ugs-blue .ugs-dept-overlay{background:linear-gradient(90deg,rgba(4,71,141,.98) 0%,rgba(4,86,157,.82) 48%,rgba(2,38,75,.18) 100%)}
.ugs-dept-content{height:100%;display:grid;grid-template-columns:74px 1fr 48px;gap:22px;align-items:center;padding:26px 28px;}
.ugs-dept-icon{font-size:38px;color:#fff;display:grid;place-items:center;}
.ugs-dept-content h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;line-height:1;margin:0 0 8px;color:#fff;text-transform:uppercase;letter-spacing:.01em;}
.ugs-dept-content p{font-size:14px;line-height:1.45;margin:0;max-width:340px;color:#fff;}
.ugs-dept-arrow{width:42px;height:42px;border:2px solid rgba(255,255,255,.92);border-radius:50%;display:grid;place-items:center;justify-self:end;}
.ugs-dept-card:hover{transform:translateY(-3px);}
.ugs-dept-card:hover .ugs-dept-arrow{background:#fff;color:#111;}

/* benefit strip */
.ugs-service-strip{width:min(1780px,calc(100% - 70px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;gap:30px;align-items:center;padding:24px 4px 28px;background:#fff;}
.ugs-service-item{display:flex;gap:16px;align-items:center;color:#141719;}
.ugs-service-item>i{font-size:25px;color:#111;}
.ugs-service-item strong,.ugs-community strong{display:block;font-size:13px;letter-spacing:.02em;}
.ugs-service-item span{display:block;font-size:12px;color:#666d72;margin-top:2px;}
.ugs-community{justify-self:end;text-align:center;min-width:360px;}
.ugs-community-lines{height:5px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px;}
.ugs-community-lines span:nth-child(1){background:var(--ugs-red)}.ugs-community-lines span:nth-child(2){background:var(--ugs-green)}.ugs-community-lines span:nth-child(3){background:var(--ugs-blue)}.ugs-community-lines span:nth-child(4){background:var(--ugs-yellow)}

/* featured */
.ugs-featured{padding:78px 0!important;background:#f7f8f8!important;border-top:1px solid #edf0f2;}
.ugs-title-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px;}
.ugs-mini-title{display:block;font-size:11px;letter-spacing:.22em;font-weight:800;color:var(--ugs-red);margin-bottom:9px;}
.ugs-title-row h2,.ugs-brand-copy h2{margin:0;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(48px,5vw,78px);line-height:.9;color:var(--ugs-navy);}
.ugs-link{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--ugs-navy)!important;padding-bottom:8px;border-bottom:3px solid var(--ugs-red);}
.ug-product-card{background:#fff!important;border:1px solid #edf0f2!important;box-shadow:0 8px 26px rgba(6,40,70,.05)!important;}
.ug-product-card:hover{box-shadow:0 16px 36px rgba(6,40,70,.11)!important;transform:translateY(-3px);}
.ug-product-tag{background:var(--ugs-red)!important;color:#fff!important;}
.ug-product-category{color:var(--ugs-blue)!important;}
.ug-product-price strong{color:var(--ugs-green)!important;}
.ug-product-tools button:hover{background:var(--ugs-blue)!important;color:#fff!important;}

/* brand story */
.ugs-brand-story{position:relative;background:linear-gradient(120deg,#052945 0%,#074f76 58%,#06344f 100%);padding:72px 0;color:#fff;overflow:hidden;}
.ugs-brand-story:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(10,173,75,.12);right:16%;top:-210px;}
.ugs-brand-story:after{content:'';position:absolute;width:480px;height:480px;border-radius:50%;background:rgba(231,25,36,.11);right:-160px;bottom:-260px;}
.ugs-brand-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;position:relative;z-index:2;}
.ugs-brand-copy .ugs-mini-title{color:#fff;opacity:.75;}
.ugs-brand-copy h2{color:#fff;}
.ugs-brand-copy p{max-width:640px;color:#dce8ee;line-height:1.8;font-size:16px;margin:24px 0 30px;}
.ugs-brand-mark{display:flex;align-items:center;justify-content:center;min-height:290px;}
.ugs-brand-mark img{max-width:410px;width:80%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.25));}

/* newsletter red/green/blue rather than huge single-red block */
.ugs-newsletter{background:linear-gradient(90deg,var(--ugs-red) 0 33%,var(--ugs-green) 33% 66%,var(--ugs-blue) 66% 100%)!important;padding:50px 0!important;position:relative;}
.ugs-newsletter:before{content:'';position:absolute;inset:0;background:rgba(4,22,35,.28);}
.ugs-newsletter>.ug-container{position:relative;z-index:1;}
.ugs-newsletter h2{font-size:clamp(42px,4vw,64px)!important;}
.ugs-newsletter .ug-input-wrap{background:#fff!important;border-radius:6px!important;padding:0 8px 0 18px!important;}
.ugs-newsletter .ug-input-wrap input{color:#111!important;}
.ugs-newsletter .ug-input-wrap button{color:var(--ugs-blue)!important;}

/* footer */
.main-footer{background:#05263f!important;color:#e8eff4!important;border-top:5px solid var(--ugs-green)!important;padding-top:58px!important;position:relative!important;}
.main-footer:before{content:'';position:absolute;left:0;top:-5px;width:33.33%;height:5px;background:var(--ugs-red);}
.main-footer:after{content:'';position:absolute;right:0;top:-5px;width:33.33%;height:5px;background:var(--ugs-blue);}
.main-footer h3,.main-footer h4{color:#fff!important;}
.main-footer .footer-brand p,.main-footer li,.main-footer .footer-bottom{color:#b9cbd7!important;}
.main-footer a{color:#dce8ee!important;}
.main-footer a:hover{color:#fff!important;}
.main-footer .footer-social a{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;}
.main-footer .footer-social a:hover{background:var(--ugs-green)!important;}
.main-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.14)!important;}
.main-footer .footer-bottom a{color:#fff!important;font-weight:600!important;}
.whatsapp-float{background:var(--ugs-green)!important;}

/* gas page becomes brand-green/blue */
.ug-gas-hero{background:linear-gradient(115deg,#052f4f 0%,#07568a 50%,#0a7d43 100%)!important;}
.ug-gas-hero h1 em{color:var(--ugs-green)!important;-webkit-text-stroke:0!important;}
.ug-gas-price-card{border-top:4px solid var(--ugs-green)!important;}
.ug-gas-price-card:nth-child(2){border-top-color:var(--ugs-blue)!important;}
.ug-gas-price-card:nth-child(3){border-top-color:var(--ugs-red)!important;}
.ug-gas-price{color:var(--ugs-green)!important;}

/* general button/controls integration across remaining pages */
.btn-primary,.button-primary,.checkout-btn,.add-to-cart-btn{background:var(--ugs-green)!important;border-color:var(--ugs-green)!important;color:#fff!important;}
.btn-primary:hover,.button-primary:hover,.checkout-btn:hover,.add-to-cart-btn:hover{background:#078d3f!important;border-color:#078d3f!important;}
.page-header,.shop-header{border-bottom-color:var(--ugs-blue)!important;}

@media(max-width:1500px){
  .ug-header-inner{grid-template-columns:330px 1fr auto!important;height:108px!important;}
  .ug-logo{width:320px!important;height:98px!important}.ug-logo img{height:94px!important;max-width:310px!important}
  .ug-nav .nav-menu{gap:27px!important}.ug-nav .nav-menu a{font-size:16px!important;padding:42px 0!important}.ug-nav .nav-menu a:after{bottom:30px!important}
  .ug-header-search{width:230px}
  .ugs-hero{min-height:460px}.ugs-hero h1{font-size:90px}.ugs-hero-perks{gap:18px}.ugs-hero-perks span{font-size:10px}.ugs-hero-note{font-size:28px}
}
@media(max-width:1200px){
  .ug-header-inner{grid-template-columns:260px 1fr auto!important}.ug-logo{width:250px!important}.ug-logo img{height:82px!important;max-width:245px!important}
  .ug-header-search{display:none}.ug-mobile-search{display:grid!important}.ug-nav .nav-menu{gap:20px!important}.ug-nav .nav-menu a{font-size:14px!important}
  .ugs-hero-inner{grid-template-columns:1fr 210px}.ugs-hero h1{font-size:78px}.ugs-hero-perks{max-width:680px}.ugs-department-grid{grid-template-columns:1fr 1fr}.ugs-dept-card:last-child{grid-column:1/-1}.ugs-service-strip{grid-template-columns:1fr 1fr}.ugs-community{justify-self:start;min-width:0}
}
@media(max-width:900px){
  .ug-topbar-inner,.ug-header-inner,.ugs-hero-inner,.ugs-service-strip{width:calc(100% - 32px)!important}
  .ug-topbar-left span:nth-child(2){display:none!important}.ug-top-social{display:none}
  .ug-header-inner{height:86px!important;grid-template-columns:1fr auto!important}.ug-logo{width:240px!important;height:78px!important}.ug-logo img{height:74px!important;max-width:235px!important}
  .ug-nav{display:none!important}.ug-menu-btn{display:grid!important}.ug-mobile-search{display:grid!important}
  .ugs-hero{min-height:530px}.ugs-hero-inner{grid-template-columns:1fr;padding:48px 0}.ugs-hero-note{display:none}.ugs-hero h1{font-size:clamp(64px,13vw,92px)}.ugs-hero-copy>p{font-size:16px}.ugs-hero-action-row{align-items:flex-start;flex-direction:column}.ugs-hero-perks{gap:14px 20px}
  .ugs-department-grid{width:calc(100% - 28px);grid-template-columns:1fr}.ugs-dept-card:last-child{grid-column:auto}.ugs-dept-card{height:145px}
  .ugs-service-strip{grid-template-columns:1fr 1fr}.ugs-brand-grid{grid-template-columns:1fr}.ugs-brand-mark{min-height:210px}.ugs-brand-mark img{max-width:290px}.ugs-newsletter{background:linear-gradient(135deg,var(--ugs-blue),#06395f)!important}
}
@media(max-width:600px){
  .ug-topbar-inner{min-height:34px!important}.ug-topbar-left{display:none!important}.ug-topbar-right{width:100%;justify-content:space-between!important;gap:10px!important}.ug-topbar-right a{font-size:9px!important}
  .ug-header-inner{height:76px!important}.ug-logo{width:205px!important;height:68px!important}.ug-logo img{height:65px!important;max-width:200px!important}.ug-header-actions .ug-wishlist-desktop{display:none!important}.ug-icon-btn{width:38px!important;height:38px!important;font-size:16px!important}
  .ugs-hero{min-height:500px}.ugs-hero-inner{width:calc(100% - 36px)!important}.ugs-eyebrow{font-size:10px;letter-spacing:.22em}.ugs-hero h1{font-size:58px;line-height:.82}.ugs-spectrum{width:90%;height:5px}.ugs-hero-perks{display:grid;grid-template-columns:1fr;gap:8px}.ugs-dept-content{grid-template-columns:48px 1fr 38px;gap:14px;padding:20px}.ugs-dept-content h2{font-size:27px}.ugs-dept-content p{font-size:12px}.ugs-dept-icon{font-size:28px}.ugs-dept-arrow{width:36px;height:36px}
  .ugs-service-strip{grid-template-columns:1fr;padding:20px 0}.ugs-community{width:100%;margin-top:4px}.ugs-title-row{align-items:flex-start;flex-direction:column}.ugs-featured{padding:54px 0!important}.ugs-brand-story{padding:56px 0}.ugs-brand-mark{display:none}
}

/* Branded hero artwork approved in the client mockup */
.ugs-hero-visual{background:#10283c url('/assets/images/ubuntu-brand-hero.jpg') center right/cover no-repeat!important;}
.ugs-hero-visual .ug-hero-slide{opacity:0!important;}
.ugs-hero-visual .ug-hero-slide.active{opacity:.08!important;}


/* 2026-09-14 logo + favicon fix */
.ug-logo{
    width:430px!important;
    height:116px!important;
    padding:8px 0!important;
    overflow:visible!important;
}
.ug-logo img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:left center!important;
    mix-blend-mode:normal!important;
}
@media (max-width:1500px){
    .ug-logo{width:330px!important;height:100px!important;}
}
@media (max-width:1200px){
    .ug-logo{width:255px!important;height:84px!important;}
}
@media (max-width:900px){
    .ug-logo{width:245px!important;height:78px!important;padding:5px 0!important;}
}
@media (max-width:600px){
    .ug-logo{width:205px!important;height:68px!important;}
}


/* 2026-09-14 client logo + gas cylinder card final pass */
.ug-header-inner{grid-template-columns:390px 1fr auto!important;}
.ug-logo{width:370px!important;height:108px!important;padding:5px 0!important;overflow:visible!important;}
.ug-logo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:left center!important;mix-blend-mode:normal!important;}

.ug-gas-price-card{display:grid!important;grid-template-columns:minmax(0,1fr) 42%!important;gap:14px!important;align-items:center!important;min-height:345px!important;overflow:hidden!important;}
.ug-gas-card-copy{position:relative;z-index:2;min-width:0;}
.ug-gas-card-bottle{height:292px;display:flex;align-items:flex-end;justify-content:center;align-self:end;}
.ug-gas-card-bottle img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(0,0,0,.15));transition:transform .25s ease;}
.ug-gas-price-card:hover .ug-gas-card-bottle img{transform:translateY(-4px) scale(1.02);}
.ug-gas-price-card:hover{background:#fff!important;color:inherit!important;}
.ug-gas-price-card:hover p,.ug-gas-price-card:hover .ug-gas-label{color:#72787c!important;}

@media(max-width:1500px){
  .ug-header-inner{grid-template-columns:320px 1fr auto!important;}
  .ug-logo{width:305px!important;height:96px!important;}
  .ug-gas-price-card{grid-template-columns:minmax(0,1fr) 40%!important;padding:25px!important;}
}
@media(max-width:1200px){
  .ug-header-inner{grid-template-columns:245px 1fr auto!important;}
  .ug-logo{width:235px!important;height:78px!important;}
  .ug-gas-price-card{grid-template-columns:1fr!important;}
  .ug-gas-card-bottle{height:220px;position:absolute;right:12px;bottom:12px;width:42%;opacity:.95;}
  .ug-gas-card-copy{max-width:66%;}
}
@media(max-width:900px){
  .ug-header-inner{grid-template-columns:1fr auto!important;}
  .ug-logo{width:235px!important;height:74px!important;}
  .ug-gas-card-copy{max-width:62%;}
}
@media(max-width:600px){
  .ug-logo{width:195px!important;height:64px!important;}
  .ug-gas-price-card{min-height:310px!important;padding:22px!important;}
  .ug-gas-card-bottle{height:205px;width:45%;right:6px;bottom:5px;}
  .ug-gas-card-copy{max-width:64%;}
}

/* =========================================================
   2026-09-14 responsive storefront + gas cards + enquiry page
   ========================================================= */

/* Gas refill cards: never crop cylinders */
.ug-gas-price-grid{
    overflow:visible!important;
}
.ug-gas-price-card{
    display:grid!important;
    grid-template-columns:minmax(205px,1.05fr) minmax(150px,.95fr)!important;
    gap:20px!important;
    align-items:end!important;
    min-height:355px!important;
    padding:30px 28px!important;
    overflow:visible!important;
}
.ug-gas-card-copy{
    min-width:0!important;
    max-width:none!important;
    align-self:center!important;
}
.ug-gas-card-bottle{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:305px!important;
    min-width:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    overflow:visible!important;
    opacity:1!important;
}
.ug-gas-card-bottle img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    flex:none!important;
}

/* Contact / enquiry page */
.ug-contact-page{background:#f7f8f8;color:#07131d;}
.ug-contact-hero{
    position:relative;
    overflow:hidden;
    padding:72px 0;
    color:#fff;
    background:
        radial-gradient(circle at 82% 45%,rgba(10,173,75,.24),transparent 25%),
        radial-gradient(circle at 68% 15%,rgba(7,87,157,.35),transparent 30%),
        linear-gradient(118deg,#041c32 0%,#062846 58%,#031725 100%);
}
.ug-contact-hero:after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:5px;
    background:linear-gradient(90deg,#e71924 0 25%,#0aad4b 25% 50%,#07579d 50% 75%,#f2cc18 75% 100%);
}
.ug-contact-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:center;}
.ug-contact-hero h1{margin:10px 0 18px;font:800 clamp(58px,6vw,90px)/.82 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.02em;}
.ug-contact-hero h1 em{font-style:normal;color:#0fc35a;}
.ug-contact-hero p{max-width:700px;margin:0;color:#dce8ef;font-size:17px;line-height:1.7;}
.ug-contact-hero-mark{justify-self:end;width:245px;height:245px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.045);box-shadow:inset 0 0 60px rgba(255,255,255,.025);}
.ug-contact-hero-mark i{font-size:58px;color:#e71924;margin-bottom:16px;}
.ug-contact-hero-mark span{font:800 24px/1 'Barlow Condensed',sans-serif;letter-spacing:.08em;}
.ug-contact-main{padding:72px 0 90px;}
.ug-contact-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:64px;align-items:start;}
.ug-contact-info{padding:20px 0;}
.ug-contact-info h2,.ug-enquiry-head h2{margin:8px 0 16px;font:800 clamp(38px,3.2vw,52px)/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;}
.ug-contact-lead{max-width:540px;color:#5d6871;line-height:1.75;margin:0 0 30px;}
.ug-contact-methods{display:grid;gap:10px;}
.ug-contact-method{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr) 28px;gap:14px;align-items:center;padding:14px 16px;border:1px solid #dce1e4;background:#fff;color:#07131d;text-decoration:none;transition:.2s ease;}
.ug-contact-method:not(.ug-contact-method-static):hover{transform:translateX(4px);border-color:#aab6bd;box-shadow:0 12px 30px rgba(6,40,70,.08);}
.ug-contact-method > i{justify-self:end;color:#7b858c;}
.ug-contact-method small{display:block;color:#7a858e;text-transform:uppercase;font-size:10px;letter-spacing:.13em;margin-bottom:4px;}
.ug-contact-method strong{display:block;font-size:14px;overflow-wrap:anywhere;}
.ug-contact-icon{width:48px;height:48px;display:grid;place-items:center;color:#fff;font-size:18px;}
.ug-contact-icon-blue{background:#07579d}.ug-contact-icon-red{background:#e71924}.ug-contact-icon-green{background:#0aad4b}.ug-contact-icon-yellow{background:#e5b90d;color:#07131d}
.ug-contact-brandline{display:grid;grid-template-columns:repeat(4,1fr);height:4px;margin:32px 0 12px;max-width:430px;}
.ug-contact-brandline span:nth-child(1){background:#e71924}.ug-contact-brandline span:nth-child(2){background:#0aad4b}.ug-contact-brandline span:nth-child(3){background:#07579d}.ug-contact-brandline span:nth-child(4){background:#f2cc18}
.ug-contact-tagline{text-transform:uppercase;font:700 12px/1.3 'Manrope',sans-serif;letter-spacing:.08em;color:#26343e;}.ug-contact-tagline b{margin:0 9px;color:#a7afb4;}
.ug-enquiry-card{background:#fff;border:1px solid #dce1e4;box-shadow:0 22px 60px rgba(6,40,70,.08);padding:38px;}
.ug-enquiry-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px;}
.ug-enquiry-head h2{margin-bottom:0;}
.ug-enquiry-badge{width:58px;height:58px;display:grid;place-items:center;background:#e71924;color:#fff;font-size:20px;flex:0 0 auto;}
.ug-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.ug-contact-form .form-group{margin-bottom:18px;min-width:0;}
.ug-contact-form label{display:block;margin-bottom:8px;color:#26343e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.ug-contact-form label span{color:#e71924;}
.ug-contact-form input,.ug-contact-form textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #d5dce0;background:#f8f9f9;color:#07131d;border-radius:0;padding:14px 15px;font:500 15px/1.4 'Manrope',sans-serif;outline:none;transition:.2s ease;}
.ug-contact-form input{height:51px;}
.ug-contact-form textarea{resize:vertical;min-height:150px;}
.ug-contact-form input:focus,.ug-contact-form textarea:focus{border-color:#07579d;background:#fff;box-shadow:0 0 0 3px rgba(7,87,157,.08);}
.ug-contact-captcha{max-width:100%;overflow:hidden;margin:4px 0 20px;}
.ug-contact-submit{width:100%;min-height:56px;border:0;background:#0aad4b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;text-transform:uppercase;font:800 15px/1 'Barlow Condensed',sans-serif;letter-spacing:.07em;cursor:pointer;transition:.2s ease;}
.ug-contact-submit:hover{background:#087f39;transform:translateY(-1px);}
.ug-contact-form-note{margin:13px 0 0;color:#78838b;font-size:11px;}.ug-contact-form-note i{margin-right:6px;color:#07579d;}

/* Global responsive hardening */
img,video,iframe{max-width:100%;}
input,select,textarea,button{font-size:16px;}
.ug-container{width:min(1460px,calc(100% - 64px));margin-inline:auto;}

@media (max-width:1200px){
  .ug-gas-price-card{grid-template-columns:minmax(190px,1.1fr) minmax(135px,.9fr)!important;min-height:340px!important;padding:26px 22px!important;}
  .ug-gas-card-bottle{height:270px!important;}
  .ug-contact-grid{gap:38px;}
  .ug-contact-hero-grid{grid-template-columns:1fr 220px;gap:30px;}
  .ug-contact-hero-mark{width:200px;height:200px;}
}

@media (max-width:980px){
  .ug-container{width:min(100% - 40px,1460px);}
  .ug-topbar-inner{padding-inline:20px!important;}
  .ug-topbar-right a[href^="mailto"]{display:none!important;}
  .ug-header-inner{padding-inline:20px!important;}
  .ug-header-search{display:none!important;}
  .ug-mobile-search{display:flex!important;}
  .ug-contact-hero{padding:56px 0;}
  .ug-contact-hero-grid{grid-template-columns:1fr;}
  .ug-contact-hero-mark{display:none;}
  .ug-contact-main{padding:54px 0 70px;}
  .ug-contact-grid{grid-template-columns:1fr;gap:36px;}
  .ug-contact-info{padding:0;}
  .ug-gas-price-head{grid-template-columns:1fr!important;gap:12px!important;}
  .ug-gas-price-grid{grid-template-columns:1fr!important;border:0!important;gap:18px!important;}
  .ug-gas-price-card{grid-template-columns:minmax(0,1fr) 230px!important;min-height:315px!important;border:1px solid #d7d9da!important;padding:26px 30px!important;}
  .ug-gas-card-bottle{height:260px!important;}
}

@media (max-width:760px){
  .ug-container{width:calc(100% - 28px);}
  .ug-topbar{min-height:auto!important;}
  .ug-topbar-inner{padding:7px 14px!important;min-height:34px!important;}
  .ug-topbar-left{gap:12px!important;}
  .ug-topbar-left span:first-child{display:none!important;}
  .ug-topbar-right a[href^="mailto"]{display:none!important;}
  .ug-topbar-right{margin-left:auto!important;}
  .ug-header{position:relative!important;}
  .ug-header-inner{min-height:78px!important;padding:0 14px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;}
  .ug-logo{width:min(225px,58vw)!important;height:66px!important;padding:4px 0!important;}
  .ug-header-actions{gap:4px!important;}
  .ug-header-actions .ug-wishlist-desktop{display:none!important;}
  .ug-icon-btn{width:38px!important;height:38px!important;}
  .ug-menu-btn{display:flex!important;width:40px!important;height:40px!important;align-items:center;justify-content:center;}
  .ug-nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:#fff!important;z-index:999!important;box-shadow:0 16px 28px rgba(0,0,0,.13)!important;display:none!important;}
  .ug-nav.active,.ug-nav.open{display:block!important;}
  .ug-nav .nav-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:10px 14px 16px!important;gap:0!important;}
  .ug-nav .nav-menu li a{display:block!important;padding:13px 8px!important;border-bottom:1px solid #eef0f1!important;}

  .ug-gas-pricing{padding:46px 0!important;}
  .ug-gas-price-head{margin-bottom:22px!important;}
  .ug-gas-price-head h2{font-size:46px!important;}
  .ug-gas-price-head > p{font-size:13px!important;}
  .ug-gas-price-card{grid-template-columns:minmax(0,1fr) 42%!important;min-height:280px!important;padding:22px 20px!important;gap:10px!important;overflow:hidden!important;}
  .ug-gas-card-copy{max-width:none!important;}
  .ug-gas-card-bottle{height:230px!important;width:100%!important;align-self:end!important;}
  .ug-gas-size{font-size:46px!important;}
  .ug-gas-price{margin-top:18px!important;font-size:27px!important;}
  .ug-gas-price span{font-size:23px!important;}
  .ug-gas-price-note{line-height:1.55!important;}

  .ug-contact-hero{padding:44px 0 48px;}
  .ug-contact-hero h1{font-size:58px;}
  .ug-contact-hero p{font-size:14px;line-height:1.65;}
  .ug-contact-main{padding:42px 0 60px;}
  .ug-contact-info h2,.ug-enquiry-head h2{font-size:40px;}
  .ug-contact-method{grid-template-columns:48px minmax(0,1fr) 22px;padding:12px;gap:12px;}
  .ug-contact-icon{width:44px;height:44px;}
  .ug-enquiry-card{padding:24px 18px;}
  .ug-enquiry-badge{width:50px;height:50px;}
  .ug-form-grid{grid-template-columns:1fr;gap:0;}
  .ug-contact-form input{height:54px;}
  .ug-contact-submit{min-height:58px;}

  .footer-grid{grid-template-columns:1fr!important;gap:28px!important;}
  .footer-bottom{flex-direction:column!important;gap:12px!important;text-align:center!important;}
  .main-footer{padding-left:14px!important;padding-right:14px!important;}
}

@media (max-width:520px){
  .ug-topbar-left span{font-size:10px!important;}
  .ug-topbar-right a{font-size:10px!important;}
  .ug-header-actions .ug-mobile-search{display:none!important;}
  .ug-logo{width:min(210px,62vw)!important;height:62px!important;}
  .ug-gas-price-card{grid-template-columns:minmax(0,1fr) 40%!important;min-height:260px!important;padding:18px 15px!important;}
  .ug-gas-card-bottle{height:205px!important;}
  .ug-gas-cylinder{width:42px!important;height:42px!important;}
  .ug-gas-size{font-size:41px!important;}
  .ug-gas-label{font-size:10px!important;}
  .ug-gas-price span{font-size:20px!important;}
  .ug-gas-price-card p{font-size:11px!important;}
  .ug-text-link{font-size:12px!important;}
  .ug-contact-hero h1{font-size:52px;}
  .ug-enquiry-head{align-items:center;}
  .ug-enquiry-head h2{font-size:36px;}
  .ug-enquiry-badge{width:44px;height:44px;}
  .ug-contact-method strong{font-size:12px;}
  .whatsapp-float{right:14px!important;bottom:14px!important;}
}

/* Mobile fallback for legacy storefront pages */
@media (max-width:820px){
  .section{padding-left:14px!important;padding-right:14px!important;}
  .product-detail{grid-template-columns:1fr!important;gap:28px!important;padding:24px 14px!important;}
  .product-meta h1{font-size:27px!important;}
  .product-meta .price{font-size:30px!important;}
  .thumbnail-list{overflow-x:auto;padding-bottom:6px;}
  .thumbnail{flex:0 0 70px;width:70px;height:70px;}
  .tab-nav{gap:18px!important;overflow-x:auto;white-space:nowrap;}
  .cart-page{padding:24px 14px!important;}
  .cart-grid{grid-template-columns:1fr!important;gap:20px!important;}
  .cart-summary{position:static!important;}
  .cart-items{padding:16px!important;}
  .cart-item{grid-template-columns:78px minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;}
  .cart-item img{width:78px!important;height:78px!important;grid-row:span 2;}
  .cart-item .quantity-selector,.cart-item-price,.cart-item-total{grid-column:2!important;}
  .cart-item .remove-btn{grid-column:3!important;grid-row:1!important;}
  .checkout-form{padding:20px 16px!important;}
  .form-row{grid-template-columns:1fr!important;gap:0!important;}
  .shop-layout{grid-template-columns:1fr!important;gap:20px!important;}
  .mobile-filter-toggle{display:flex!important;}
  .filter-sidebar{position:static!important;padding:18px!important;}
  .product-grid,.ug-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px!important;}
  .ug-product-tools{opacity:1!important;transform:none!important;}
  .search-bar{flex-direction:column!important;}
  .search-bar input,.search-bar button{width:100%!important;}
}
@media (max-width:480px){
  .product-grid,.ug-product-grid{grid-template-columns:1fr!important;}
  .ug-product-media{aspect-ratio:1/1!important;}
  .cart-item{grid-template-columns:70px minmax(0,1fr) 28px!important;}
  .cart-item img{width:70px!important;height:70px!important;}
  .section-title h2{font-size:28px!important;}
}

/* 2026-09-14 gas card image correction: use full uncropped cylinder artwork */
.ug-gas-price-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  overflow:visible!important;
}
.ug-gas-price-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,55%) minmax(0,45%)!important;
  align-items:center!important;
  gap:8px!important;
  min-height:355px!important;
  padding:28px 22px 24px 28px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.ug-gas-card-copy{max-width:none!important;min-width:0!important;position:relative!important;z-index:2!important;}
.ug-gas-card-bottle{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:300px!important;
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
}
.ug-gas-card-bottle img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
}
.ug-gas-price-card:hover .ug-gas-card-bottle img{transform:none!important;}
@media(max-width:1100px){
  .ug-gas-price-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .ug-gas-price-card{grid-template-columns:minmax(0,1fr) 300px!important;min-height:320px!important;}
  .ug-gas-card-bottle{height:280px!important;}
}
@media(max-width:700px){
  .ug-gas-price-card{grid-template-columns:1fr!important;min-height:0!important;padding:22px!important;}
  .ug-gas-card-copy{order:1!important;}
  .ug-gas-card-bottle{order:2!important;width:100%!important;height:260px!important;margin-top:8px!important;}
  .ug-gas-card-bottle img{width:100%!important;height:100%!important;object-fit:contain!important;}
}


/* FINAL GAS CARD FIX — complete bottle assets + strict containment */
.ug-gas-price-card{
    overflow:hidden!important;
}
.ug-gas-card-bottle{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:310px!important;
    overflow:visible!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    padding:8px 8px 0!important;
    box-sizing:border-box!important;
}
.ug-gas-card-bottle img{
    display:block!important;
    width:auto!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    margin:0 auto!important;
    transform:none!important;
}
@media (max-width:1100px){
    .ug-gas-card-bottle{height:290px!important;}
}
@media (max-width:700px){
    .ug-gas-card-bottle{
        height:300px!important;
        padding:10px 0 0!important;
    }
    .ug-gas-card-bottle img{
        width:auto!important;
        height:100%!important;
        max-width:88%!important;
    }
}


/* 2026-09-14 Contact + WhatsApp rebuild inspired by proven construction-site flow */
.ug-contact-confirm-wrap{
    background:#f7f8f8;
    padding-top:24px;
}
.ug-contact-confirm{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border:1px solid #bde7cb;
    background:#f0fbf4;
    color:#123d2a;
}
.ug-contact-confirm > i{
    color:#0aad4b;
    font-size:22px;
}
.ug-contact-confirm strong,
.ug-contact-confirm span{
    display:block;
}
.ug-contact-confirm span{
    margin-top:3px;
    color:#547065;
    font-size:13px;
}
.ug-contact-direct-grid{
    display:grid;
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
    gap:64px;
    align-items:start;
}
.ug-whatsapp-request-card{
    border-top:4px solid #0aad4b;
}
.ug-enquiry-badge-wa{
    background:#0aad4b!important;
}
.ug-whatsapp-explain{
    margin:-4px 0 22px;
    color:#65717a;
    line-height:1.65;
    font-size:14px;
}
.ug-contact-submit-wa{
    background:#0aad4b!important;
}
.ug-contact-submit-wa:hover{
    background:#087f39!important;
}
.ug-contact-submit-site{
    background:#07579d!important;
}
.ug-contact-submit-site:hover{
    background:#06487f!important;
}
.ug-wa-warning{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:16px;
    border:1px solid #f1d89b;
    background:#fff9e8;
    color:#654d0d;
    line-height:1.5;
}
.ug-wa-warning i{
    color:#d59d00;
    margin-top:2px;
}
.ug-contact-secondary-head{
    margin:70px 0 24px;
    max-width:760px;
}
.ug-contact-secondary-head h2{
    margin:7px 0 10px;
    font:800 clamp(34px,3vw,48px)/.98 'Barlow Condensed',sans-serif;
    text-transform:uppercase;
}
.ug-contact-secondary-head p{
    margin:0;
    color:#68747c;
    line-height:1.7;
}
.ug-normal-message-card{
    max-width:none;
}
@media(max-width:900px){
    .ug-contact-direct-grid{
        grid-template-columns:1fr;
        gap:34px;
    }
    .ug-contact-secondary-head{
        margin-top:48px;
    }
}
@media(max-width:600px){
    .ug-contact-direct-grid{
        gap:28px;
    }
    .ug-contact-secondary-head{
        margin-top:40px;
    }
    .ug-contact-secondary-head h2{
        font-size:36px;
    }
}


/* Product catalogue customer view switcher */
.ug-shop-toolbar{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:20px!important;
    margin-bottom:22px!important;
}
.ug-view-switcher{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border:1px solid #dde3e8;
    border-radius:10px;
    background:#f5f7f9;
}
.ug-view-btn{
    border:0;
    background:transparent;
    color:#596671;
    min-height:38px;
    padding:8px 11px;
    border-radius:7px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    font:700 12px/1 inherit;
    cursor:pointer;
    transition:.18s ease;
}
.ug-view-btn:hover{
    background:#fff;
    color:#07579d;
}
.ug-view-btn.active{
    background:#07579d;
    color:#fff;
    box-shadow:0 3px 9px rgba(7,87,157,.17);
}

/* Extra content is hidden in standard cards until detailed view is selected. */
.ug-product-list-description,
.ug-product-meta,
.ug-list-actions{
    display:none;
}
.ug-product-bottom{
    display:block;
}

/* GRID — familiar ecommerce cards */
.ug-products-view.ug-view-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.ug-view-grid .product-card{
    min-width:0;
}

/* COMPACT — smaller thumbnails, more products per screen */
.ug-products-view.ug-view-compact{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
}
.ug-view-compact .product-card{
    border-radius:8px!important;
}
.ug-view-compact .product-image{
    aspect-ratio:1/1!important;
    min-height:0!important;
}
.ug-view-compact .product-info{
    padding:12px!important;
}
.ug-view-compact .product-name{
    font-size:13px!important;
    line-height:1.35!important;
    min-height:36px;
}
.ug-view-compact .product-category{
    font-size:10px!important;
}
.ug-view-compact .price-current{
    font-size:15px!important;
}
.ug-view-compact .product-actions{
    transform:scale(.9);
    transform-origin:right top;
}

/* DETAILS — image + description + stock + full actions */
.ug-products-view.ug-view-list{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
}
.ug-view-list .product-card{
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr)!important;
    min-height:230px!important;
    overflow:hidden!important;
    border:1px solid #e1e6ea!important;
    box-shadow:none!important;
}
.ug-view-list .product-image{
    height:100%!important;
    min-height:230px!important;
    aspect-ratio:auto!important;
    border-right:1px solid #edf0f2;
    background:#fff;
}
.ug-view-list .product-image > a{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ug-view-list .product-image img{
    width:100%!important;
    height:100%!important;
    max-height:260px!important;
    object-fit:contain!important;
    padding:16px!important;
}
.ug-view-list .product-info{
    padding:24px 28px!important;
    display:flex!important;
    flex-direction:column!important;
    min-width:0;
}
.ug-view-list .product-name{
    font-size:21px!important;
    line-height:1.2!important;
    margin:4px 0 8px!important;
}
.ug-view-list .ug-product-list-description{
    display:block;
    color:#66727b;
    font-size:13px;
    line-height:1.65;
    max-width:820px;
}
.ug-view-list .ug-product-list-description p{
    margin:0 0 13px;
}
.ug-view-list .ug-product-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    padding:10px 0 14px;
    color:#68747d;
    font-size:12px;
}
.ug-view-list .ug-stock-in{
    color:#0a9b48;
}
.ug-view-list .ug-stock-out{
    color:#d7222f;
}
.ug-view-list .ug-product-bottom{
    margin-top:auto;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
}
.ug-view-list .product-price{
    margin:0!important;
}
.ug-view-list .price-current{
    font-size:23px!important;
}
.ug-view-list .ug-list-actions{
    display:flex;
    align-items:center;
    gap:9px;
}
.ug-view-list .ug-list-actions form{
    margin:0;
}
.ug-details-btn,
.ug-list-cart-btn{
    min-height:42px;
    border-radius:6px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font:800 12px/1 inherit;
    text-transform:uppercase;
    letter-spacing:.03em;
    text-decoration:none;
    cursor:pointer;
}
.ug-details-btn{
    border:1px solid #d7dee4;
    background:#fff;
    color:#102f4e;
}
.ug-list-cart-btn{
    border:1px solid #07579d;
    background:#07579d;
    color:#fff;
}
.ug-details-btn:hover{
    border-color:#07579d;
    color:#07579d;
}
.ug-list-cart-btn:hover{
    background:#06477f;
}
.ug-view-list .product-actions{
    display:none!important;
}

/* Responsive */
@media(max-width:1180px){
    .ug-products-view.ug-view-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .ug-products-view.ug-view-compact{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}
@media(max-width:820px){
    .ug-shop-toolbar{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
    .ug-view-switcher{
        width:100%;
    }
    .ug-view-btn{
        flex:1;
        justify-content:center;
    }
    .ug-view-list .product-card{
        grid-template-columns:170px minmax(0,1fr)!important;
    }
    .ug-view-list .ug-product-bottom{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:620px){
    .ug-view-btn span{
        display:none;
    }
    .ug-view-btn{
        min-height:42px;
    }
    .ug-products-view.ug-view-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .ug-products-view.ug-view-compact{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .ug-view-list .product-card{
        grid-template-columns:110px minmax(0,1fr)!important;
        min-height:165px!important;
    }
    .ug-view-list .product-image{
        min-height:165px!important;
    }
    .ug-view-list .product-image img{
        padding:8px!important;
    }
    .ug-view-list .product-info{
        padding:14px!important;
    }
    .ug-view-list .product-name{
        font-size:16px!important;
    }
    .ug-view-list .ug-product-list-description{
        display:none;
    }
    .ug-view-list .ug-product-meta{
        gap:8px 12px;
        padding:7px 0 10px;
    }
    .ug-view-list .ug-list-actions{
        width:100%;
        flex-wrap:wrap;
    }
    .ug-details-btn,
    .ug-list-cart-btn{
        min-height:38px;
        padding:0 10px;
        font-size:10px;
    }
}


/* FINAL NEWSLETTER REDESIGN — button below input */
.ugs-newsletter{
    padding:0!important;
    background:
        linear-gradient(90deg,
            #b71823 0 33%,
            #0b8f45 33% 66%,
            #105187 66% 100%)!important;
    position:relative;
}
.ugs-newsletter:before{
    display:none!important;
}
.ugs-newsletter .ug-newsletter-grid{
    position:relative;
    z-index:1;
    min-height:310px;
    padding:46px 0 52px;
    grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr)!important;
    gap:72px!important;
    align-items:center!important;
}
.ug-newsletter-copy{
    max-width:560px;
}
.ugs-newsletter .ug-newsletter-copy h2{
    margin:0!important;
    color:#fff!important;
    font-size:clamp(52px,5vw,76px)!important;
    line-height:.9!important;
}
.ug-newsletter-copy p{
    max-width:500px;
    margin:18px 0 0;
    color:rgba(255,255,255,.88);
    font-size:14px;
    line-height:1.65;
}
.ugs-newsletter .ug-newsletter-form{
    max-width:720px!important;
    width:100%;
}
.ug-newsletter-email-label{
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ugs-newsletter .ug-input-wrap{
    width:100%;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border-radius:8px!important;
    background:transparent!important;
}
.ugs-newsletter .ug-input-wrap input{
    width:100%!important;
    height:58px!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#132f49!important;
    font-size:16px!important;
    outline:none!important;
    box-shadow:0 8px 24px rgba(0,0,0,.11);
}
.ugs-newsletter .ug-input-wrap input:focus{
    box-shadow:0 0 0 3px rgba(255,255,255,.28),0 8px 24px rgba(0,0,0,.11);
}
.ugs-newsletter .robot-check{
    margin-top:14px!important;
    color:#fff!important;
}
.ugs-newsletter .robot-check label{
    width:max-content;
    font-size:14px!important;
    font-weight:700!important;
}
.ugs-newsletter .robot-check input[type="checkbox"]{
    width:18px!important;
    height:18px!important;
    accent-color:#fff;
}
.ug-newsletter-submit{
    margin-top:18px;
    min-width:200px;
    height:50px;
    padding:0 22px;
    border:0;
    border-radius:8px;
    background:#fff;
    color:#0d4c80;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-size:13px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 9px 24px rgba(0,0,0,.14);
    transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.ug-newsletter-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 13px 30px rgba(0,0,0,.19);
}
.ug-newsletter-submit i{
    transition:transform .18s ease;
}
.ug-newsletter-submit:hover i{
    transform:translateX(3px);
}
.ug-newsletter-submit:disabled{
    opacity:.65;
    cursor:wait;
    transform:none;
}
.ugs-newsletter .ug-newsletter-form small{
    margin-top:13px!important;
    color:rgba(255,255,255,.8)!important;
}
@media(max-width:960px){
    .ugs-newsletter{
        background:linear-gradient(135deg,#0b355d,#105187)!important;
    }
    .ugs-newsletter .ug-newsletter-grid{
        grid-template-columns:1fr!important;
        gap:28px!important;
        min-height:0;
        padding:40px 0 46px;
    }
    .ug-newsletter-copy{
        max-width:none;
    }
}
@media(max-width:600px){
    .ugs-newsletter .ug-newsletter-grid{
        padding:34px 0 38px;
    }
    .ugs-newsletter .ug-newsletter-copy h2{
        font-size:46px!important;
    }
    .ugs-newsletter .ug-input-wrap input{
        height:54px!important;
        font-size:15px!important;
    }
    .ug-newsletter-submit{
        width:100%;
    }
}


/* Compact WHY UBUNTU GAS / brand story section */
.ug-story{
    min-height:0!important;
    padding-top:58px!important;
    padding-bottom:58px!important;
}
.ug-story .ug-story-grid{
    min-height:0!important;
    align-items:center!important;
    gap:52px!important;
}
.ug-story .ug-story-copy{
    padding-top:0!important;
    padding-bottom:0!important;
}
.ug-story .ug-story-copy h2{
    margin-top:10px!important;
    margin-bottom:18px!important;
    font-size:clamp(48px,4.4vw,70px)!important;
    line-height:.93!important;
}
.ug-story .ug-story-copy p{
    margin-bottom:24px!important;
    max-width:690px!important;
}
.ug-story .ug-story-visual{
    min-height:300px!important;
    height:300px!important;
}
.ug-story .ug-story-visual img{
    max-height:245px!important;
    width:auto!important;
    object-fit:contain!important;
}
@media(max-width:900px){
    .ug-story{
        padding-top:44px!important;
        padding-bottom:44px!important;
    }
    .ug-story .ug-story-grid{
        gap:28px!important;
    }
    .ug-story .ug-story-visual{
        min-height:240px!important;
        height:240px!important;
    }
    .ug-story .ug-story-visual img{
        max-height:205px!important;
    }
}
@media(max-width:600px){
    .ug-story{
        padding-top:36px!important;
        padding-bottom:36px!important;
    }
    .ug-story .ug-story-copy h2{
        font-size:46px!important;
        margin-bottom:14px!important;
    }
    .ug-story .ug-story-copy p{
        margin-bottom:20px!important;
    }
    .ug-story .ug-story-visual{
        min-height:200px!important;
        height:200px!important;
    }
    .ug-story .ug-story-visual img{
        max-height:175px!important;
    }
}


/* EFT proof-of-payment upload */
.ug-eft-proof-card{
    margin-top:22px;
    padding:22px;
    border:1px solid #dfe6eb;
    border-top:4px solid #07579d;
    border-radius:12px;
    background:#fff;
    text-align:left;
}
.ug-eft-proof-head{
    display:flex;
    gap:14px;
    align-items:flex-start;
}
.ug-eft-proof-icon{
    flex:0 0 46px;
    width:46px;
    height:46px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eaf4fc;
    color:#07579d;
    font-size:20px;
}
.ug-eft-kicker{
    display:block;
    margin-bottom:3px;
    color:#07579d;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ug-eft-proof-head h4{
    margin:0 0 5px;
    font-size:20px;
}
.ug-eft-proof-head p{
    margin:0;
    color:#65717a;
    font-size:13px;
    line-height:1.6;
}
.ug-eft-release-warning{
    margin:18px 0;
    padding:14px 15px;
    border:1px solid #f2d58b;
    border-radius:9px;
    background:#fff9e8;
    color:#5f4a14;
    display:flex;
    align-items:flex-start;
    gap:11px;
}
.ug-eft-release-warning > i{
    margin-top:2px;
    color:#c88f00;
    font-size:17px;
}
.ug-eft-release-warning strong,
.ug-eft-release-warning span{
    display:block;
}
.ug-eft-release-warning strong{
    margin-bottom:4px;
}
.ug-eft-release-warning span{
    font-size:12px;
    line-height:1.55;
}
.ug-eft-upload-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:stretch;
}
.ug-proof-drop{
    position:relative;
    min-height:92px;
    padding:15px 18px;
    border:1.5px dashed #b9c8d4;
    border-radius:9px;
    background:#f8fafc;
    cursor:pointer;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    grid-template-areas:
        "icon title"
        "icon sub"
        "icon file";
    column-gap:10px;
    align-content:center;
}
.ug-proof-drop > i{
    grid-area:icon;
    align-self:center;
    color:#07579d;
    font-size:26px;
}
.ug-proof-drop-title{
    grid-area:title;
    font-size:13px;
    font-weight:800;
    color:#183752;
}
.ug-proof-drop-sub{
    grid-area:sub;
    margin-top:2px;
    color:#73808a;
    font-size:11px;
}
.ug-proof-file-name{
    grid-area:file;
    margin-top:5px;
    color:#0a8a43;
    font-size:11px;
    font-weight:700;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ug-proof-drop input[type=file]{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}
.ug-proof-submit{
    min-width:210px;
    border:0;
    border-radius:9px;
    padding:0 18px;
    background:#07579d;
    color:#fff;
    font-weight:800;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}
.ug-proof-submit:hover{
    background:#06477f;
}
.ug-eft-proof-status{
    margin-top:15px;
    padding-top:15px;
    border-top:1px solid #e8edf0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.ug-eft-proof-status small{
    display:block;
    margin-bottom:5px;
    color:#73808a;
}
.ug-eft-proof-status a{
    color:#07579d;
    font-weight:700;
    font-size:13px;
}
@media(max-width:700px){
    .ug-eft-upload-form{
        grid-template-columns:1fr;
    }
    .ug-proof-submit{
        min-height:48px;
        width:100%;
    }
    .ug-eft-proof-status{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   Mobile navigation fix
   Prevents legacy .nav-menu rules from collapsing the menu.
   ========================================================= */
@media (max-width:760px){
    .ug-header{
        position:relative!important;
        z-index:1001!important;
    }

    .ug-header-inner{
        position:relative!important;
    }

    .ug-nav{
        position:absolute!important;
        top:100%!important;
        left:0!important;
        right:0!important;
        width:100%!important;
        min-width:100%!important;
        height:auto!important;
        max-height:calc(100vh - 112px)!important;
        margin:0!important;
        padding:0!important;
        background:#ffffff!important;
        border-top:1px solid #e4e8eb!important;
        box-shadow:0 18px 35px rgba(6,40,70,.20)!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        transform:none!important;
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
        display:block!important;
        z-index:9999!important;
    }

    .ug-nav.active,
    .ug-nav.open{
        visibility:visible!important;
        opacity:1!important;
        pointer-events:auto!important;
    }

    .ug-nav .nav-menu,
    .ug-nav .nav-menu.active{
        position:static!important;
        inset:auto!important;
        width:100%!important;
        min-width:100%!important;
        max-width:none!important;
        height:auto!important;
        margin:0!important;
        padding:8px 18px 14px!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        justify-content:flex-start!important;
        gap:0!important;
        background:#fff!important;
        box-shadow:none!important;
        transform:none!important;
        visibility:visible!important;
        opacity:1!important;
    }

    .ug-nav .nav-menu li{
        display:block!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;
    }

    .ug-nav .nav-menu li a{
        display:flex!important;
        align-items:center!important;
        width:100%!important;
        min-height:52px!important;
        margin:0!important;
        padding:14px 8px!important;
        color:#062846!important;
        background:#fff!important;
        border:0!important;
        border-bottom:1px solid #edf0f2!important;
        font-size:18px!important;
        line-height:1.2!important;
        font-weight:800!important;
        letter-spacing:.04em!important;
        text-transform:uppercase!important;
        white-space:normal!important;
    }

    .ug-nav .nav-menu li:last-child a{
        border-bottom:0!important;
    }

    .ug-nav .nav-menu li a:hover,
    .ug-nav .nav-menu li a:focus{
        color:#07579d!important;
        background:#f5f9fc!important;
        padding-left:14px!important;
    }

    .ug-nav .nav-menu li a::after{
        display:none!important;
    }

    .ug-menu-btn{
        position:relative!important;
        z-index:10002!important;
        background:#fff!important;
        color:#111!important;
        border:0!important;
    }

    .ug-menu-btn[aria-expanded="true"]{
        color:#e71924!important;
    }
}

/* =========================================================
   HomeFires category browser
   ========================================================= */
.ug-homefires-category-browser{
    margin:0 0 34px;
    padding:28px;
    background:#f6f8fa;
    border:1px solid #e1e7eb;
    border-radius:14px;
}
.ug-homefires-category-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}
.ug-homefires-category-kicker{
    display:block;
    margin-bottom:5px;
    color:#e71924;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.ug-homefires-category-head h2{
    margin:0;
    color:#062846;
    font-size:30px;
    line-height:1.1;
}
.ug-homefires-category-head p{
    margin:7px 0 0;
    color:#687986;
    font-size:13px;
}
.ug-homefires-category-total{
    flex:0 0 auto;
    padding:8px 12px;
    border-radius:999px;
    background:#e8f3fa;
    color:#07579d;
    font-size:11px;
    font-weight:800;
}
.ug-homefires-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.ug-homefires-category-card{
    min-width:0;
    overflow:hidden;
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    min-height:118px;
    background:#fff;
    border:1px solid #dfe6eb;
    border-radius:10px;
    color:inherit;
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.ug-homefires-category-card:hover{
    transform:translateY(-2px);
    border-color:#b9d0e1;
    box-shadow:0 10px 24px rgba(6,40,70,.10);
}
.ug-homefires-category-media{
    min-height:118px;
    background:#eef3f6;
    overflow:hidden;
}
.ug-homefires-category-media img{
    display:block;
    width:100%;
    height:100%;
    min-height:118px;
    object-fit:cover;
}
.ug-homefires-category-fallback{
    width:100%;
    height:100%;
    min-height:118px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(145deg,#062846,#07579d);
    color:#fff;
    font-size:31px;
}
.ug-homefires-category-copy{
    min-width:0;
    padding:15px 14px;
    display:flex;
    flex-direction:column;
}
.ug-homefires-category-name{
    color:#062846;
    font-size:16px;
    font-weight:900;
    line-height:1.15;
}
.ug-homefires-category-copy p{
    margin:6px 0 8px;
    color:#75838d;
    font-size:11px;
    line-height:1.45;
}
.ug-homefires-category-meta{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:#0aad4b;
    font-size:11px;
    font-weight:800;
}
.ug-homefires-category-meta i{
    color:#07579d;
}

@media(max-width:1180px){
    .ug-homefires-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .ug-homefires-category-browser{
        margin:0 0 24px;
        padding:18px 14px;
        border-radius:10px;
    }
    .ug-homefires-category-head{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .ug-homefires-category-head h2{
        font-size:27px;
    }
    .ug-homefires-category-grid{
        grid-template-columns:1fr;
        gap:10px;
    }
    .ug-homefires-category-card{
        grid-template-columns:92px minmax(0,1fr);
        min-height:104px;
    }
    .ug-homefires-category-media,
    .ug-homefires-category-media img,
    .ug-homefires-category-fallback{
        min-height:104px;
    }
}


/* HomeFires category browser polish / prevent legacy buttons overlapping */
.ug-homefires-category-browser{
    position:relative!important;
    z-index:2!important;
    overflow:hidden!important;
    isolation:isolate!important;
    margin-top:0!important;
    background:#f7f9fb!important;
}
.ug-homefires-category-browser button,
.ug-homefires-category-browser .btn{
    position:static!important;
}
.ug-homefires-category-head{
    position:relative!important;
    z-index:3!important;
    padding:0!important;
    background:transparent!important;
}
.ug-homefires-category-grid{
    position:relative!important;
    z-index:3!important;
}
.ug-homefires-category-card{
    position:relative!important;
    z-index:1!important;
}
.ug-homefires-category-card:hover{
    z-index:4!important;
}

/* Hide any legacy floating/absolute button that belongs to the product toolbar
   from appearing underneath the HomeFires category panel. */
.ug-shop-toolbar{
    position:relative!important;
    z-index:1!important;
    clear:both!important;
    margin-top:0!important;
}
.shop-layout > div{
    min-width:0!important;
}
@media(min-width:761px){
    .ug-homefires-category-browser{
        padding:30px!important;
        margin-bottom:36px!important;
    }
}

/* Admin category hierarchy */
.ug-category-admin-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.ug-category-tree-name{
    display:flex;
    align-items:center;
    gap:8px;
}
.ug-category-tree-name.is-child{
    padding-left:22px;
}
.ug-category-tree-name.is-child:before{
    content:"↳";
    color:#07579d;
    font-weight:900;
}
.ug-subcategory-badge{
    display:inline-flex;
    align-items:center;
    padding:3px 7px;
    border-radius:999px;
    background:#e9f4fb;
    color:#07579d;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.ug-add-sub-btn{
    white-space:nowrap;
}
.ug-parent-help{
    display:block;
    margin-top:5px;
    color:var(--admin-secondary);
    font-size:11px;
    line-height:1.45;
}


/* Shop sidebar search: keep search icon inside its own field so it can never
   slide behind the HomeFires category browser. */
.filter-sidebar .ug-filter-search{
    position:relative!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
}
.filter-sidebar .ug-filter-search input{
    display:block!important;
    width:100%!important;
    height:48px!important;
    padding:0 52px 0 16px!important;
    border:1px solid #d7e0e7!important;
    border-radius:8px!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.filter-sidebar .ug-filter-search .ug-filter-search-btn{
    position:absolute!important;
    top:50%!important;
    right:6px!important;
    left:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    border-radius:7px!important;
    background:#0aad4b!important;
    color:#fff!important;
    box-shadow:none!important;
    z-index:2!important;
}
.filter-sidebar .ug-filter-search .ug-filter-search-btn:hover{
    background:#07863b!important;
    transform:translateY(-50%)!important;
}
@media(max-width:768px){
    .filter-sidebar .ug-filter-search{
        display:block!important;
        flex-direction:initial!important;
    }
    .filter-sidebar .ug-filter-search input{
        width:100%!important;
    }
    .filter-sidebar .ug-filter-search .ug-filter-search-btn{
        position:absolute!important;
        top:50%!important;
        right:6px!important;
        width:38px!important;
        height:38px!important;
    }
}


/* Live product search autocomplete */
.ug-header-search.ug-live-search{
    position:relative!important;
    overflow:visible!important;
}
.ug-live-search .search-suggestions{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    width:100%;
    min-width:360px;
    max-height:460px;
    overflow-y:auto;
    padding:7px;
    background:#fff;
    border:1px solid #dce5eb;
    border-radius:12px;
    box-shadow:0 18px 45px rgba(6,40,70,.18);
    z-index:10050;
}
.ug-live-search .search-suggestions.hidden{display:none!important;}
.ug-live-search .suggestion-item{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 22px;
    gap:12px;
    align-items:center;
    min-height:70px;
    padding:8px;
    border-radius:8px;
    text-decoration:none;
    color:#17324a;
    transition:.15s ease;
}
.ug-live-search .suggestion-item:hover{
    background:#f2f7fa;
}
.ug-live-search .suggestion-item img{
    width:58px;
    height:58px;
    object-fit:contain;
    background:#f5f7f8;
    border:1px solid #edf1f3;
    border-radius:7px;
}
.ug-live-search .suggestion-info{min-width:0;}
.ug-live-search .suggestion-info h4{
    margin:0 0 4px;
    overflow:hidden;
    color:#062846;
    font-size:13px;
    font-weight:800;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ug-live-search .suggestion-info p{
    margin:0;
    color:#0aad4b;
    font-size:12px;
    font-weight:800;
}
.ug-suggestion-arrow{
    color:#07579d;
    font-size:11px;
}
.ug-search-all{
    display:block;
    margin-top:5px;
    padding:11px 12px;
    border-top:1px solid #e8edf1;
    color:#07579d;
    font-size:12px;
    font-weight:800;
    text-align:center;
    text-decoration:none;
}
.ug-search-all:hover{background:#f2f7fa;}
.ug-search-empty{
    padding:18px 14px;
    color:#71808a;
    font-size:13px;
    text-align:center;
}
@media(max-width:760px){
    .ug-live-search .search-suggestions{
        min-width:0;
        width:100%;
    }
}

/* Live search dropdown in shop sidebar */
.filter-sidebar .ug-live-search{position:relative!important;overflow:visible!important;z-index:500!important;}
.filter-sidebar .ug-live-search .search-suggestions{
 position:absolute!important;top:calc(100% + 7px)!important;left:0!important;width:360px!important;max-width:calc(100vw - 30px)!important;
 max-height:430px!important;overflow-y:auto!important;padding:7px!important;background:#fff!important;border:1px solid #dce5eb!important;
 border-radius:10px!important;box-shadow:0 18px 42px rgba(6,40,70,.2)!important;z-index:30000!important;
}
.filter-sidebar .ug-live-search .search-suggestions.hidden{display:none!important;}
.filter-sidebar .suggestion-item{display:grid!important;grid-template-columns:54px minmax(0,1fr) 18px!important;gap:10px!important;align-items:center!important;padding:8px!important;border-radius:7px!important;text-decoration:none!important;}
.filter-sidebar .suggestion-item:hover{background:#f3f7fa!important;}
.filter-sidebar .suggestion-item img{width:54px!important;height:54px!important;object-fit:contain!important;background:#f7f8f9!important;border-radius:6px!important;}
.filter-sidebar .suggestion-info h4{margin:0 0 4px!important;color:#062846!important;font-size:12px!important;line-height:1.3!important;font-weight:800!important;}
.filter-sidebar .suggestion-info p{margin:0!important;color:#0aad4b!important;font-size:11px!important;font-weight:800!important;}
.filter-sidebar .ug-search-all{display:block!important;padding:10px!important;border-top:1px solid #e7edf1!important;color:#07579d!important;font-size:11px!important;font-weight:800!important;text-align:center!important;text-decoration:none!important;}

/* Expanded Gas pricing options */
.ug-gas-options-layout{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;align-items:start;margin-top:24px}
.ug-gas-option-panel{background:#fff;border:1px solid #dfe7ed;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(6,40,70,.07)}
.ug-gas-option-title{display:flex;align-items:center;gap:13px;padding:18px 20px;background:#062846;color:#fff}
.ug-gas-option-title>i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.12);font-size:18px}
.ug-gas-option-title span{display:block;font-size:18px;font-weight:800}.ug-gas-option-title small{display:block;margin-top:2px;color:#cbd9e5;font-size:11px;font-weight:500}
.ug-gas-delivery-panel .ug-gas-option-title{background:#0aad4b}.ug-gas-deposit-panel .ug-gas-option-title{background:#07579d}
.ug-gas-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 14px 12px}
.ug-gas-delivery-panel .ug-gas-option-list,.ug-gas-deposit-panel .ug-gas-option-list{grid-template-columns:1fr}
.ug-gas-option-row{display:grid;grid-template-columns:62px 1fr 14px;gap:8px;align-items:center;padding:12px 8px;border-bottom:1px solid #edf1f4;color:#062846;text-decoration:none;transition:.15s ease}
.ug-gas-option-row:hover{background:#f5f9fb}.ug-gas-option-row strong{font-size:13px}.ug-gas-option-row span{color:#0aad4b;font-size:14px;font-weight:900;text-align:right}.ug-gas-option-row i{font-size:9px;color:#7c94a7;text-align:right}
.ug-gas-delivery-fee{margin:0 14px 14px;padding:11px 12px;border-radius:9px;background:#ecfbf3;color:#08793a;font-size:12px}.ug-gas-delivery-fee i{margin-right:5px}
@media(max-width:1050px){.ug-gas-options-layout{grid-template-columns:1fr 1fr}.ug-gas-option-panel:first-child{grid-column:1/-1}}
@media(max-width:700px){.ug-gas-options-layout{grid-template-columns:1fr}.ug-gas-option-panel:first-child{grid-column:auto}.ug-gas-option-list{grid-template-columns:1fr}.ug-gas-option-row{padding:13px 8px}}


/* Compact centered JM Prime Studio developer credit */
.main-footer .footer-bottom{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    gap:20px!important;
}
.main-footer .footer-legal-copy{justify-self:start!important;}
.main-footer .footer-policy-links{justify-self:end!important;white-space:nowrap!important;}
.main-footer .footer-developer-credit{
    justify-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    color:#a8abad!important;
}
.main-footer .footer-developer-credit > span{color:#a8abad!important;font-size:9px!important;}
.main-footer .footer-developer-credit a{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    color:#fff!important;
    text-decoration:none!important;
}
.main-footer .footer-developer-credit img{
    display:block!important;
    width:50px!important;
    height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    object-fit:contain!important;
    border-radius:7px!important;
    background:#fff!important;
}
.main-footer .footer-developer-credit strong{font-size:10px!important;letter-spacing:.06em!important;}
@media(max-width:900px){
    .main-footer .footer-bottom{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;}
    .main-footer .footer-legal-copy,.main-footer .footer-policy-links,.main-footer .footer-developer-credit{justify-self:center!important;}
}


/* Ubuntu Gas Android APK download banner - logged-in Android devices only */
.ug-android-download{display:none}
@media (max-width: 900px){
  .ug-android-download{display:block;background:#062846;color:#fff;border-bottom:4px solid #0aad4b;position:relative;z-index:40}
  .ug-android-download-inner{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:12px 44px 10px 16px;max-width:1280px;margin:0 auto}
  .ug-android-download-logo{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}
  .ug-android-download-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
  .ug-android-download-copy strong{font-size:14px;line-height:1.25;color:#fff}
  .ug-android-download-copy span{font-size:11px;line-height:1.35;color:#d9e7f1}
  .ug-android-download-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#0aad4b;color:#fff!important;text-decoration:none;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:none}
  .ug-android-download-btn:active{transform:translateY(1px)}
  .ug-android-download-close{position:absolute;right:10px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}
  .ug-android-download-note{padding:0 16px 10px;font-size:10px;line-height:1.35;color:#c7d8e4;max-width:1280px;margin:0 auto}
}
@media (max-width: 520px){
  .ug-android-download-inner{grid-template-columns:46px 1fr;padding-right:44px}
  .ug-android-download-logo{width:46px;height:46px}
  .ug-android-download-btn{grid-column:1 / -1;width:100%;padding:11px 14px;font-size:13px}
}
