@charset "utf-8";
/* CSS Document */

.florist-rates {
    --fr-green: #536b5b;
    --fr-green-dark: #34483c;
    --fr-green-light: #eef3ef;
    --fr-cream: #faf8f4;
    --fr-gold: #b8955a;
    --fr-text: #3d403d;
    --fr-muted: #6d716d;
    --fr-border: #e3e5df;
    --fr-white: #ffffff;

    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 30px 24px 70px;

    box-sizing: border-box;

    color: var(--fr-text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.7;
}

.florist-rates *,
.florist-rates *::before,
.florist-rates *::after {
    box-sizing: border-box;
}


.rates-header {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.rates-eyebrow {
    display: inline-block;
    margin-bottom: 10px;

    color: var(--fr-gold);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.florist-rates h1 {
    margin: 0 0 18px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.3rem, 5vw, 3.7rem);
    font-weight: 400;
    line-height: 1.12;
}

.rates-intro {
    max-width: 760px;
    margin: 0 auto;

    color: var(--fr-muted);
    font-size: 1.05rem;
}


.pricing-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;

    margin-bottom: 50px;
}

.pricing-card {
    padding: 35px;

    background: var(--fr-white);
    border: 1px solid var(--fr-border);
    border-radius: 9px;

    box-shadow: 0 8px 24px rgba(35, 45, 38, 0.06);
}

.pricing-card.primary {
    background: var(--fr-green-dark);
    border-color: var(--fr-green-dark);

    color: #ffffff;
}

.pricing-card-label {
    margin-bottom: 8px;

    color: var(--fr-gold);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.pricing-card h2 {
    margin: 0 0 12px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.8rem;
    font-weight: 400;
}

.pricing-card.primary h2 {
    color: #ffffff;
}

.pricing-card-description {
    margin: 0 0 22px;

    color: var(--fr-muted);
}

.pricing-card.primary .pricing-card-description {
    color: rgba(255,255,255,0.82);
}

.big-price {
    /*display: flex;*/
    align-items: baseline;
    gap: 5px;

    margin: 15px 0 5px;

    color: var(--fr-green-dark);
}

.primary .big-price {
    color: #ffffff;
}

.big-price .currency {
    font-size: 1.85rem;
    font-weight: 600;
}

.big-price .amount {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
}

.big-price .period {
    color: var(--fr-muted);
    font-size: 0.95rem;
}

.primary .big-price .period {
    color: rgba(255,255,255,0.7);
}


.fee-list {
    margin: 25px 0 0;
    padding: 0;

    list-style: none;
}

.fee-list li {
    display: flex;
    justify-content: space-between;
    gap: 20px;

    padding: 13px 0;

    border-top: 1px solid var(--fr-border);
}

.primary .fee-list li {
    border-top-color: rgba(255,255,255,0.15);
}

.fee-list strong {
    color: var(--fr-green-dark);
}

.primary .fee-list strong {
    color: #ffffff;
}

.fee-list span {
    white-space: nowrap;

    color: var(--fr-green);
    font-weight: 700;
}

.primary .fee-list span {
    color: #ffffff;
}


.examples-section {
    margin-bottom: 55px;
}

.section-intro {
    max-width: 700px;
    margin: 0 auto 30px;
    text-align: center;
}

.section-intro h2 {
    margin: 0 0 10px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}

.section-intro p {
    margin: 0;
    color: var(--fr-muted);
}

.example-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.example-card {
    padding: 25px 20px;

    background: var(--fr-cream);
    border: 1px solid #ebe7df;
    border-radius: 8px;

    text-align: center;
}

.example-orders {
    margin-bottom: 12px;

    color: var(--fr-green);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.example-card h3 {
    margin: 0 0 18px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    font-weight: 400;
}

.example-math {
    margin-bottom: 18px;

    color: var(--fr-muted);
    font-size: 0.9rem;
    line-height: 1.9;
}

.example-total {
    padding-top: 15px;

    border-top: 1px solid #dedbd3;

    color: var(--fr-green-dark);
    font-size: 1.25rem;
    font-weight: 700;
}


.seasonal-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.75fr);
    gap: 45px;
    align-items: center;

    margin-bottom: 50px;
    padding: 45px;

    background: var(--fr-cream);
    border: 1px solid #ebe7df;
    border-radius: 9px;
}

.seasonal-content h2 {
    margin: 0 0 18px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.3;
}

.seasonal-content p {
    margin: 0 0 16px;
}

.seasonal-content p:last-child {
    margin-bottom: 0;
}

.seasonal-highlight {
    padding: 30px;

    background: var(--fr-white);
    border-radius: 8px;

    text-align: center;

    box-shadow: 0 8px 25px rgba(35,45,38,0.07);
}

.seasonal-highlight .price {
    display: block;
    margin-bottom: 5px;

    color: var(--fr-green);
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
}

.seasonal-highlight strong {
    display: block;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    font-weight: 400;
}

.seasonal-highlight span {
    display: block;
    margin-top: 8px;

    color: var(--fr-muted);
    font-size: 0.88rem;
}


.small-order {
    margin-bottom: 50px;
    padding: 35px;

    background: var(--fr-green-light);
    border-radius: 9px;
}

.small-order-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 30px;

    max-width: 900px;
    margin: 0 auto;
}

.small-order-price {
    min-width: 150px;

    text-align: center;
}

.small-order-price strong {
    display: block;

    color: var(--fr-green-dark);
    font-size: 2.7rem;
    line-height: 1;
}

.small-order-price span {
    display: block;
    margin-top: 6px;

    color: var(--fr-muted);
    font-size: 0.82rem;
}

.small-order-content h2 {
    margin: 0 0 10px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 400;
}

.small-order-content p {
    margin: 0;
}


.services-section {
    margin-bottom: 50px;
}

.services-heading {
    max-width: 700px;
    margin: 0 auto 30px;
    text-align: center;
}

.services-heading h2 {
    margin: 0 0 10px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}

.services-heading p {
    margin: 0;
    color: var(--fr-muted);
}

.service-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 25px;

    padding: 30px;

    background: var(--fr-white);
    border: 1px solid var(--fr-border);
    border-radius: 9px;

    box-shadow: 0 7px 22px rgba(35,45,38,0.05);
}

.service-item {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 12px 5px;

    border-bottom: 1px solid #eeeeea;

    color: var(--fr-text);
    font-size: 0.93rem;
}

.service-item::before {
    content: "✓";

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 23px;

    width: 23px;
    height: 23px;

    border-radius: 50%;

    background: var(--fr-green-light);
    color: var(--fr-green);

    font-size: 0.72rem;
    font-weight: 700;
}

.service-item:last-child,
.service-item:nth-last-child(2) {
    border-bottom: none;
}


.optional-section {
    margin-bottom: 50px;
}

.optional-header {
    padding: 30px;

    background: var(--fr-green-dark);
    border-radius: 9px 9px 0 0;

    text-align: center;
}

.optional-header h2 {
    margin: 0 0 8px;

    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.9rem;
    font-weight: 400;
}

.optional-header p {
    max-width: 650px;
    margin: 0 auto;

    color: rgba(255,255,255,0.8);
}

.optional-table {
    width: 100%;

    border-collapse: collapse;

    background: var(--fr-white);
    border: 1px solid var(--fr-border);
    border-top: none;

    overflow: hidden;
}

.optional-table th,
.optional-table td {
    padding: 17px 20px;

    border-bottom: 1px solid var(--fr-border);

    text-align: left;
}

.optional-table th {
    color: var(--fr-green-dark);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.optional-table td:last-child,
.optional-table th:last-child {
    text-align: right;
    white-space: nowrap;
}

.optional-table td:last-child {
    color: var(--fr-green);
    font-weight: 700;
}

.optional-table tr:last-child td {
    border-bottom: none;
}


.compare-message {
    max-width: 850px;
    margin: 0 auto 45px;

    text-align: center;
}

.compare-message h2 {
    margin: 0 0 15px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}

.compare-message p {
    margin: 0 0 15px;

    color: var(--fr-muted);
}

.compare-message p:last-child {
    margin-bottom: 0;
}


.rates-cta {
    padding: 45px 30px;

    background: var(--fr-cream);
    border: 1px solid #ebe7df;
    border-radius: 9px;

    text-align: center;
}

.rates-cta h2 {
    margin: 0 0 12px;

    color: var(--fr-green-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}

.rates-cta p {
    max-width: 700px;
    margin: 0 auto;

    color: var(--fr-muted);
}


@media (max-width: 900px) {

    .example-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .seasonal-section {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .small-order-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .small-order-price {
        margin: 0 auto;
    }
}


@media (max-width: 650px) {

    .florist-rates {
        padding: 20px 15px 45px;
    }

    .rates-header {
        margin-bottom: 35px;
    }

    .florist-rates h1 {
        font-size: 2.15rem;
    }

    .rates-intro {
        font-size: 0.98rem;
    }

    .pricing-summary {
        grid-template-columns: 1fr;
        margin-bottom: 35px;
    }

    .pricing-card {
        padding: 28px 22px;
    }

    .big-price .amount {
        font-size: 3rem;
    }

    .example-grid {
        grid-template-columns: 1fr;
    }

    .examples-section,
    .services-section,
    .optional-section,
    .seasonal-section,
    .small-order {
        margin-bottom: 35px;
    }

    .seasonal-section {
        padding: 28px 22px;
    }

    .seasonal-content h2,
    .section-intro h2,
    .services-heading h2,
    .compare-message h2 {
        font-size: 1.7rem;
    }

    .small-order {
        padding: 28px 20px;
    }

    .service-list {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .service-item:nth-last-child(2) {
        border-bottom: 1px solid #eeeeea;
    }

    .service-item:last-child {
        border-bottom: none;
    }

    .optional-table {
        font-size: 0.88rem;
    }

    .optional-table th,
    .optional-table td {
        padding: 14px 12px;
    }

    .optional-table th:last-child,
    .optional-table td:last-child {
        text-align: right;
    }

    .rates-cta {
        padding: 35px 22px;
    }

    .rates-cta h2 {
        font-size: 1.7rem;
    }
}