/**
 * Shared frontend layout — max width + responsive horizontal padding.
 *
 * Desktop (≥1280px): 50px
 * Laptop  (≥1024px): 30px
 * Tablet  (≥768px):  20px
 * Mobile  (<768px):  15px
 */

:root {
    --dap-layout-max-width: 1120px;
    --dap-layout-padding-x: 15px;
}

@media (min-width: 768px) {
    :root {
        --dap-layout-padding-x: 20px;
    }
}

@media (min-width: 1024px) {
    :root {
        --dap-layout-padding-x: 30px;
    }
}

@media (min-width: 1280px) {
    :root {
        --dap-layout-padding-x: 50px;
    }
}

/* Unified page container for all plugin frontend views */
.dap-layout,
.dap-single-doctor-profile,
.dap-single-department-profile,
.dap-list-wrap,
.dap-appointment-form-wrapper {
    width: 100%;
    max-width: var(--dap-layout-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--dap-layout-padding-x);
    padding-right: var(--dap-layout-padding-x);
    box-sizing: border-box;
}

.dap-single-doctor-profile,
.dap-single-department-profile,
.dap-list-wrap,
.dap-appointment-form-wrapper {
    margin-bottom: 48px;
}

.dap-package-single-main,
.dap-doctor-single-main,
.dap-department-single-main,
.dap-single-main {
    background: transparent !important;
}

.dap-single-package-profile {
    margin: 0;
    padding: 0;
}

.dap-package-booking-form-wrapper {
    padding: 0;
}

/* ─── All Single Views Padding Guideline ───
 * Desktop: 70px 0 70px 0
 * Laptop:  40px 30px 40px 30px
 * Tablet:  30px 20px 30px 20px
 * Mobile:  25px 15px 25px 15px
 */
.dap-single-main,
.dap-doctor-single-main,
.dap-package-single-main,
.dap-department-single-main,
body.dap-plugin-single .site-main {
    padding: 70px 0 70px 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
}

@media (max-width: 1199px) and (min-width: 1024px) {
    .dap-single-main,
    .dap-doctor-single-main,
    .dap-package-single-main,
    .dap-department-single-main,
    body.dap-plugin-single .site-main {
        padding: 40px 30px 40px 30px !important;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    .dap-single-main,
    .dap-doctor-single-main,
    .dap-package-single-main,
    .dap-department-single-main,
    body.dap-plugin-single .site-main {
        padding: 30px 20px 30px 20px !important;
    }
}

@media (max-width: 767px) {
    .dap-single-main,
    .dap-doctor-single-main,
    .dap-package-single-main,
    .dap-department-single-main,
    body.dap-plugin-single .site-main {
        padding: 25px 15px 25px 15px !important;
    }
}

/* Prevent double padding inside single views */
.dap-single-main .dap-layout,
.dap-single-main .dap-single-doctor-profile,
.dap-single-main .dap-single-department-profile,
.dap-single-main .dap-single-package-profile,
body.dap-plugin-single .site-main .dap-layout {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
}

/* Let plugin pages use full theme content width; inner .dap-layout constrains content */
body.dap-doc-archive .site-main,
body.dap-dept-archive .site-main,
body.dap-pkg-archive .site-main,
body.dap-plugin-archive .site-main,
body.dap-plugin-booking .site-main,
body.dap-plugin-single .site-main,
body.dap-plugin-single .entry-content,
.dap-archive-main {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

/* Avoid theme inner padding stacking with plugin layout padding */
body.dap-plugin-single .entry-content,
body.dap-doc-archive .site-main > .entry-content,
body.dap-dept-archive .site-main > .entry-content,
body.dap-pkg-archive .site-main > .entry-content {
    padding-left: 0;
    padding-right: 0;
}

.dap-archive-main {
    padding-top: 24px;
    padding-bottom: 24px;
}

@media (max-width: 767px) {
    .dap-single-doctor-profile {
        padding-bottom: 80px;
    }
}
