.drs-request { background:#f7f3ee; border:1px solid #cbbdad; padding:clamp(20px,4vw,38px); margin:24px 0 40px; border-radius:4px; scroll-margin-top:100px; }
.drs-request h2 { margin-top:0; }
.drs-request-notice { padding:18px; background:#fff; border-left:4px solid #8a6449; line-height:1.6; }
.drs-request-notice strong { display:block; }
.drs-request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
.drs-request-grid p { margin:0; min-width:0; }
.drs-request-grid .drs-location-field { grid-column:1 / -1; }
.drs-request-grid label { display:block; font-weight:600; margin-bottom:7px; }
.drs-request-grid input, .drs-request-grid select { box-sizing:border-box; width:100%; max-width:100%; min-height:48px; padding:11px; border:1px solid #aa998a; border-radius:3px; background:#fff; color:#302923; font:inherit; }
.drs-request input:focus-visible, .drs-request select:focus-visible, .drs-request button:focus-visible { outline:3px solid #86624a; outline-offset:3px; }
.drs-acknowledgement { display:flex; align-items:flex-start; gap:10px; line-height:1.5; }
.drs-acknowledgement input { flex:none; width:20px; height:20px; margin-top:3px; }
.drs-request-status { font-weight:600; }
.drs-checkout-disabled, .woocommerce .drs-checkout-disabled { opacity:.5 !important; cursor:not-allowed !important; }
.drs-request button, .drs-service-card .button { display:inline-block; background:#3a322d; color:#fffaf4; padding:13px 20px; border:0; border-radius:3px; font:inherit; cursor:pointer; text-decoration:none; }
.drs-request button:hover, .drs-service-card .button:hover { background:#654d3c; color:#fff; }
.drs-service-catalogue { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.drs-service-card { box-sizing:border-box; display:flex; flex-direction:column; padding:28px; border:1px solid #d6c9bd; background:#fffdf9; gap:16px; height:100%; }
.drs-service-card h3, .drs-service-card p { margin:0; }
.drs-service-card .sacoor-card-meta { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.drs-service-card .price { font-weight:600; }
.drs-service-card form { margin:0; }
.drs-service-card .button { white-space:normal; }
.drs-order-request { margin:24px 0; }
.drs-refresh-times[hidden] { display:none; }
.drs-medical-aid-detail[hidden], .drs-funding-help[hidden] { display:none !important; }
.drs-funding-help { clear:both; margin:.75rem 0 1.5rem; color:var(--s-charcoal,#262421); font-size:.85rem; line-height:1.6; }
.drs-funding-help p { margin:0 0 1rem; }
.drs-funding-help ul { list-style:disc; margin:0 0 1rem; padding-left:1.25rem; }
.drs-funding-help li + li { margin-top:.4rem; }
.drs-funding-help p:last-child { margin-bottom:0; }
@media(max-width:900px) { .drs-service-catalogue { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .drs-request-grid, .drs-service-catalogue { grid-template-columns:1fr; } .drs-request { padding:20px; } }

/* A shared treatment body keeps Conditions and the price list in sync. */
/* The shortcode editor can choose these icons for either card layout. */
.sacoor-service-card.icon-chat::before { background-image:url("../../../themes/drsclinical/assets/icons/chat.svg"); }
.sacoor-service-card.icon-pin::before { background-image:url("../../../themes/drsclinical/assets/icons/pin.svg"); }
.sacoor-service-card.icon-scale::before { background-image:url("../../../themes/drsclinical/assets/icons/scale.svg"); }
.sacoor-service-card.icon-filler::before { background-image:url("../../../themes/drsclinical/assets/icons/filler.svg"); }
.sacoor-service-card.icon-booster::before { background-image:url("../../../themes/drsclinical/assets/icons/skin.svg"); }
.sacoor-treatment-card.icon-iv::before { background-image:url("../../../themes/drsclinical/assets/icons/iv-bag.svg"); }
.drs-service-price-list { border-top:1px solid var(--s-line,#d7c9bb); }
.drs-service-price-item { margin:0; border-bottom:1px solid var(--s-line,#d7c9bb); }
.drs-service-price-item > summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,auto) 22px; align-items:center; gap:24px; padding:25px 0; cursor:pointer; list-style:none; }
.drs-service-price-item > summary::-webkit-details-marker { display:none; }
.drs-service-price-name { font-family:var(--s-serif,Georgia,serif); font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.25; }
.drs-service-price-subtitle { display:block; margin-top:.4rem; font-family:var(--s-sans,sans-serif); font-size:clamp(.75rem,1vw,.85rem); line-height:1.5; font-weight:400; color:var(--s-muted,#625d58); }
.drs-service-price-item .price { color:var(--s-brown,#8c6b56); font-size:.85rem; font-weight:700; text-align:right; max-width:270px; }
.drs-service-price-item .price .amount { white-space:nowrap; }
.drs-accordion-icon { position:relative; width:22px; height:22px; }
.drs-accordion-icon::before, .drs-accordion-icon::after { content:""; position:absolute; background:currentColor; width:16px; height:1px; top:10px; left:3px; }
.drs-accordion-icon::after { transform:rotate(90deg); }
.drs-service-price-item[open] .drs-accordion-icon::after { transform:rotate(0); }
.drs-service-price-item > summary:hover { color:var(--s-brown,#8c6b56); }
.drs-service-price-item > summary:focus-visible { outline:2px solid var(--s-brown,#8c6b56); outline-offset:4px; }
.drs-service-price-body { padding:4px 0 32px; max-width:850px; }
.drs-treatment-facts { display:flex; flex-wrap:wrap; gap:16px 36px; margin:0 0 24px; padding:18px 0; border-block:1px solid var(--s-line,#d7c9bb); }
.drs-treatment-facts dt { color:var(--s-muted,#625d58); font-size:.67rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.drs-treatment-facts dd { margin:6px 0 0; font-size:.9rem; }
.drs-treatment-description { font-size:.95rem; line-height:1.7; }
.drs-treatment-description p { margin:0 0 1rem; }
.drs-treatment-description h5 { font:700 .85rem var(--s-sans,sans-serif); margin:1.5rem 0 .7rem; }
.drs-treatment-description ul { padding-left:1.2rem; margin:.7rem 0 1.25rem; }
.drs-treatment-description li + li { margin-top:.4rem; }
.drs-treatment-assessment { color:var(--s-muted,#625d58); font-size:.78rem; line-height:1.6; margin:1.6rem 0; }
.drs-service-price-body form, .drs-recommended-treatment form { margin:1.4rem 0 0; }
.drs-service-price-body .button, .drs-recommended-treatment .button { display:inline-block; background:var(--s-charcoal,#262421); color:var(--s-paper,#fffcf8); padding:13px 20px; border:0; border-radius:2px; font:inherit; font-size:.8rem; cursor:pointer; text-decoration:none; }
.drs-service-price-body .button:hover, .drs-recommended-treatment .button:hover { background:var(--s-brown,#8c6b56); }
.drs-service-price-body .button:focus-visible, .drs-recommended-treatment .button:focus-visible { outline:2px solid var(--s-brown,#8c6b56); outline-offset:4px; }
.drs-recommended-treatment { box-sizing:border-box; padding:clamp(20px,3vw,32px); background:var(--s-ivory,#f7f4ee); border:1px solid var(--s-line,#d7c9bb); min-width:0; margin:0 !important; }
.drs-recommended-treatment h4 { margin:0 0 14px; font:400 clamp(1.4rem,2vw,1.8rem)/1.2 var(--s-serif,Georgia,serif); letter-spacing:-.025em; }
.drs-recommended-treatment > .price { color:var(--s-brown,#8c6b56); font-weight:700; font-size:.95rem; margin:0 0 24px; }
.drs-units-table { width:100%; border-collapse:collapse; font-size:.85rem; margin-bottom:1.5rem; }
.drs-units-table th, .drs-units-table td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--s-line,#d7c9bb); vertical-align:top; }
.drs-units-table thead th { color:var(--s-brown,#8c6b56); }
.drs-units-table tbody th { font-weight:400; }
.drs-units-table-wrap { overflow-x:auto; }
.drs-price-list-note { margin-top:2rem !important; font-size:.85rem; }
@media(max-width:600px) {
  .drs-service-price-item > summary { grid-template-columns:minmax(0,1fr) 22px; gap:8px 18px; padding:23px 0; }
  .drs-service-price-item .price { grid-column:1; grid-row:2; text-align:left; max-width:none; font-size:.8rem; }
  .drs-service-price-item .drs-accordion-icon { grid-column:2; grid-row:1 / 3; }
  .drs-treatment-facts { gap:15px 24px; }
}
