/* =========================================================
RECIPE WORLD — CONTACT PAGE
========================================================= */

/* =========================================================
PAGE
========================================================= */

.contact-page {
width: 100%;
min-height: 100vh;
overflow: hidden;
}

.contact-container {
width: min(
1180px,
calc(100% - 40px)
);

  
margin: 0 auto;
  

}

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

.contact-hero {
position: relative;

  
padding: 100px 0 95px;

background:
    radial-gradient(
        circle at 85% 15%,
        rgba(251, 191, 36, 0.15),
        transparent 28%
    ),
    radial-gradient(
        circle at 8% 80%,
        rgba(249, 115, 22, 0.08),
        transparent 30%
    );
  

}

.contact-hero-content {
max-width: 800px;

  
margin: 0 auto;

text-align: center;
  

}

.contact-eyebrow,
.contact-section-label {
display: inline-flex;

  
align-items: center;

gap: 9px;

color: #ea580c;

font-size: 12px;
font-weight: 800;

letter-spacing: 0.16em;
  

}

.contact-eyebrow::before,
.contact-section-label::before {
content: "";

  
width: 28px;
height: 2px;

flex-shrink: 0;

border-radius: 999px;

background: #f97316;
  

}

.contact-hero h1 {
margin: 20px 0 24px;

  
color: #172033;

font-size: clamp(
    46px,
    7vw,
    76px
);

line-height: 0.98;

letter-spacing: -0.055em;

font-weight: 800;
  

}

.contact-hero h1 span {
display: block;

  
color: #f97316;
  

}

.contact-hero p {
max-width: 650px;

  
margin: 0 auto;

color: #64748b;

font-size: 18px;

line-height: 1.8;
  

}

/* =========================================================
CONTACT SECTION
========================================================= */

.contact-section {
padding: 100px 0 110px;

  
background: #ffffff;
  

}

.contact-grid {
display: grid;

  
grid-template-columns:
    0.78fr
    1.22fr;

align-items: start;

gap: 75px;
  

}

/* =========================================================
INFORMATION
========================================================= */

.contact-information {
padding-top: 12px;
}

.contact-information h2 {
max-width: 450px;

  
margin: 18px 0;

color: #172033;

font-size: clamp(
    34px,
    4vw,
    48px
);

line-height: 1.08;

letter-spacing: -0.04em;
  

}

.contact-information h2 span {
color: #f97316;
}

.contact-information > p {
max-width: 500px;

  
margin: 0;

color: #64748b;

font-size: 15px;

line-height: 1.8;
  

}

/* =========================================================
CONTACT DETAILS
========================================================= */

.contact-details {
display: flex;

  
flex-direction: column;

gap: 20px;

margin-top: 38px;
  

}

.contact-detail {
display: flex;

  
align-items: center;

gap: 15px;
  

}

.contact-detail-icon {
width: 48px;
height: 48px;

  
display: flex;

align-items: center;
justify-content: center;

flex-shrink: 0;

border-radius: 14px;

background: #fff7ed;

font-size: 20px;
  

}

.contact-detail span {
display: block;

  
margin-bottom: 3px;

color: #94a3b8;

font-size: 11px;
font-weight: 800;

letter-spacing: 0.08em;

text-transform: uppercase;
  

}

.contact-detail a,
.contact-detail strong {
display: block;

  
color: #334155;

font-size: 14px;

font-weight: 700;
  

}

.contact-detail a {
transition: color 0.2s ease;
}

.contact-detail a:hover {
color: #f97316;
}

/* =========================================================
CONTACT NOTE
========================================================= */

.contact-note {
display: flex;

  
align-items: flex-start;

gap: 14px;

margin-top: 40px;

padding: 20px;

border-radius: 17px;

background: #fff7ed;
  

}

.contact-note-icon {
font-size: 22px;
}

.contact-note p {
margin: 0;

  
color: #9a3412;

font-size: 13px;

line-height: 1.65;
  

}

/* =========================================================
FORM WRAPPER
========================================================= */

.contact-form-wrapper {
padding: 38px;

  
border: 1px solid #edf0f4;

border-radius: 26px;

background: #ffffff;

box-shadow:
    0 15px 50px rgba(
        15,
        23,
        42,
        0.06
    );
  

}

.contact-form-header span {
color: #f97316;

  
font-size: 11px;
font-weight: 800;

letter-spacing: 0.12em;
  

}

.contact-form-header h2 {
margin: 8px 0 30px;

  
color: #172033;

font-size: 28px;

letter-spacing: -0.03em;
  

}

/* =========================================================
FORM MESSAGES
========================================================= */

.contact-messages {
margin-bottom: 22px;
}

.contact-message {
padding: 12px 15px;

  
border-radius: 10px;

font-size: 13px;

font-weight: 600;
  

}

.contact-message.success {
color: #166534;

  
background: #f0fdf4;

border: 1px solid #bbf7d0;
  

}

.contact-message.error {
color: #991b1b;

  
background: #fef2f2;

border: 1px solid #fecaca;
  

}

