File manager - Edit - /home/webapp69.cm.in.th/u69319090048/shop69319090048/style.css
Back
/* Style.css - Apple-style Minimalist Design System for T-Shirt E-Commerce Demo */ /* Fonts Import */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Prompt:wght@300;400;500;600&display=swap'); /* Global Variables */ :root { --bg-primary: #ffffff; --bg-secondary: #f5f5f7; --bg-tertiary: #fafafa; --text-primary: #1d1d1f; --text-secondary: #86868b; --border-color: #d2d2d7; --accent-color: #000000; --accent-hover: #333333; --accent-blue: #0071e3; --button-bg: #1d1d1f; --button-text: #ffffff; --input-bg: #ffffff; --card-bg: #ffffff; --card-border: #e5e5e7; --font-sans: 'Inter', 'Prompt', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; --transition-speed: 0.3s; --header-height: 48px; } /* Dark Theme Variables */ [data-theme="dark"] { --bg-primary: #161617; --bg-secondary: #000000; --bg-tertiary: #1d1d1f; --text-primary: #f5f5f7; --text-secondary: #86868b; --border-color: #424245; --accent-color: #ffffff; --accent-hover: #e5e5e7; --accent-blue: #2997ff; --button-bg: #f5f5f7; --button-text: #1d1d1f; --input-bg: #1d1d1f; --card-bg: #1c1c1e; --card-border: #2c2c2e; } /* Reset and Core Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-sans); background-color: var(--bg-primary); color: var(--text-primary); line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transition: background-color var(--transition-speed), color var(--transition-speed); display: flex; flex-direction: column; min-height: 100vh; } a { color: inherit; text-decoration: none; transition: opacity var(--transition-speed); } a:hover { opacity: 0.8; } /* Layout Containers */ .container { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 24px; } /* Header/Navigation */ header { position: sticky; top: 0; z-index: 100; background-color: rgba(var(--bg-primary), 0.8); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid var(--border-color); height: var(--header-height); transition: background-color var(--transition-speed), border-color var(--transition-speed); } .nav-container { display: flex; justify-content: space-between; align-items: center; height: 100%; position: relative; } .logo { font-weight: 600; font-size: 14px; letter-spacing: -0.01em; } .nav-center { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; } .nav-center a { font-size: 12px; color: var(--text-primary); opacity: 0.8; font-weight: 400; letter-spacing: -0.01em; } .nav-center a:hover { opacity: 1; } .nav-actions { display: flex; align-items: center; gap: 20px; } .bag-icon-container { position: relative; display: flex; align-items: center; } .bag-icon-svg { stroke: var(--text-primary); opacity: 0.8; transition: opacity var(--transition-speed); } .bag-icon-container:hover .bag-icon-svg { opacity: 1; } .bag-count { position: absolute; top: -6px; right: -10px; background-color: var(--text-primary); color: var(--bg-primary); font-size: 9px; font-weight: 600; padding: 1px 5px; border-radius: 10px; line-height: 1; } .theme-toggle-btn { background: none; border: none; cursor: pointer; color: var(--text-primary); font-size: 14px; display: flex; align-items: center; justify-content: center; padding: 4px; } /* Footer */ footer { background-color: var(--bg-secondary); color: var(--text-secondary); font-size: 11px; padding: 40px 0; border-top: 1px solid var(--border-color); margin-top: auto; } .footer-content { display: flex; flex-direction: column; gap: 16px; } .footer-links { display: flex; gap: 24px; list-style: none; } .footer-links a { color: var(--text-secondary); } .footer-links a:hover { color: var(--text-primary); } /* Buttons */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; font-size: 13px; font-weight: 500; border-radius: 4px; border: 1px solid var(--border-color); background-color: transparent; color: var(--text-primary); cursor: pointer; transition: all var(--transition-speed); font-family: inherit; } .btn:hover { background-color: var(--bg-secondary); } .btn-primary { background-color: var(--button-bg); color: var(--button-text); border-color: var(--button-bg); } .btn-primary:hover { opacity: 0.9; background-color: var(--button-bg); } .btn-link { border: none; background: none; color: var(--accent-blue); padding: 0; font-size: 13px; cursor: pointer; } .btn-link:hover { text-decoration: underline; } /* Form Elements */ .form-group { margin-bottom: 20px; } .form-group label { display: block; font-size: 12px; color: var(--text-secondary); margin-bottom: 6px; font-weight: 500; } .form-control { width: 100%; padding: 12px; font-size: 14px; border-radius: 6px; border: 1px solid var(--border-color); background-color: var(--input-bg); color: var(--text-primary); font-family: inherit; transition: border-color var(--transition-speed); } .form-control:focus { outline: none; border-color: var(--text-primary); } /* GRID/FLEX UTILITIES */ .row { display: flex; flex-wrap: wrap; margin: 0 -12px; } .col { flex: 1; padding: 0 12px; } /* HOME PAGE - PRODUCT SHOWCASE */ .hero-section { position: relative; text-align: center; padding: 120px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; min-height: 480px; background-color: #000000; } .hero-video { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; min-width: 100%; min-height: 100%; transform: translate(-50%, -50%); object-fit: cover; z-index: 1; } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.7) 100%); z-index: 2; } .hero-content { position: relative; z-index: 3; color: #ffffff; display: flex; flex-direction: column; align-items: center; } .hero-section h1 { font-size: 48px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 8px; line-height: 1.1; color: #ffffff; } .hero-section p { font-size: 21px; color: rgba(255, 255, 255, 0.8); font-weight: 400; max-width: 600px; text-align: center; margin: 0 auto; } .showcase-tiers { display: flex; flex-direction: column; gap: 60px; margin-bottom: 100px; } .tier-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; padding: 60px 0; border-bottom: 1px solid var(--border-color); } .tier-section:last-child { border-bottom: none; } .tier-info { display: flex; flex-direction: column; gap: 16px; } .tier-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-secondary); font-weight: 600; } .tier-title { font-size: 36px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.15; } .tier-tagline { font-size: 18px; color: var(--text-secondary); font-weight: 400; } .tier-price { font-size: 20px; font-weight: 500; margin-top: 8px; } .tier-actions { display: flex; gap: 16px; margin-top: 16px; } .tier-image-container { display: flex; justify-content: center; align-items: center; background-color: var(--bg-secondary); border-radius: 12px; overflow: hidden; aspect-ratio: 1 / 1; } .tier-image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .tier-section:hover .tier-image-container img { transform: scale(1.03); } /* PRODUCT CONFIG PAGE */ .config-header { border-bottom: 1px solid var(--border-color); padding: 24px 0 16px 0; margin-bottom: 40px; } .config-header-container { display: flex; justify-content: space-between; align-items: flex-end; } .config-header-titles h2 { font-size: 14px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 500; } .config-header-titles h1 { font-size: 32px; font-weight: 600; letter-spacing: -0.015em; } .price-summary-sticky { text-align: right; } .price-summary-sticky .price-label { font-size: 12px; color: var(--text-secondary); } .price-summary-sticky .price-val { font-size: 32px; font-weight: 500; letter-spacing: -0.01em; } .config-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; margin-bottom: 120px; } .config-visual { position: sticky; top: 80px; height: fit-content; background-color: var(--bg-secondary); border-radius: 16px; overflow: hidden; aspect-ratio: 1 / 1; display: flex; justify-content: center; align-items: center; } .config-visual img { width: 100%; height: 100%; object-fit: cover; } .config-options { display: flex; flex-direction: column; gap: 40px; } .config-section-title { font-size: 18px; font-weight: 600; margin-bottom: 16px; letter-spacing: -0.01em; } .config-section-desc { font-size: 13px; color: var(--text-secondary); margin-top: -12px; margin-bottom: 16px; } /* Sizes Pill Layout */ .size-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; } .option-card-input { display: none; } .option-card-label { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 16px 8px; border: 1px solid var(--border-color); border-radius: 8px; cursor: pointer; text-align: center; transition: all var(--transition-speed); font-size: 13px; font-weight: 500; background-color: var(--card-bg); } .option-card-label:hover { border-color: var(--text-primary); } .option-card-input:checked + .option-card-label { border-color: var(--accent-blue); box-shadow: 0 0 0 1px var(--accent-blue); background-color: var(--bg-primary); } /* Trade-In Options Card Layout */ .tradein-list, .warranty-list { display: flex; flex-direction: column; gap: 12px; } .tradein-card-label, .warranty-card-label { display: flex; justify-content: space-between; align-items: center; padding: 20px; border: 1px solid var(--border-color); border-radius: 12px; cursor: pointer; transition: all var(--transition-speed); background-color: var(--card-bg); } .tradein-card-label:hover, .warranty-card-label:hover { border-color: var(--text-primary); } .option-card-input:checked + .tradein-card-label, .option-card-input:checked + .warranty-card-label { border-color: var(--accent-blue); box-shadow: 0 0 0 1px var(--accent-blue); } .option-card-details { display: flex; flex-direction: column; gap: 4px; } .option-card-name { font-size: 14px; font-weight: 600; } .option-card-sub { font-size: 12px; color: var(--text-secondary); } .option-card-price { font-size: 14px; font-weight: 500; } .option-card-price.discount { color: #008000; font-weight: 600; } [data-theme="dark"] .option-card-price.discount { color: #30d158; } /* Specs list in config */ .specs-list { list-style: none; margin-top: 10px; } .specs-list li { font-size: 13px; color: var(--text-secondary); margin-bottom: 8px; position: relative; padding-left: 16px; } .specs-list li::before { content: "—"; position: absolute; left: 0; color: var(--border-color); } /* Sticky Bottom Bar */ .sticky-bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; background-color: rgba(var(--bg-primary), 0.85); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-top: 1px solid var(--border-color); padding: 16px 0; z-index: 99; transition: background-color var(--transition-speed), border-color var(--transition-speed); } .sticky-bottom-container { display: flex; justify-content: space-between; align-items: center; } .sticky-bottom-info { display: flex; flex-direction: column; } .sticky-bottom-info .title { font-size: 14px; font-weight: 600; } .sticky-bottom-info .summary { font-size: 12px; color: var(--text-secondary); } .sticky-bottom-actions { display: flex; align-items: center; gap: 24px; } .sticky-bottom-price { font-size: 20px; font-weight: 500; } /* BAG PAGE */ .bag-title-section { padding: 60px 0 30px 0; border-bottom: 1px solid var(--border-color); margin-bottom: 40px; } .bag-title-section h1 { font-size: 40px; font-weight: 600; letter-spacing: -0.02em; } .bag-items-list { display: flex; flex-direction: column; margin-bottom: 60px; } .bag-item { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; padding: 30px 0; border-bottom: 1px solid var(--border-color); } .bag-item-image { width: 120px; height: 120px; background-color: var(--bg-secondary); border-radius: 8px; overflow: hidden; display: flex; justify-content: center; align-items: center; } .bag-item-image img { width: 100%; height: 100%; object-fit: cover; } .bag-item-info { display: flex; flex-direction: column; justify-content: space-between; } .bag-item-details h2 { font-size: 18px; font-weight: 600; margin-bottom: 6px; } .bag-item-meta { font-size: 13px; color: var(--text-secondary); display: flex; flex-direction: column; gap: 3px; } .bag-item-actions { display: flex; align-items: center; gap: 16px; margin-top: 12px; } .bag-qty-select { font-size: 13px; padding: 4px 8px; border: 1px solid var(--border-color); border-radius: 4px; background-color: var(--input-bg); color: var(--text-primary); font-family: inherit; } .remove-btn { font-size: 13px; color: var(--accent-blue); border: none; background: none; cursor: pointer; } .remove-btn:hover { text-decoration: underline; } .bag-item-price-col { text-align: right; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; } .bag-item-total { font-size: 18px; font-weight: 500; } /* Bag Summary */ .bag-summary-section { display: grid; grid-template-columns: 1.5fr 1fr; gap: 60px; margin-bottom: 120px; } .bag-summary-card { display: flex; flex-direction: column; gap: 16px; background-color: var(--bg-secondary); padding: 30px; border-radius: 12px; } .summary-row { display: flex; justify-content: space-between; font-size: 14px; } .summary-row.total { font-size: 20px; font-weight: 600; border-top: 1px solid var(--border-color); padding-top: 16px; margin-top: 8px; } .bag-summary-actions { margin-top: 12px; } .bag-summary-actions .btn { width: 100%; padding: 16px; font-size: 15px; } .empty-bag-message { text-align: center; padding: 80px 0; } .empty-bag-message p { color: var(--text-secondary); font-size: 16px; margin-bottom: 24px; } /* CHECKOUT PAGE */ .checkout-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; margin-top: 40px; margin-bottom: 120px; } .checkout-section-title { font-size: 20px; font-weight: 600; margin-bottom: 24px; border-bottom: 1px solid var(--border-color); padding-bottom: 12px; } .checkout-forms { display: flex; flex-direction: column; gap: 40px; } .payment-methods-grid { display: flex; flex-direction: column; gap: 12px; } .payment-method-label { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border: 1px solid var(--border-color); border-radius: 8px; cursor: pointer; transition: all var(--transition-speed); font-size: 14px; font-weight: 500; background-color: var(--card-bg); } .payment-method-label:hover { border-color: var(--text-primary); } .option-card-input:checked + .payment-method-label { border-color: var(--accent-blue); box-shadow: 0 0 0 1px var(--accent-blue); } .payment-icon { font-size: 18px; font-weight: 600; opacity: 0.8; } .checkout-summary-col { position: sticky; top: 80px; height: fit-content; } .order-summary-box { border: 1px solid var(--border-color); border-radius: 12px; padding: 24px; background-color: var(--card-bg); } .order-summary-items { max-height: 240px; overflow-y: auto; margin-bottom: 20px; } .order-summary-item { display: flex; justify-content: space-between; font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; } .order-summary-item .name { color: var(--text-primary); font-weight: 500; } .order-summary-totals { border-top: 1px solid var(--border-color); padding-top: 16px; } /* SUCCESS PAGE */ .success-container { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 60vh; gap: 24px; } .success-container h1 { font-size: 40px; font-weight: 600; letter-spacing: -0.02em; } .success-container p { color: var(--text-secondary); font-size: 15px; max-width: 480px; margin-bottom: 12px; } /* NOTIFICATION TOAST (Minimalist) */ .toast-notification { position: fixed; bottom: 90px; right: 24px; background-color: var(--button-bg); color: var(--button-text); padding: 12px 24px; border-radius: 6px; font-size: 13px; font-weight: 500; box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(120px); opacity: 0; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s; z-index: 1000; } .toast-notification.show { transform: translateY(0); opacity: 1; } /* RESPONSIVE DESIGN */ @media (max-width: 768px) { .hero-section h1 { font-size: 36px; } .hero-section p { font-size: 18px; } .tier-section { grid-template-columns: 1fr; gap: 24px; padding: 40px 0; text-align: center; } .tier-actions { justify-content: center; } .tier-image-container { order: -1; } .config-grid { grid-template-columns: 1fr; gap: 30px; } .config-visual { position: relative; top: 0; } .config-header-container { flex-direction: column; align-items: flex-start; gap: 16px; } .price-summary-sticky { text-align: left; } .bag-item { grid-template-columns: auto 1fr; gap: 20px; position: relative; } .bag-item-price-col { grid-column: 1 / span 2; flex-direction: row; justify-content: space-between; align-items: center; border-top: 1px solid var(--border-color); padding-top: 16px; margin-top: 10px; } .bag-summary-section { grid-template-columns: 1fr; gap: 30px; } .checkout-grid { grid-template-columns: 1fr; gap: 40px; } .checkout-summary-col { position: relative; top: 0; } .sticky-bottom-container { flex-direction: column; gap: 12px; align-items: stretch; text-align: center; } .sticky-bottom-actions { justify-content: space-between; } .sticky-bottom-bar { padding: 12px 16px; } body { padding-bottom: 120px; /* Space for sticky bottom bar on mobile */ } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings