/* Surgical Dentistry CSS */

:root {
    --beige: #F0EFE7;
    --logo-gray: #183D4A;
    --logo-blue: #13C2CF;
    --logo-gold: #ECD8B6;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: var(--logo-gray);
    overflow-x: hidden;
}

h1,
h2,
h3,
h4 {
    font-family: 'Libre Baskerville', serif;
}

/* Page Layout */
.surgical-dentistry-page {
    position: relative;
    width: 100%;
}

/* Intro Text Section */
.intro-text-section {
    background: var(--beige);
    padding: 80px 0 20px;
    text-align: center;
}

.intro-content {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
}

.intro-text {
    font-family: 'Lora', serif;
    font-size: 30px;
    color: var(--logo-gray);
    line-height: 1.5;
    margin: 0;
}

.arrow-decoration {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.curve-arrow {
    width: 100px;
    margin-left: 380px;
    /* Offset to the right of centered text */
}

/* Common Section Styles */
.section-title {
    font-family: 'Lora', serif;
    font-weight: 600;
    font-size: 32px;
    color: var(--logo-gray);
    margin-bottom: 50px;
}

/* Procedure Table Styles */
.procedure-table-section {
    background: var(--beige);
    padding: 60px 0;
}

.procedure-category-title {
    font-family: 'Lora', serif;
    font-weight: 600;
    font-size: 33px;
    /* From specs */
    color: var(--logo-gray);
    text-align: left;
    margin-bottom: 40px;
}

.custom-table {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    border: 1px solid var(--logo-gray);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.relative-container {
    position: relative;
}

.star-decoration-left,
.star-decoration-right {
    position: absolute;
    z-index: 0;
    top: 50%;
    transform: translateY(-50%);
}

.star-decoration-left {
    left: -80px;
}

.star-decoration-right {
    right: -80px;
}

.star-decoration-left img,
.star-decoration-right img {
    width: 60px;
}

.star-decoration-left.top-offset {
    top: 20%;
}

.star-decoration-right.bottom-offset {
    top: 80%;
}

.cta-content {
    position: relative;
    display: inline-block;
}

.cta-arrow {
    position: absolute;
    left: -80px;
    top: 50px;
    transform: rotate(-10deg);
}

.curly-arrow-img {
    width: 50px;
}

.table-row {
    display: flex;
    width: 100%;
    min-height: 70px;
    background: var(--beige);
    border-bottom: 1px solid var(--logo-gray);
}

.table-row:last-child {
    border-bottom: none;
}

.table-col-left {
    width: 300px;
    /* From specs */
    background: var(--logo-gray);
    color: var(--logo-gold);
    padding: 10px 20px;
    display: flex;
    align-items: center;
    font-family: 'Lora', serif;
    font-size: 22px;
    line-height: 1.4;
    border-right: 1px solid var(--logo-gold);
    flex-shrink: 0;
}

.table-col-right {
    flex-grow: 1;
    background: var(--logo-gold);
    color: var(--logo-gray);
    padding: 10px 20px;
    display: flex;
    align-items: center;
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.4;
}

/* CTA Section */
.cta-section {
    padding: 60px 0;
}

.cta-title {
    font-family: 'Lora', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 36px;
    line-height: 1.4;
    text-decoration: underline;
    color: var(--logo-gray);
    margin-bottom: 30px;
}

.cta-button {
    background-color: var(--logo-blue) !important;
    border: none;
    color: var(--logo-gray) !important;
    font-family: 'Lora', serif;
    font-weight: 600;
    font-size: 20px;
    padding: 10px 30px;
    border-radius: 6px;
    letter-spacing: 0.1em;
}

.cta-button:hover {
    background-color: (--beige) !important;
    color: #fff !important;
}

/* Responsive */
@media (max-width: 768px) {
    .table-row {
        flex-direction: column;
        height: auto;
    }

    .table-col-left,
    .table-col-right {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    .procedure-category-title {
        font-size: 24px;
    }
}

/* Laptop Screens (1024px - 1439px) */
@media (min-width: 1024px) and (max-width: 1439px) {
    .facility-section .page-title {
        font-size: 67px !important;
        line-height: 1.2;
    }

    .procedure-category-title {
        font-size: 32px !important;
    }

    .table-col-left,
    .table-col-right,
    .description {
        font-size: 18px !important;
    }

    .callout-item {
        font-size: 26px !important;
        line-height: 1.8 !important;
    }

    .content-wrapper,
    .callout-wrapper {
        max-width: 1120px !important;
    }

    .decorative-circles {
        transform: scale(0.8);
        transform-origin: left top;
        left: 20px !important;
        top: 0px !important;
    }

    .callout-star {
        left: 6px !important;
        top: 200px !important;
    }

    .facility-image {
        width: 99% !important;
        height: 81% !important;
        left: -16px !important;
    }

    .image-section {
        top: 0px !important;
    }

    .star-decoration {
        left: -2% !important;
    }

    .intro-text {
        font-size: 27px !important;
    }

    .curve-arrow {
        width: 42px !important;
        padding-bottom: 5px !important;
    }

    .procedure-table-section {
        padding-top: 0px !important;
    }

    .intro-text-section {
        padding-top: 10px !important;
    }

    .cta-section {
        padding-top: 0px !important;
    }

    .cta-arrow {
        left: 219px !important;
        top: 47px !important;
    }

    .cta-arrow img {
        width: 92px !important;
    }

    .procedure-table-section .container {
        max-width: 862px !important;
    }

    .service-section {
        min-height: 550px !important;
        max-height: 550px !important;
    }

    .star-decoration-left img,
    .star-decoration-right img {
        width: 80px !important;
    }
}

/* Large Desktop Screens (1440px - 2559px) */
@media (min-width: 1440px) and (max-width: 2559px) {
    .facility-section .page-title {
        font-size: 72px !important;
        line-height: 1.2;
    }

    .procedure-category-title {
        font-size: 33px !important;
    }

    .table-col-left,
    .table-col-right,
    .description {
        font-size: 22px !important;
    }

    .content-wrapper,
    .callout-wrapper {
        max-width: 1600px !important;
    }

    .intro-text-section {
        padding-top: 0px !important;
    }

    .facility-image {
        width: 126% !important;
        height: 105% !important;
    }

    .curve-arrow {
        width: 46px !important;
    }

    .procedure-table-section {
        padding-top: 0px !important;
    }

    .custom-table {
        max-width: 1200px !important;
    }

    .star-decoration-left {
        left: -50px !important;
    }

    .star-decoration-left img,
    .star-decoration-right img {
        width: 100px !important;
    }

    .star-decoration-right {
        right: -35px !important;
        top: 669px !important;
    }

    .star-decoration-left.top-offset {
        top: 20% !important;
    }

    .cta-arrow {
        top: 57px !important;
        left: 210px !important;
    }

    .curly-arrow-img {
        width: 81px !important;
    }

    .content-wrapper {
        padding-top: 1% !important;
    }

    .text-content {
        width: 53% !important;
    }

    .facility-image {
        width: 157% !important;
        height: 125% !important;
        left: -170px !important;
    }

    .star-decoration {
        left: -29% !important;
        top: 14% !important;
    }
}

/* Ultra Wide Screens (≥ 2560px) */
@media (min-width: 2560px) {
    .facility-section .page-title {
        font-size: 152px !important;
        line-height: 1.2;
    }

    .procedure-category-title,
    .cta-title {
        font-size: 48px !important;
    }

    .table-col-left,
    .table-col-right {
        font-size: 32px !important;
    }

    .table-col-left {
        width: 600px !important;
    }

    .content-wrapper,
    .callout-wrapper,
    .procedure-table-section .container,
    .cta-section.container,
    .custom-table {
        max-width: 2178px !important;
    }

    .facility-image {
        width: 179% !important;
        height: 178% !important;
        left: -224px !important;
    }

    .star-decoration {
        left: 6px !important;
        top: 200px !important;
    }

    .star-decoration img {
        width: 120px !important;
    }

    .decorative-circles {
        left: 0px !important;
        top: 0px !important;
    }

    .callout-section {
        padding: 60px 0 !important;
    }

    .callout-wrapper {
        min-height: 480px !important;
    }

    .callout-star {
        top: 170px !important;
    }

    .cta-button {
        font-size: 32px !important;
    }

    .intro-text {
        font-size: 48px !important;
    }

    .curve-arrow {
        width: 70px !important;
        margin-left: 800px !important;
    }

    .star-decoration-left {
        left: -150px !important;
    }

    .star-decoration-right {
        right: -150px !important;
    }

    .star-decoration-left.top-offset {
        top: 20% !important;
    }

    .star-decoration-right.bottom-offset {
        top: 80% !important;
    }

    .star-decoration-left img,
    .star-decoration-right img {
        width: 120px !important;
    }

    .cta-arrow {
        left: 205px !important;
        top: 60px !important;
    }

    .curly-arrow-img {
        width: 120px !important;
    }

    .intro-text-section .container,
    .intro-text-section .intro-content {
        max-width: 1900px !important;
    }

    .intro-text-section {
        padding-top: 5% !important;
    }

    .content-wrapper {
        padding-top: 4% !important;
    }
}