/* 1️⃣ Font definitions FIRST */ @font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/plus-jakarta-sans-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; } @font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/plus-jakarta-sans-500.woff2") format("woff2"); font-weight: 500; font-display: swap; } @font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/plus-jakarta-sans-600.woff2") format("woff2"); font-weight: 600; font-display: swap; } @font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/plus-jakarta-sans-700.woff2") format("woff2"); font-weight: 700; font-display: swap; } @font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/plus-jakarta-sans-800.woff2") format("woff2"); font-weight: 800; font-display: swap; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --font-main: "Plus Jakarta Sans", sans-serif; --blue: #1a6fd4; --blue-dark: #0e4da4; --blue-light: #e8f1fd; --teal: #17a2b8; --red: #e53935; --yellow: #fbbf24; --white: #ffffff; --gray-50: #f9fafb; --gray-100: #f3f4f6; --gray-200: #e5e7eb; --gray-300: #d1d5db; --gray-400: #9ca3af; --gray-600: #4b5563; --gray-700: #374151; --gray-800: #1f2937; /* Spacing scale */ --space-1: 0.25rem; /* 4px */ --space-2: 0.5rem; /* 8px */ --space-3: 0.75rem; /* 12px */ --space-4: 1rem; /* 16px */ --space-5: 1.25rem; /* 20px */ --space-6: 1.5rem; /* 24px */ --space-8: 2rem; /* 32px */ --space-10: 2.5rem; /* 40px */ --space-12: 3rem; /* 48px */ --space-14: 3.5rem; /* 56px */ /* Border radius scale */ --radius-sm: 0.25rem; /* 4px */ --radius-md: 0.5rem; /* 8px */ --radius-lg: 0.75rem; /* 12px */ --radius-xl: 0.875rem; /* 14px */ --radius-2xl: 1rem; /* 16px */ --radius-full: 9999px; /* Font size scale */ --text-xs: 0.625rem; /* 10px */ --text-sm: 0.6875rem; /* 11px */ --text-base: 0.75rem; /* 12px */ --text-md: 0.8125rem; /* 13px */ --text-lg: 0.875rem; /* 14px */ --text-xl: 0.9375rem; /* 15px */ --text-2xl: 1rem; /* 16px */ --text-3xl: 1.125rem; /* 18px */ --text-4xl: 1.25rem; /* 20px */ --text-5xl: 1.375rem; /* 22px */ --text-6xl: 1.5rem; /* 24px */ --text-hero: 4rem; /* 60px */ --text-deal: 2.125rem; /* 34px */ --text-deal-price: 1.625rem; /* 26px */ } html { scroll-behavior: smooth; } body { font-family: var(--font-main); color: var(--gray-800); background: #fff; overflow-x: hidden; } a { text-decoration: none; color: inherit; } /* ── TOPBAR ── */ .topbar { background: var(--blue); color: white; font-size: var(--text-md); padding: var(--space-2) 0; } .topbar-inner { max-width: 100rem; margin: 0 auto; padding: 0 var(--space-6); display: flex; align-items: center; justify-content: space-between; } .topbar-welcome { display: flex; align-items: center; gap: var(--space-3); } .topbar-welcome span { opacity: 0.9; } .topbar-welcome .covid-link { color: var(--yellow); font-weight: 600; } .topbar-phone-badge { background: var(--blue-dark); color: white; border-radius: var(--radius-full); padding: var(--space-1) var(--space-4); font-weight: 700; font-size: var(--text-md); display: flex; align-items: center; gap: var(--space-2); } .topbar-right { display: flex; align-items: center; gap: var(--space-5); } .topbar-right a { color: rgba(255, 255, 255, 0.85); font-size: var(--text-md); transition: color 0.2s; display: flex; align-items: center; gap: var(--space-1); } .topbar-right a:hover { color: white; } /* ── NAVBAR ── */ nav { background: white; border-bottom: 0.0625rem solid var(--gray-200); position: relative; top: 0; z-index: 999; box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.06); } .nav-inner { max-width: 100rem; margin: 0 auto; padding: var(--space-4) var(--space-6); display: flex; align-items: center; gap: var(--space-7, 1.75rem); } .logo { display: flex; align-items: center; gap: var(--space-2); flex-shrink: 0; } .logo-image { width: 7rem; height: 7rem; position: relative; display: block; object-fit: fill; transition: transform 0.4s ease; } .logo-image svg { width: 2.875rem; height: 2.875rem; } .logo-texts .brand { font-size: var(--text-2xl); font-weight: 900; color: var(--blue-dark); letter-spacing: -0.03125rem; display: block; line-height: 1.1; } .logo-texts .brand em { color: var(--blue); font-style: normal; } .logo-texts .sub { font-size: 0.5625rem; letter-spacing: 0.09375rem; color: var(--gray-400); text-transform: uppercase; display: block; } .nav-links { display: flex; list-style: none; gap: var(--space-2); align-items: center; justify-content: center; flex: 1; } .nav-links a { font-size: var(--text-md); font-weight: 500; color: var(--gray-700); padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); transition: all 0.2s; } .nav-links a:hover, .nav-links .active a { color: var(--blue); background: var(--blue-light); } .nav-links .active a { font-weight: 600; } .nav-right { display: flex; align-items: center; gap: var(--space-2); margin-left: auto; } .search-box { display: flex; align-items: center; border: 0.09375rem solid var(--gray-200); border-radius: var(--radius-full); overflow: hidden; height: 2.25rem; transition: border-color 0.2s; } .search-box:focus-within { border-color: var(--blue); } .search-box input { border: none; outline: none; font-size: var(--text-md); padding: 0 var(--space-3); font-family: inherit; width: 8.75rem; color: var(--gray-700); background: transparent; } .search-box button { background: none; border: none; cursor: pointer; padding: 0 var(--space-2); color: var(--gray-400); display: flex; align-items: center; } .icon-btn { background: none; border: none; cursor: pointer; padding: var(--space-2); color: var(--gray-600); display: flex; align-items: center; border-radius: var(--radius-md); transition: background 0.2s; } .icon-btn:hover { background: var(--gray-100); } .cart-btn { display: flex; align-items: center; gap: var(--space-2); background: var(--blue); color: white; border: none; border-radius: var(--radius-full); padding: var(--space-2) var(--space-4); font-size: var(--text-md); font-weight: 600; cursor: pointer; font-family: inherit; transition: background 0.2s; } .cart-btn:hover { background: var(--blue-dark); } .cart-count { background: white; color: var(--blue); border-radius: var(--radius-full); width: 1.125rem; height: 1.125rem; font-size: var(--text-sm); font-weight: 700; display: flex; align-items: center; justify-content: center; } /* Hide hamburger on desktop */ @media (min-width: 768px) { #menu-toggle { display: none; } } /* Hide nav links on mobile */ @media (max-width: 767px) { .nav-links { display: none; } } /* Overlay background */ .mobile-menu-overlay { position: absolute; top: 100%; left: 0; right: 0; background: white; z-index: 999; transform: translateY(-20px); opacity: 0; pointer-events: none; transition: transform 0.25s ease, opacity 0.2s ease; padding: var(--space-6); /* padding-bottom: 0; */ box-shadow: 0 12px 25px rgba(0, 0, 0, 0.08); } .mobile-menu-overlay.active { transform: translateY(0); opacity: 1; pointer-events: auto; } /* Header */ .mobile-menu-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-6); } .mobile-menu-title { font-size: var(--text-xl); font-weight: 800; } .close-menu { background: none; border: none; font-size: 1.5rem; cursor: pointer; } /* Links */ .mobile-nav-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; /* gap: var(--space-5); */ } .mobile-nav-links a { position: relative; z-index: 1; display: block; text-decoration: none; font-size: var(--text-lg); font-weight: 600; color: var(--gray-800); } .mobile-nav-links li { position: relative; padding: var(--space-4) 0; /* Y-axis padding here */ } .mobile-nav-links li::before { content: ""; position: absolute; left: calc(-1 * var(--space-6)); right: calc(-1 * var(--space-6)); top: 0; bottom: 0; background: var(--blue-light); opacity: 0; transition: opacity 0.2s ease; z-index: 0; } .mobile-nav-links li:hover::before { opacity: 1; } .mobile-nav-links li:hover::before { opacity: 1; transform: scaleX(1); } /* ── BREADCRUMB ── */ .breadcrumb-bar { background: white; border-bottom: 0.0625rem solid var(--gray-200); padding: var(--space-3) 0; } .breadcrumb-inner { max-width: 100rem; margin: 0 auto; padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-md); color: var(--gray-400); } .breadcrumb-inner a { color: var(--gray-600); transition: color 0.2s; } .breadcrumb-inner a:hover { color: var(--blue); } .breadcrumb-inner .sep { color: var(--gray-300); font-size: var(--text-lg); } .breadcrumb-inner .current { color: var(--blue); font-weight: 600; } /* ── HERO LAYOUT ── */ .hero-section { max-width: 100rem; margin: 0 auto; padding: var(--space-4) var(--space-6) var(--space-3); gap: var(--space-4); } .hero-main { background: url("../images/hero.webp") center / cover no-repeat; border-radius: var(--radius-xl); padding: var(--space-11, 2.75rem) var(--space-10) 0; position: relative; overflow: hidden; min-height: 40rem; display: flex; align-items: center; gap: var(--space-14); justify-content: space-between; } .hero-content { /* position: relative; */ /* z-index: 2; */ /* padding-bottom: var(--space-11, 2.75rem); */ } .hero-cat { font-size: var(--text-6xl); /* color: #a50f0a; */ /* color: #fbbf24; */ color: var(--yellow); font-weight: 500; letter-spacing: 0.05em; margin-bottom: var(--space-2); } .hero-h1 { font-size: var(--text-hero); font-weight: 900; color: #fff7ed; /* color: var(--white); */ line-height: 1; letter-spacing: 0.05em; margin-bottom: var(--space-3); } .hero-desc { font-size: var(--text-2xl); color: rgba(255, 255, 255, 0.85); line-height: 1.65; margin-bottom: var(--space-6); max-width: 17.5rem; } .btn-primary { display: inline-flex; align-items: center; gap: var(--space-2); background: var(--blue); color: white; border: none; border-radius: var(--radius-md); padding: var(--space-4) var(--space-6); font-size: var(--text-md); font-weight: 700; transition: all 0.2s; cursor: pointer; font-family: inherit; } .btn-primary:hover { background: var(--blue-dark); transform: translateY(-0.0625rem); } .btn-spinner { display: none; width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, 0.4); border-top: 2px solid white; border-radius: 50%; animation: spin 0.7s linear infinite; } .btn-primary.loading .btn-text { display: none; } .btn-primary.loading .btn-spinner { display: inline-block; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* HERO CTA PREMIUM EFFECT */ .hero-buy-btn { position: relative; overflow: hidden; transition: all 0.3s ease; } .hero-buy-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(26, 111, 212, 0.35); } /* Check text hidden initially */ .hero-buy-btn .btn-check { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(0); opacity: 0; transition: all 0.3s ease; font-weight: 600; } /* When added */ .hero-buy-btn.added .btn-text { opacity: 0; } .hero-buy-btn.added .btn-check { opacity: 1; transform: translate(-50%, -50%) scale(1); } /* Ripple effect */ .hero-buy-btn::after { content: ""; position: absolute; width: 0; height: 0; background: rgba(255, 255, 255, 0.4); border-radius: 50%; transform: translate(-50%, -50%); top: 50%; left: 50%; transition: width 0.5s ease, height 0.5s ease, opacity 0.5s ease; opacity: 0; } .hero-buy-btn:active::after { width: 300px; height: 300px; opacity: 1; transition: 0s; } .hero-product-wrap { /* position: absolute; */ /* right: 4.375rem; */ /* bottom: 0; */ z-index: 2; display: flex; align-items: flex-end; } .hero-disc { position: absolute; top: 4rem; right: 13.125rem; width: 4.625rem; height: 4.625rem; background: var(--yellow); border-radius: var(--radius-full); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 3; box-shadow: 0 0.375rem 1.25rem rgba(251, 191, 36, 0.45); font-weight: 900; } .hero-disc .pct { font-size: 1.375rem; color: #7c3800; line-height: 1; } .hero-disc .off { font-size: var(--text-md); color: #7c3800; } .hero-dots { position: absolute; bottom: 1.25rem; left: var(--space-10); display: flex; gap: var(--space-2); z-index: 3; } .dot { width: 0.625rem; height: 0.625rem; border-radius: var(--radius-full); background: var(--gray-300); cursor: pointer; transition: all 0.2s; } .dot.active { background: var(--blue); width: 1.625rem; border-radius: var(--radius-sm); } /* ── SIDE BANNERS ── */ .hero-side { display: flex; flex-direction: column; gap: var(--space-4); } .side-card { flex: 1; border-radius: var(--radius-lg); padding: var(--space-8); display: flex; align-items: center; justify-content: space-between; cursor: pointer; transition: transform 0.22s; overflow: hidden; letter-spacing: 0.05em; } .side-card:hover { transform: scale(1.025); } .side-card-1 { background: url("../images/body-lotion.webp") center / cover no-repeat; } .side-card-2 { background: url("../images/sanitizer.webp") center / cover no-repeat; } .side-cat { font-size: var(--text-2xl); color: var(--gray-600); margin-bottom: var(--space-1); } .side-card > div { align-self: self-start; } .side-card > svg { align-self: self-end; } .side-card h3 { font-size: var(--text-6xl); font-weight: 800; color: var(--gray-800); line-height: 1.1; margin-bottom: var(--space-2); } .shop-now { font-size: var(--text-sm); font-weight: 700; color: var(--red); display: flex; align-items: center; gap: var(--space-1); } .shop-now::after { content: "→"; } /* ── FEATURED STRIP ── */ .featured-strip { max-width: 100rem; margin: 0 auto; padding: var(--space-6); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); } .feat-card { height: 40rem; border-radius: var(--radius-lg); position: relative; overflow: hidden; cursor: pointer; transition: transform 0.3s; } .feat-card:hover { transform: scale(1.02); } .feat-card:hover .feat-img { transform: scale(1.06); } .feat-card-bg { position: absolute; inset: 0; } a.feat-card { text-decoration: none; color: inherit; display: block; } .feat-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; } .feat-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.58) 0%, transparent 55%); } .feat-info { position: absolute; bottom: 0; left: 0; right: 0; padding: var(--space-6); z-index: 2; } .feat-tag { font-size: var(--text-md); color: rgba(255, 255, 255, 0.8); margin-bottom: var(--space-1); font-weight: 500; } .feat-name { font-size: var(--text-6xl); font-weight: 800; color: white; margin-bottom: var(--space-2); } .feat-shop { font-size: var(--text-sm); font-weight: 700; color: #ff6b6b; display: flex; align-items: center; gap: var(--space-1); } .feat-shop::after { content: "→"; } .feat-disc { position: absolute; top: var(--space-3); left: var(--space-3); width: 3.25rem; height: 3.25rem; background: var(--yellow); border-radius: var(--radius-full); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 3; font-weight: 900; box-shadow: 0 0.25rem 0.875rem rgba(251, 191, 36, 0.4); } .feat-disc .p { font-size: var(--text-2xl); color: #7c3800; line-height: 1; } .feat-disc .o { font-size: var(--text-xs); color: #7c3800; } .bg-cream { background: url("../images/fairness-cream.webp") center / cover no-repeat; } .bg-facewash { background: url("../images/playfair-facewash.webp") center / cover no-repeat; } .bg-acne { background: url("../images/anti-acne-cream.webp") center / cover no-repeat; } /* ── OUR PRODUCTS ── */ .section-wrap-span-2 { max-width: 100rem; margin: 0 auto; padding: var(--space-5) var(--space-6) var(--space-10); display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); } .section-wrap { max-width: 100rem; margin: 0 auto; padding: var(--space-5) var(--space-6) var(--space-10); } .sec-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-6); } .sec-title { font-size: var(--text-deal, 2.125rem); font-weight: 800; color: var(--gray-800); letter-spacing: -0.03em; } .view-all { font-size: var(--text-md); font-weight: 600; color: var(--blue); display: flex; align-items: center; gap: var(--space-1); } .view-all::after { content: "→"; font-size: var(--text-xl); } .products-grid-span-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); } .products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); } /* CARD HOVER LIFT */ .prod-card { position: relative; cursor: pointer; transition: all 0.3s ease; } .prod-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); } .prod-card-link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; } /* HIDE ICON UNTIL HOVER */ .cart-icon-btn { position: absolute; z-index: 2; bottom: 10px; right: 18px; width: 44px; height: 44px; border-radius: 50%; border: none; background: #1a6fd4; color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 18px rgba(26, 111, 212, 0.35); transition: all 0.3s ease; opacity: 0; transform: translateY(10px); } .prod-card:hover .cart-icon-btn { opacity: 1; transform: translateY(0); } /* TOOLTIP */ .tooltip { position: absolute; bottom: 55px; background: #222; color: white; font-size: 12px; padding: 6px 10px; border-radius: 6px; opacity: 0; transition: 0.2s; white-space: nowrap; } .cart-icon-btn:hover .tooltip { opacity: 1; } /* ADDED CHECK */ .added-check { position: absolute; font-size: 18px; opacity: 0; transform: scale(0); transition: 0.3s; } .cart-icon-btn.added .cart-svg { display: none; } .cart-icon-btn.added .added-check { opacity: 1; transform: scale(1); } /* QUANTITY BADGE */ .prod-qty-badge { position: absolute; top: 12px; right: 12px; background: #e63946; color: white; font-size: 12px; padding: 4px 8px; border-radius: 20px; display: none; } .prod-img-box { position: relative; aspect-ratio: 1 / 1; /* makes it square */ overflow: hidden; } .prod-img-box img { width: 100%; height: 100%; object-fit: cover; /* fills box and crops neatly */ display: block; transition: transform 0.4s ease; } .prod-card:hover .prod-img-box img { transform: scale(1.05); } .disc-tag { position: absolute; top: var(--space-2); left: var(--space-2); background: var(--red); color: white; font-size: var(--text-xs); font-weight: 700; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); } .prod-body { padding: var(--space-3); } .prod-name { font-size: var(--text-md); font-weight: 600; color: var(--gray-800); line-height: 1.42; margin-bottom: var(--space-2); min-height: 2.375rem; } .prod-price { display: flex; align-items: center; gap: var(--space-2); } .price-now { font-size: var(--text-xl); font-weight: 800; color: var(--red); } .price-old { font-size: var(--text-base); color: var(--gray-400); text-decoration: line-through; } /* ── FOOTER ── */ footer { background: white; border-top: 0.0625rem solid var(--gray-200); padding: var(--space-12) 0 var(--space-6); margin-top: var(--space-12); } .footer-grid { max-width: 100rem; margin: 0 auto; padding: 0 var(--space-6); display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-12); margin-bottom: var(--space-8); } .footer-brand-desc { font-size: var(--text-md); color: var(--gray-600); line-height: 1.7; margin-top: var(--space-3); max-width: 16.875rem; } .footer-socials { display: flex; gap: var(--space-2); margin-top: var(--space-4); } .soc-btn { width: 2rem; height: 2rem; border-radius: var(--radius-sm); background: var(--gray-100); display: flex; align-items: center; justify-content: center; font-size: var(--text-md); cursor: pointer; font-weight: 700; color: var(--gray-600); transition: all 0.2s; } .soc-btn:hover { background: var(--blue); color: white; } .footer-col h4 { font-size: var(--text-lg); font-weight: 700; color: var(--gray-800); margin-bottom: var(--space-4); } .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: var(--space-2); } .footer-col li::before { content: "•"; color: var(--blue); margin-right: var(--space-2); } .footer-col li a { font-size: var(--text-md); color: var(--gray-600); transition: color 0.2s; } .footer-col li a:hover { color: var(--blue); } .contact-row { display: flex; gap: var(--space-2); align-items: flex-start; font-size: var(--text-md); color: var(--gray-600); margin-bottom: var(--space-3); } .contact-row .ic { font-size: var(--text-xl); margin-top: 0.0625rem; } .footer-bottom { max-width: 100rem; margin: 0 auto; padding: var(--space-4) var(--space-6) 0; border-top: 0.0625rem solid var(--gray-200); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); } .footer-bottom p { font-size: var(--text-md); color: var(--gray-400); } .footer-bottom-links { display: flex; gap: var(--space-5); } .footer-bottom-links a { font-size: var(--text-md); color: var(--gray-400); transition: color 0.2s; } .footer-bottom-links a:hover { color: var(--blue); } /* ── TOAST NOTIFICATION ── */ .toast { position: fixed; bottom: var(--space-6); right: var(--space-6); background: var(--gray-800); color: white; padding: var(--space-3) var(--space-5); border-radius: var(--radius-lg); font-size: var(--text-md); font-weight: 600; display: flex; align-items: center; gap: var(--space-3); box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2); transform: translateY(6rem); opacity: 0; transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); z-index: 9999; pointer-events: none; } .toast.show { transform: translateY(0); opacity: 1; } .toast-icon { font-size: var(--text-xl); } .toast-view { color: var(--yellow); cursor: pointer; pointer-events: all; margin-left: var(--space-2); text-decoration: underline; } /* ── RESPONSIVE ── */ @media (max-width: 68.75rem) { .products-grid { grid-template-columns: repeat(2, 1fr); } .section-wrap-span-2 { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 56.25rem) { .hero-section { grid-template-columns: 1fr; } .hero-side { flex-direction: row; } .deal-inner { grid-template-columns: 1fr; } .deal-img { max-width: 350px; margin: 0 auto; } .featured-strip { grid-template-columns: 1fr; } .insta-grid { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 40rem) { .nav-links, .search-box { display: none; } .logo-image { width: 5rem; height: 5rem; } .hero-main { background: url("../images/hero-mobile.webp") center / cover no-repeat; } .hero-disc { top: 2rem; right: 2rem; width: 3rem; height: 3rem; } .hero-disc .pct { font-size: var(--text-lg); } .hero-disc .off { font-size: var(--text-xs); } .products-grid { grid-template-columns: 1fr; } .products-grid-span-2 { grid-template-columns: 1fr; } .hero-side { flex-direction: column; } .deal-img { max-width: 240px; margin: 0 auto; } .footer-grid { grid-template-columns: 1fr; } .topbar-right { display: none; } .featured-strip { grid-template-columns: 1fr; } }