/* =========================================================
FORM
========================================================= */

.contact-form {
display: flex;

  
flex-direction: column;

gap: 20px;
  

}

.form-row {
display: grid;

  
grid-template-columns:
    1fr
    1fr;

gap: 16px;
  

}

.form-group {
display: flex;

  
flex-direction: column;

gap: 8px;
  

}

.form-group label {
color: #334155;

  
font-size: 12px;

font-weight: 800;
  

}

.form-group input,
.form-group textarea {
width: 100%;

  
padding: 13px 14px;

color: #172033;

background: #ffffff;

border: 1px solid #e2e8f0;

border-radius: 11px;

font-size: 13px;

transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
  

}

.form-group input {
height: 48px;
}

.form-group textarea {
min-height: 155px;

  
resize: vertical;

line-height: 1.6;
  

}

.form-group input::placeholder,
.form-group textarea::placeholder {
color: #94a3b8;
}

.form-group input:hover,
.form-group textarea:hover {
border-color: #cbd5e1;
}

.form-group input:focus,
.form-group textarea:focus {
border-color: #f97316;

  
box-shadow:
    0 0 0 3px rgba(
        249,
        115,
        22,
        0.10
    );
  

}

.form-help {
color: #94a3b8;

  
font-size: 11px;

line-height: 1.5;
  

}

/* =========================================================
SUBMIT
========================================================= */

.contact-submit {
width: 100%;

  
min-height: 52px;

display: flex;

align-items: center;
justify-content: center;

gap: 10px;

margin-top: 4px;

border-radius: 12px;

color: #ffffff;

background: #f97316;

font-size: 14px;
font-weight: 800;

cursor: pointer;

box-shadow:
    0 10px 25px rgba(
        249,
        115,
        22,
        0.18
    );

transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
  

}

.contact-submit:hover {
transform: translateY(-2px);

  
background: #ea580c;

box-shadow:
    0 15px 32px rgba(
        249,
        115,
        22,
        0.25
    );
  

}

.contact-submit:active {
transform: translateY(0);
}

/* =========================================================
HELP SECTION
========================================================= */

.contact-help {
padding: 0 0 100px;

  
background: #ffffff;
  

}

.contact-help-card {
display: flex;

  
align-items: center;
justify-content: space-between;

gap: 30px;

padding: 38px 42px;

border-radius: 22px;

background: #172033;
  

}

.contact-help-card h2 {
margin: 10px 0 0;

  
color: #ffffff;

font-size: 28px;

letter-spacing: -0.03em;
  

}

.contact-help-card .contact-section-label {
color: #fb923c;
}

.contact-help-card .contact-section-label::before {
background: #fb923c;
}

.contact-help-button {
display: inline-flex;

  
align-items: center;
justify-content: center;

gap: 9px;

min-height: 48px;

padding: 0 20px;

flex-shrink: 0;

border-radius: 12px;

color: #ea580c;

background: #ffffff;

font-size: 13px;

font-weight: 800;

transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  

}

.contact-help-button:hover {
transform: translateY(-2px);

  
box-shadow:
    0 12px 25px rgba(
        0,
        0,
        0,
        0.15
    );
  

}

/* =========================================================
TABLET
========================================================= */

@media (max-width: 900px) {

  
.contact-hero {
    padding: 75px 0 80px;
}

.contact-grid {
    grid-template-columns: 1fr;

    gap: 55px;
}

.contact-information {
    text-align: center;
}

.contact-information h2,
.contact-information > p {
    margin-left: auto;
    margin-right: auto;
}

.contact-section-label {
    justify-content: center;
}

.contact-details {
    max-width: 420px;

    margin-left: auto;
    margin-right: auto;

    text-align: left;
}

.contact-note {
    max-width: 500px;

    margin-left: auto;
    margin-right: auto;

    text-align: left;
}
  

}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 600px) {

  
.contact-container {
    width: calc(100% - 28px);
}

.contact-hero {
    padding: 60px 0 65px;
}

.contact-hero h1 {
    font-size: 45px;
}

.contact-hero p {
    font-size: 15px;
}

.contact-section {
    padding: 70px 0 75px;
}

.contact-information h2 {
    font-size: 35px;
}

.contact-form-wrapper {
    padding: 25px 20px;

    border-radius: 20px;
}

.contact-form-header h2 {
    font-size: 24px;
}

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

.contact-help {
    padding-bottom: 70px;
}

.contact-help-card {
    flex-direction: column;

    align-items: stretch;

    padding: 30px 24px;

    text-align: center;
}

.contact-help-button {
    width: 100%;
}
  

}

/* =========================================================
SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

  
.contact-hero h1 {
    font-size: 40px;
}

.contact-form-wrapper {
    padding: 22px 17px;
}

.contact-detail-icon {
    width: 44px;
    height: 44px;
}
  

}

/* =========================================================
REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  
.contact-submit,
.contact-help-button,
.contact-detail a {
    transition: none;
}
  

}
