/* Minimal extra styling (Bootstrap is loaded via CDN) */

code { font-size: .875em; }

.card { border-radius: 1rem; }

.table > :not(caption) > * > * { vertical-align: middle; }

body.mes-public-body {
    background:
        radial-gradient(circle at top left, rgba(214, 182, 138, 0.22), transparent 30%),
        linear-gradient(180deg, #f8f4ee 0%, #f3efe8 100%);
    color: #2f261f;
}

.public-shell {
    max-width: 1500px;
}

.public-kicker {
    color: #9b5d2f;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.public-hero,
.public-panel,
.public-form-card,
.public-detail-card,
.public-summary__cta {
    border: 1px solid rgba(104, 78, 56, 0.12);
    background: rgba(255, 252, 247, 0.86);
    backdrop-filter: blur(6px);
    box-shadow: 0 22px 55px rgba(84, 58, 37, 0.08);
}

.public-hero,
.public-panel {
    border-radius: 2rem;
    padding: clamp(1.4rem, 2vw, 2.6rem);
}

.public-hero__copy h1,
.public-page-head h1,
.public-success-panel h1 {
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    line-height: .98;
    letter-spacing: -.04em;
    margin: .4rem 0 1rem;
    max-width: 12ch;
}

.public-page-head h1,
.public-success-panel h1 {
    max-width: 14ch;
}

.public-hero__lead {
    font-size: clamp(1.05rem, 2vw, 1.45rem);
    color: #4d3f33;
    max-width: 52rem;
}

.public-hero__text,
.public-page-head p,
.public-detail-card p,
.public-feature-card p,
.public-order-point span,
.public-summary p,
.public-summary__cta span,
.public-form-card p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: #5a4a3d;
}

.public-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.public-hero__notes {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1.4rem;
    margin-top: 1.25rem;
    color: #6a5848;
    font-size: .98rem;
}

.public-hero__notes span::before {
    content: "•";
    margin-right: .5rem;
    color: #b77435;
}

.public-hero__image-wrap,
.public-order-visual {
    position: relative;
    max-width: 30rem;
    margin-inline: auto;
}

.public-hero__image-wrap::before,
.public-order-visual::before {
    content: "";
    position: absolute;
    inset: auto -1rem -1rem auto;
    width: 70%;
    height: 70%;
    border-radius: 2rem;
    background: linear-gradient(180deg, rgba(197, 137, 76, 0.24), rgba(112, 154, 118, 0.16));
    z-index: 0;
}

.public-hero__image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 2rem;
    box-shadow: 0 25px 60px rgba(66, 47, 31, 0.2);
}

.public-feature-card,
.public-detail-card {
    border-radius: 1.6rem;
    padding: 1.5rem;
    height: 100%;
}

.public-feature-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(246, 239, 231, 0.86));
    border: 1px solid rgba(120, 91, 68, 0.1);
}

.public-feature-card__eyebrow {
    color: #8f5a31;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.public-feature-card h2,
.public-detail-card h2,
.public-summary h2,
.public-form-card h2 {
    font-size: 1.45rem;
    margin: .4rem 0 .75rem;
}

.public-summary__cta {
    display: grid;
    gap: 1rem;
    border-radius: 1.6rem;
    padding: 1.5rem;
}

.public-order-points {
    display: grid;
    gap: 1rem;
}

.public-order-point {
    padding: 1.2rem 1.3rem;
    border-radius: 1.25rem;
    background: rgba(255, 249, 241, 0.88);
    border: 1px solid rgba(129, 94, 58, 0.12);
}

.public-order-point strong {
    display: block;
    margin-bottom: .35rem;
    font-size: 1.03rem;
}

.public-form-card {
    border-radius: 2rem;
    padding: clamp(1.4rem, 2vw, 2.2rem);
}

.public-form-card .form-control,
.public-form-card textarea {
    border-radius: 1rem;
    border-color: rgba(121, 88, 62, 0.18);
    padding: .9rem 1rem;
}

.public-form-card .form-check-input:checked {
    background-color: #9b5d2f;
    border-color: #9b5d2f;
}

.public-page-head {
    max-width: 62rem;
    margin-bottom: 2rem;
}

.public-success-panel {
    max-width: 52rem;
    margin-inline: auto;
}

@media (max-width: 991.98px) {
    .public-hero__copy h1,
    .public-page-head h1,
    .public-success-panel h1 {
        max-width: none;
    }
}
