feat: добавить страницы и фрагменты для улучшения структуры шаблонов

- Добавлены страницы "Услуги", "Доставка", "Гарантия", "Контакты" с view и URL
- Вынесены hero, advantages, и о нас в отдельные фрагменты
- Обновлены header и footer для активных ссылок и адаптивности
- Добавлен normalize.css для унификации стилей
This commit is contained in:
2026-03-30 21:52:08 +02:00
parent 1eff7c6227
commit d522489e7f
20 changed files with 1622 additions and 931 deletions

616
static/css/index.css Normal file
View File

@@ -0,0 +1,616 @@
/* HERO */
.hero {
margin-top: 50px;
background-image: url(../img/hero.png);
background-repeat: no-repeat;
background-position: calc(50% - 350px) center;
height: 500px;
}
.hero-content {
width: 580px;
height: 400px;
margin-top: 80px;
}
.hero-title {
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 500;
font-size: 50px;
line-height: 60px;
letter-spacing: 0.05em;
text-align: left;
color: #36213e;
}
.hero-subtitle-container {
margin-top: 25px;
display: flex;
align-content: center;
flex-direction: row;
}
.hero-subtitle {
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 500;
font-size: 17px;
line-height: 20px;
text-align: left;
color: #36213e;
}
.hero-checkmark {
margin-top: auto;
margin-bottom: auto;
margin-right: 10px;
}
.hero-button-container {
margin-top: 30px;
margin-left: 45px;
}
.hero-button {
display: inline-block;
background: #63768d;
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 500;
font-size: 28px;
line-height: 34px;
text-align: left;
color: #ffffff;
padding: 20px 50px;
text-decoration: none;
}
/* -- ADVANTAGES -- */
.advantages {
margin-top: 100px;
}
.advantages-list {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.advantages-title {
width: 300px;
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 400;
font-size: 44px;
line-height: 1.4;
text-align: left;
color: #36213e;
}
.advantages-item {
width: 250px;
height: 150px;
margin-top: 10px;
}
.advantages-item-number {
width: 42px;
height: 42px;
border-radius: 100%;
background: #63768d;
display: flex;
align-items: center;
justify-content: center;
/* Number in circle */
color: white;
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 400;
font-size: 30px;
line-height: 36px;
text-align: left;
}
.advantages-item-title {
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 400;
font-size: 18px;
line-height: 22px;
text-align: left;
color: #36213e;
margin-top: 18px;
}
.advantages-item-subtitle {
margin-top: 7px;
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 1.2;
text-align: left;
color: #36213e;
}
.advantages-cards {
display: flex;
justify-content: space-between;
margin-top: 120px;
}
.advantages-card {
width: 560px;
height: 300px;
background: #63768d;
}
.advantages-card-content {
margin: 40px 25px;
}
.advantages-card-left {
background-image: url(../img/sanitary-equipment-promo.jpg);
background-repeat: no-repeat;
background-size: 101%;
background-position-x: 2384%;
background-position-y: -2%;
}
.advantages-card-right {
background-image: url(../img/decor-promo.jpg);
background-repeat: no-repeat;
background-size: 66%;
background-position-x: 126%;
background-position-y: 17%;
}
.advantages-card-splash {
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 500;
font-size: 18px;
line-height: 22px;
color: #b8f3ff;
}
.advantages-card-title {
margin-top: 20px;
width: 291px;
height: 84px;
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 500;
font-size: 32px;
line-height: 1.3;
color: #b8f3ff;
}
.advantages-card-button {
display: inline-block;
margin-top: 50px;
font-family: "Inter", sans-serif;
font-style: normal;
font-weight: 500;
font-size: 20px;
line-height: 20px;
text-align: left;
text-decoration: underline;
color: #b8f3ff;
}
/* -- ABOUT -- */
.about-section {
margin-top: 100px;
}
.about-title {
font-style: normal;
font-weight: 400;
font-size: 44px;
line-height: 53px;
text-align: left;
color: #36213e;
}
.about-left {
background-image: url(../img/stats-image.jpg);
height: 320px;
background-repeat: no-repeat;
background-position: right;
background-size: 600px auto;
margin-top: 20px;
}
.about-left-block {
max-width: 500px;
}
.about-left-subtitle {
width: 495px;
font-weight: 400;
font-size: 18px;
text-align: left;
color: #36213e;
}
.about-left-suggestion {
margin-top: 10px;
font-weight: 600;
font-size: 24px;
line-height: 29px;
text-align: left;
color: #36213e;
}
.about-left-list {
max-width: 480px;
}
.about-left-list-item {
width: 100%;
margin-top: 20px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.about-left-list-item-number {
width: 52px;
height: 52px;
border-radius: 100%;
background: #63768d;
display: flex;
align-items: center;
justify-content: center;
font-weight: 400;
font-size: 32px;
line-height: 31px;
text-align: left;
color: #ffffff;
}
.about-left-list-item-content {
width: 400px;
margin-top: 10px;
}
.about-left-list-item-content-title {
width: 279px;
display: block;
font-weight: 500;
font-size: 18px;
text-align: left;
color: #36213e;
}
.about-left-list-item-content-desc {
margin-top: 10px;
width: 350px;
font-weight: 400;
font-size: 14px;
text-align: left;
color: #36213e;
}
.about-right {
background-image: url(../img/about-image.jpg);
height: 300px;
background-repeat: no-repeat;
background-position: left;
background-size: 500px auto;
margin-top: 20px;
justify-content: center;
}
.about-right-block {
max-width: 600px;
}
.about-right-text {
width: 569px;
font-weight: 400;
font-size: 16px;
text-align: left;
color: #36213e;
}
.about-right-stats {
margin-top: 40px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-around;
}
.about-right-stats-item {
display: flex;
flex-direction: column;
align-items: center;
}
.about-right-stats-item-num {
font-weight: 400;
font-size: 32px;
color: #36213e;
}
.about-right-stats-item-label {
margin-top: 5px;
font-weight: 400;
font-size: 14px;
text-align: left;
color: #36213e;
}
/* -- KITCHEN BANNER -- */
.kitchen-banner {
margin-top: 225px;
height: 410px;
background-color: #63768d;
display: flex;
background-image: url(../img/kitchen-banner.jpg);
background-repeat: no-repeat;
background-position: right;
background-size: auto 110%;
}
.kitchen-content {
margin: 74px 80px;
}
.kitchen-content p {
width: 380px;
font-weight: 400;
font-size: 20px;
text-align: left;
color: #ffffff;
}
.kitchen-content h2 {
width: 480px;
margin-top: 20px;
font-weight: 400;
font-size: 48px;
text-align: left;
color: #ffffff;
}
.kitchen-content a {
display: inline-block;
margin-top: 45px;
font-weight: 400;
font-size: 24px;
text-align: left;
color: #ffffff;
}
/* POPULAR PRODUCTS */
.products-section {
margin-top: 120px;
}
.products-title {
font-weight: 400;
font-size: 44px;
line-height: 53px;
text-align: left;
color: #36213e;
}
.products-grid {
margin-top: 40px;
display: grid;
grid-template-columns: 460px 300px 360px;
grid-template-rows: repeat(11, 55px);
gap: 20px;
}
.product {
padding: 20px;
background: #d9d9d9;
}
.product-1 {
grid-column: 1;
grid-row: 1 / 7;
}
.product-2 {
grid-column: 2;
grid-row: 1 / 5;
}
.product-3 {
grid-column: 3;
grid-row: 1 / 8;
}
.product-4 {
grid-column: 1;
grid-row: 7 / -1;
}
.product-5 {
grid-column: 2;
grid-row: 5 / -1;
}
.product-6 {
grid-column: 3;
grid-row: 8 / -1;
}
.products-footer {
display: flex;
justify-content: end;
width: 100%;
}
.products-footer a {
margin-top: 25px;
padding: 22px 46px;
display: inline-block;
background: #63768d;
font-weight: 500;
font-size: 26px;
text-align: left;
color: #ffffff;
}
/* -- FAQ -- */
.faq-section {
margin-top: 120px;
}
.faq-section h2 {
font-weight: 400;
font-size: 44px;
line-height: 53px;
text-align: left;
color: #36213e;
}
.faq-grid {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.faq-item {
margin-top: 40px;
max-width: 530px;
flex: 1 0 50%;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.faq-icon {
width: 42px;
height: 42px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
background: #63768d;
font-weight: 400;
font-size: 20px;
line-height: 24px;
text-align: left;
color: #b8f3ff;
}
.faq-body {
width: 470px;
margin-top: 10px;
& > h4 {
font-weight: 700;
font-size: 20px;
line-height: 24px;
text-align: left;
color: #36213e;
}
& > p {
margin-top: 16px;
font-weight: 400;
font-size: 18px;
text-align: left;
color: #000000;
}
}
.faq-cta {
margin-top: 55px;
width: 100%;
display: flex;
justify-content: center;
& > a {
padding: 15px 45px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 400;
font-size: 26px;
line-height: 31px;
text-align: left;
color: #ffffff;
background: #63768d;
& > div {
width: 42px;
height: 42px;
background: #ffffff;
border-radius: 100%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 500;
font-size: 20px;
line-height: 24px;
text-align: left;
margin-right: 5px;
color: #63768d;
}
}
}

350
static/css/normalize.css vendored Normal file
View File

@@ -0,0 +1,350 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -1,4 +1,8 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--dark: #36213e;
@@ -6,33 +10,54 @@
--blue-gray: #63768d;
--light-blue: #b8f3ff;
--white: #ffffff;
--bg: #f9f8fa;
--bg: white;
}
body {
font-family: 'Inter', sans-serif;
color: var(--dark);
background: var(--white);
background: var(--bg);
overflow-x: hidden;
}
/* Container to maintain consistent width */
.container {
max-width: 1400px;
max-width: 1160px;
margin: 0 auto;
width: 100%;
}
a { text-decoration: none; color: inherit; }
a {
text-decoration: none;
color: inherit;
}
/* --- LIB --- */
.flex-right {
display: flex;
justify-content: flex-end;
align-items: flex-end;
flex-direction: column;
width: 100%;
height: 100%;
}
.text-align-right {
text-align: right;
}
.active-page {
text-decoration: underline;
}
/* ── HEADER ── */
header {
position: sticky;
top: 0;
z-index: 100;
background: var(--white);
border-bottom: 1px solid rgba(54,33,62,.08);
box-shadow: 0 2px 20px rgba(54,33,62,.06);
background: var(--bg);
border-bottom: 1px solid rgba(54, 33, 62, .08);
box-shadow: 0 2px 20px rgba(54, 33, 62, .06);
}
.header-top {
@@ -48,12 +73,13 @@ header {
font-size: 32px;
color: var(--dark);
white-space: nowrap;
letter-spacing: .5px;
letter-spacing: 1px;
}
.search-wrap {
display: flex;
align-items: center;
justify-content: space-between;
border: 1px solid var(--dark);
flex: 1;
max-width: 420px;
@@ -75,15 +101,18 @@ header {
.search-wrap input {
flex: 1;
border: none;
padding: 10px 14px;
padding: 10px 5px 10px 10px;
font-size: 12px;
color: var(--mid);
outline: none;
background: transparent;
font-family: 'Inter', sans-serif;
display: block;
}
.search-wrap input::placeholder { color: var(--mid); opacity: .6; }
.search-wrap input::placeholder {
color: var(--mid);
opacity: .6;
}
.search-wrap button {
border: none;
@@ -94,7 +123,10 @@ header {
align-items: center;
}
.search-wrap button svg { width: 20px; height: 20px; }
.search-wrap button svg {
width: 20px;
height: 20px;
}
.header-icons {
display: flex;
@@ -110,15 +142,22 @@ header {
transition: opacity .2s;
}
.header-icons a:hover { opacity: .6; }
.header-icons svg { width: 28px; height: 28px; }
.header-icons a:hover {
opacity: .6;
}
.header-icons svg {
width: 28px;
height: 28px;
}
.nav-bar {
display: flex;
align-items: center;
padding: 10px 80px;
gap: 0;
border-top: 1px solid rgba(54,33,62,.07);
border-top: 1px solid rgba(54, 33, 62, .07);
justify-content: space-between;
}
.nav-bar .catalog-btn {
@@ -133,13 +172,16 @@ header {
transition: color .2s;
}
.nav-bar .catalog-btn:hover { color: var(--dark); }
.nav-bar .catalog-btn:hover {
color: var(--dark);
}
.nav-links {
display: flex;
align-items: center;
gap: 28px;
flex: 1;
max-width: 430px;
}
.nav-links a {
@@ -149,7 +191,9 @@ header {
white-space: nowrap;
}
.nav-links a:hover { color: var(--dark); }
.nav-links a:hover {
color: var(--dark);
}
.phone-link {
display: flex;
@@ -161,496 +205,13 @@ header {
white-space: nowrap;
}
/* ── HERO ── */
.hero {
position: relative;
min-height: 520px;
overflow: hidden;
display: flex;
align-items: center;
}
.hero-bg-circle {
position: absolute;
left: -40px;
top: 60px;
width: 480px;
height: 480px;
border-radius: 50%;
background: radial-gradient(circle at 40% 50%, #8a7a95 0%, #5c4d6e 50%, #36213e 100%);
opacity: .85;
z-index: 0;
}
.hero-img {
position: absolute;
left: 140px;
top: 60px;
width: 340px;
height: 320px;
object-fit: cover;
z-index: 1;
border-radius: 2px;
}
.hero-content {
position: relative;
z-index: 2;
margin-left: 54%;
padding: 80px 80px 80px 0;
max-width: 580px;
}
.hero-content h1 {
font-family: 'Inter', sans-serif;
font-size: 44px;
font-weight: 500;
letter-spacing: 2.5px;
line-height: 1.2;
color: var(--dark);
margin-bottom: 18px;
}
.hero-check {
display: flex;
align-items: flex-start;
gap: 10px;
margin-bottom: 22px;
}
.hero-check svg { width: 28px; height: 28px; flex-shrink: 0; margin-top: 2px; }
.hero-check p {
font-size: 15px;
color: var(--dark);
line-height: 1.6;
font-weight: 500;
}
.btn-primary {
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--blue-gray);
color: var(--white);
font-size: 18px;
font-weight: 500;
padding: 22px 40px;
border: none;
cursor: pointer;
transition: background .25s, transform .15s;
letter-spacing: .5px;
text-transform: uppercase;
}
.btn-primary:hover { background: #516070; transform: translateY(-2px); }
/* ── WHY US ── */
.why-us {
padding: 70px 80px 60px;
display: grid;
grid-template-columns: 340px repeat(3, 1fr);
gap: 32px;
align-items: start;
background: var(--white);
}
.why-us-title {
font-size: 38px;
font-weight: 400;
line-height: 1.15;
color: var(--dark);
}
.why-item {
display: flex;
flex-direction: column;
gap: 10px;
}
.why-num {
width: 42px;
height: 42px;
border-radius: 50%;
background: var(--blue-gray);
color: var(--white);
font-size: 22px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 400;
flex-shrink: 0;
}
.why-num.alt { background: var(--mid); }
.why-item h3 {
font-size: 15px;
font-weight: 600;
color: var(--dark);
text-transform: uppercase;
letter-spacing: .5px;
margin-top: 6px;
}
.why-item p { font-size: 13px; color: var(--dark); line-height: 1.55; }
/* ── PROMO BANNERS ── */
.promo-section {
padding: 20px 80px 60px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.promo-card {
position: relative;
height: 300px;
background: var(--blue-gray);
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 32px 36px;
}
.promo-card img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
opacity: .35;
}
.promo-card-content { position: relative; z-index: 1; }
.promo-tag {
font-size: 15px;
color: var(--light-blue);
font-weight: 500;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: .5px;
}
.promo-card h2 {
font-size: 28px;
font-weight: 500;
color: var(--light-blue);
line-height: 1.2;
margin-bottom: 20px;
}
.promo-link {
font-size: 16px;
font-weight: 500;
color: var(--light-blue);
border-bottom: 1px solid var(--light-blue);
display: inline-block;
transition: opacity .2s;
}
.promo-link:hover { opacity: .7; }
/* ── ABOUT ── */
.about-section {
padding: 60px 80px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: start;
}
.about-left h2 {
font-size: 38px;
font-weight: 400;
color: var(--dark);
margin-bottom: 24px;
}
.about-left p {
font-size: 16px;
line-height: 1.7;
color: var(--dark);
margin-bottom: 28px;
}
.about-left h3 {
font-size: 20px;
font-weight: 600;
color: var(--dark);
margin-bottom: 18px;
}
.about-list { list-style: none; display: flex; flex-direction: column; gap: 18px; }
.about-list li {
display: flex;
align-items: flex-start;
gap: 16px;
}
.about-list .num {
width: 52px;
height: 52px;
border-radius: 50%;
background: var(--blue-gray);
color: var(--white);
font-size: 26px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.about-list .li-content { display: flex; flex-direction: column; gap: 4px; }
.about-list .li-title {
font-size: 17px;
font-weight: 500;
color: var(--dark);
}
.about-list .li-desc { font-size: 13px; color: var(--dark); line-height: 1.5; }
.about-right {
display: flex;
flex-direction: column;
gap: 28px;
}
.about-right img {
width: 100%;
height: 310px;
object-fit: cover;
}
.about-right p {
font-size: 15px;
color: var(--dark);
line-height: 1.7;
}
.stats-row {
display: flex;
gap: 32px;
flex-wrap: wrap;
margin-top: 8px;
}
.stat { display: flex; flex-direction: column; gap: 4px; }
.stat-num { font-size: 30px; font-weight: 400; color: var(--dark); letter-spacing: -1px; }
.stat-label { font-size: 13px; color: var(--dark); }
.about-right-bottom img {
width: 100%;
height: 220px;
object-fit: cover;
margin-top: 12px;
}
/* ── KITCHEN BANNER ── */
.kitchen-banner {
background: var(--blue-gray);
margin: 0 80px;
padding: 60px 80px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
position: relative;
overflow: hidden;
}
.kitchen-banner img {
position: absolute;
right: 0;
top: 0;
width: 50%;
height: 100%;
object-fit: cover;
opacity: .55;
}
.kitchen-content { position: relative; z-index: 1; }
.kitchen-content p {
font-size: 18px;
color: rgba(255,255,255,.85);
margin-bottom: 16px;
line-height: 1.5;
}
.kitchen-content h2 {
font-size: 42px;
font-weight: 400;
color: var(--white);
line-height: 1.15;
margin-bottom: 28px;
}
.btn-outline-light {
font-size: 18px;
color: var(--white);
border-bottom: 1px solid var(--white);
padding-bottom: 2px;
display: inline-block;
transition: opacity .2s;
}
.btn-outline-light:hover { opacity: .7; }
/* ── PRODUCTS ── */
.products-section { padding: 70px 80px 60px; }
.section-title {
font-size: 38px;
font-weight: 400;
color: var(--dark);
margin-bottom: 40px;
letter-spacing: .5px;
}
.products-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto auto;
gap: 16px;
}
.product-card {
background: #d9d9d9;
position: relative;
display: flex;
flex-direction: column;
overflow: hidden;
transition: box-shadow .2s;
}
.product-card:hover { box-shadow: 0 8px 32px rgba(54,33,62,.13); }
.product-card.tall { grid-row: span 2; }
.product-card-img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
display: block;
background: #d9d9d9;
}
.product-card.tall .product-card-img { aspect-ratio: 3/4; }
.product-info {
padding: 18px 20px 20px;
background: var(--white);
display: flex;
flex-direction: column;
gap: 4px;
flex: 1;
}
.product-info .p-name {
font-size: 20px;
font-weight: 500;
color: var(--dark);
}
.product-info .p-sub {
font-size: 14px;
color: var(--mid);
margin-bottom: 6px;
}
.product-info .p-price {
font-size: 20px;
font-weight: 500;
color: var(--dark);
margin-top: auto;
}
.product-actions {
position: absolute;
top: 14px;
right: 14px;
display: flex;
gap: 8px;
}
.product-actions button {
width: 36px;
height: 36px;
background: rgba(255,255,255,.9);
border: none;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background .2s;
backdrop-filter: blur(4px);
}
.product-actions button:hover { background: var(--white); }
.product-actions button svg { width: 18px; height: 18px; color: var(--dark); }
.products-footer {
display: flex;
justify-content: flex-end;
margin-top: 28px;
}
/* ── FAQ ── */
.faq-section { padding: 70px 80px 60px; }
.faq-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px 60px;
margin-top: 40px;
}
.faq-item { display: flex; gap: 16px; align-items: flex-start; }
.faq-icon {
width: 42px;
height: 42px;
border-radius: 50%;
background: var(--blue-gray);
display: flex;
align-items: center;
justify-content: center;
color: var(--light-blue);
font-size: 18px;
font-weight: 400;
flex-shrink: 0;
margin-top: 2px;
}
.faq-body h4 {
font-size: 18px;
font-weight: 700;
color: var(--dark);
margin-bottom: 10px;
line-height: 1.3;
}
.faq-body p {
font-size: 15px;
color: #333;
line-height: 1.65;
}
.faq-cta {
margin-top: 48px;
display: flex;
justify-content: center;
}
/* ── FOOTER ── */
footer {
background: var(--blue-gray);
}
.footer-container {
padding: 50px 80px 40px;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
@@ -661,58 +222,45 @@ footer {
.footer-logo {
font-family: 'Playfair Display', serif;
font-size: 30px;
color: rgba(184,243,255,.85);
color: rgba(184, 243, 255, .85);
margin-bottom: 8px;
}
.footer-col h4 {
font-size: 16px;
font-weight: 600;
color: rgba(184,243,255,.85);
color: rgba(184, 243, 255, .85);
text-transform: uppercase;
letter-spacing: .5px;
margin-bottom: 16px;
}
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 10px;
}
.footer-col ul li a, .footer-col ul li {
font-size: 16px;
color: rgba(184,243,255,.8);
color: rgba(184, 243, 255, .8);
transition: opacity .2s;
}
.footer-col ul li a:hover { opacity: .65; }
/* ── ANIMATIONS ── */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
.hero-content, .hero-bg-circle {
animation: fadeUp .7s ease both;
}
.hero-img {
animation: fadeUp .8s .15s ease both;
.footer-col ul li a:hover {
opacity: .65;
}
/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
.hero-img { left: 60px; }
.hero-content { margin-left: 48%; }
}
@media (max-width: 900px) {
header, .header-top, .nav-bar { padding-left: 24px; padding-right: 24px; }
.hero { flex-direction: column; min-height: auto; padding-top: 320px; }
.hero-img { left: 50%; transform: translateX(-50%); top: 20px; }
.hero-content { margin-left: 0; padding: 40px 24px; max-width: 100%; }
.why-us, .about-section { grid-template-columns: 1fr; padding: 40px 24px; }
.promo-section, .faq-grid, .products-grid { grid-template-columns: 1fr; padding-left: 24px; padding-right: 24px; }
.kitchen-banner { margin: 0 24px; padding: 40px 24px; grid-template-columns: 1fr; }
footer { grid-template-columns: 1fr 1fr; padding: 40px 24px; }
.products-section, .faq-section { padding: 40px 24px; }
.product-card.tall { grid-row: auto; }
header, .header-top, .nav-bar {
padding-left: 24px;
padding-right: 24px;
}
footer {
grid-template-columns: 1fr 1fr;
padding: 40px 24px;
}
}

BIN
static/img/hero.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB