Files
cozsweet-frontend-nextjs/src/app/coins-rules/coins-rules-screen.module.css
T

234 lines
5.4 KiB
CSS

.screen {
min-height: var(--app-viewport-height, 100dvh);
box-sizing: border-box;
padding:
calc(var(--page-padding-y, 18px) + var(--app-safe-top, 0px))
calc(var(--page-padding-x, 20px) + var(--app-safe-right, 0px))
calc(var(--page-padding-y, 28px) + var(--app-safe-bottom, 0px))
calc(var(--page-padding-x, 20px) + var(--app-safe-left, 0px));
background:
radial-gradient(circle at 16% 5%, rgba(255, 196, 143, 0.2), transparent 28%),
radial-gradient(circle at 86% 8%, rgba(246, 87, 160, 0.2), transparent 26%),
linear-gradient(180deg, #fcf3f4 0%, #fffafa 48%, #fff 100%);
color: #191316;
}
.header {
display: flex;
flex-direction: column;
gap: var(--page-section-gap, 18px);
}
.hero {
position: relative;
overflow: hidden;
padding: var(--responsive-card-padding-lg, 22px);
border: 1px solid rgba(246, 87, 160, 0.14);
border-radius: var(--responsive-card-radius, 28px);
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 237, 246, 0.94) 100%),
#ffffff;
box-shadow: 0 18px 46px rgba(86, 45, 62, 0.1);
}
.hero::after {
position: absolute;
right: clamp(-34px, -6.296vw, -28px);
bottom: clamp(-42px, -7.778vw, -34px);
width: clamp(124px, 27.778vw, 150px);
height: clamp(124px, 27.778vw, 150px);
border-radius: 999px;
background: radial-gradient(circle, rgba(246, 87, 160, 0.2), transparent 68%);
content: "";
}
.heroIcon {
display: inline-flex;
width: var(--responsive-control-height, 46px);
height: var(--responsive-control-height, 46px);
align-items: center;
justify-content: center;
border-radius: clamp(14px, 2.963vw, 16px);
background: linear-gradient(180deg, #ffe89c 0%, #f8b83e 100%);
color: #8f5400;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.72),
0 12px 24px rgba(216, 132, 22, 0.2);
}
.eyebrow {
margin: var(--page-section-gap, 16px) 0 0;
color: #f657a0;
font-size: var(--responsive-micro, 12px);
font-weight: 850;
letter-spacing: 0.12em;
line-height: 1;
text-transform: uppercase;
}
.title {
margin: 8px 0 0;
color: #171114;
font-size: var(--responsive-page-title, 30px);
font-weight: 900;
letter-spacing: -0.8px;
line-height: 1.08;
}
.subtitle {
max-width: min(100%, 300px);
margin: clamp(8px, 1.852vw, 10px) 0 0;
color: #6d5d64;
font-size: var(--responsive-body, 15px);
font-weight: 650;
line-height: 1.55;
}
.freeCard {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: var(--spacing-md, 12px);
align-items: center;
margin-top: var(--page-section-gap, 16px);
padding: var(--responsive-card-padding, 16px);
border: 1px solid rgba(248, 184, 62, 0.24);
border-radius: var(--responsive-card-radius-sm, 22px);
background: rgba(255, 250, 235, 0.84);
box-shadow: 0 12px 28px rgba(142, 93, 18, 0.08);
}
.freeIcon {
display: inline-flex;
width: var(--responsive-icon-button-size, 40px);
height: var(--responsive-icon-button-size, 40px);
align-items: center;
justify-content: center;
border-radius: clamp(12px, 2.593vw, 14px);
background: #ffffff;
color: #d98100;
box-shadow: 0 8px 18px rgba(142, 93, 18, 0.1);
}
.freeTitle {
margin: 0;
color: #2a1f14;
font-size: var(--responsive-body, 16px);
font-weight: 850;
line-height: 1.1;
}
.freeText {
margin: 5px 0 0;
color: #7a6040;
font-size: var(--responsive-caption, 13px);
font-weight: 650;
line-height: 1.45;
}
.ruleList {
display: flex;
flex-direction: column;
gap: clamp(8px, 1.852vw, 10px);
margin-top: var(--page-section-gap, 16px);
}
.ruleCard {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: var(--spacing-md, 12px);
align-items: center;
padding: var(--responsive-card-padding, 14px);
border: 1px solid rgba(25, 19, 22, 0.06);
border-radius: var(--responsive-card-radius-sm, 20px);
background: rgba(255, 255, 255, 0.9);
box-shadow: 0 10px 26px rgba(55, 36, 44, 0.06);
animation: cardIn 0.42s ease both;
transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.ruleCard:hover {
box-shadow: 0 15px 32px rgba(55, 36, 44, 0.1);
transform: translateY(-2px);
}
.ruleIcon {
display: inline-flex;
width: clamp(34px, 6.667vw, 36px);
height: clamp(34px, 6.667vw, 36px);
align-items: center;
justify-content: center;
border-radius: clamp(12px, 2.593vw, 14px);
background: #fff0f6;
color: #f657a0;
}
.ruleContent {
min-width: 0;
}
.ruleTitle {
margin: 0;
color: #21191d;
font-size: var(--responsive-body, 16px);
font-weight: 850;
line-height: 1.15;
}
.freeBadge {
display: inline-flex;
margin: 7px 0 0;
padding: 4px 9px;
border-radius: 999px;
background: #edf4ff;
color: #2e6eea;
font-size: var(--responsive-micro, 12px);
font-weight: 780;
line-height: 1;
}
.cost {
margin: 0;
color: #171114;
font-size: var(--responsive-body, 15px);
font-weight: 900;
line-height: 1.15;
text-align: right;
white-space: nowrap;
}
@keyframes cardIn {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 360px) {
.screen {
padding-right: calc(var(--page-padding-x, 16px) + var(--app-safe-right, 0px));
padding-left: calc(var(--page-padding-x, 16px) + var(--app-safe-left, 0px));
}
.hero {
padding: var(--responsive-card-padding-lg, 20px);
}
.title {
font-size: var(--responsive-page-title, 27px);
}
.ruleCard {
grid-template-columns: auto minmax(0, 1fr);
}
.cost {
grid-column: 2;
text-align: left;
}
}