/* Behaviour and accessible state only; typography, colours and cards are native Divi attributes. */
[data-sde-prices] [data-sde-price-status][hidden],
[data-sde-prices] [data-sde-price-status-container]:has([data-sde-price-status][hidden]) { display: none !important; }
[data-sde-prices] a[aria-pressed="true"] { outline: 3px solid currentColor; outline-offset: 3px; }
[data-sde-prices] a[role="button"]:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
[data-sde-prices] [data-sde-chart-nav] { display:flex; justify-content:flex-end; align-items:center; gap:10px; width:100%; margin:0; }
[data-sde-prices] [data-sde-chart-nav] a[role="button"] { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; }
[data-sde-prices] [data-sde-chart-nav] a[aria-disabled="true"] { opacity:.38; cursor:default; }
[data-sde-prices] [data-sde-price-value],
[data-sde-prices] .sde-price-number { font-variant-numeric: tabular-nums; }
[data-sde-prices] tr[aria-current="time"] { outline: 2px solid currentColor; outline-offset: -2px; }
[data-sde-prices] [data-sde-price-rows] th { font-weight: inherit; }

/* The chart is runtime data; page copy and module design remain in Divi. */
[data-sde-prices] { --sde-price-0:#729c82; --sde-price-1:#b5cbaa; --sde-price-2:#e3d69b; --sde-price-3:#d9b18d; --sde-price-4:#c89089; }
[data-sde-prices] [hidden] { display:none !important; }
[data-sde-prices] .et_pb_column,
[data-sde-prices] .et_pb_text_inner { min-width:0; }
[data-sde-prices] .sde-price-chart-shell { display:grid; grid-template-columns:4.2rem minmax(0,1fr); gap:.5rem; padding:2.6rem .75rem .5rem 0; border:1px solid #d7e1d0; border-radius:16px; background:#fff; }
[data-sde-prices] .sde-price-axis { position:relative; height:360px; margin-top:2rem; text-align:right; font-size:.8rem; color:#526459; font-variant-numeric:tabular-nums; }
[data-sde-prices] .sde-price-axis-tick { position:absolute; right:0; transform:translateY(-50%); white-space:nowrap; line-height:1; }
[data-sde-prices] .sde-price-axis-unit { position:absolute; right:0; top:-1.8rem; white-space:nowrap; font-size:.72rem; }
[data-sde-prices] .sde-price-chart { display:grid; grid-template-columns:repeat(var(--sde-count,96),minmax(0,1fr)); column-gap:2px; position:relative; height:360px; isolation:isolate; }
[data-sde-prices] .sde-price-chart[data-sde-chart-mode="daily"] { column-gap:4px; }
[data-sde-prices] .sde-price-chart[data-sde-chart-resolution="hour"],
[data-sde-prices] .sde-price-chart[data-sde-chart-resolution="day"] { column-gap:3px; }
[data-sde-prices] .sde-price-chart[data-sde-chart-resolution="month"] { column-gap:12px; }
[data-sde-prices] .sde-price-chart[data-sde-chart-resolution="month"] .sde-price-bar-fill { left:12%; right:12%; }
[data-sde-prices] .sde-price-chart-scroll { overflow-x:auto; overflow-y:hidden; min-width:0; max-width:100%; overscroll-behavior-x:contain; scrollbar-color:#7c9584 #edf2e9; scrollbar-width:auto; }
[data-sde-prices] .sde-price-chart-track { position:relative; width:calc(var(--sde-count,96) * var(--sde-slot-width,7px)); min-width:100%; padding-bottom:.4rem; }
[data-sde-prices] .sde-price-chart-dates { position:relative; height:2rem; font-size:.8rem; font-weight:700; color:#334d3f; }
[data-sde-prices] .sde-price-chart-dates span { position:absolute; top:0; padding-left:.2rem; white-space:nowrap; }
[data-sde-prices] .sde-price-day-boundary { position:absolute; inset-block:0; border-left:1px dashed #7c9584; z-index:1; pointer-events:none; }
[data-sde-prices] .sde-price-gridline { position:absolute; inset-inline:0; border-top:1px solid #e5eae3; z-index:0; pointer-events:none; }
[data-sde-prices] .sde-price-gridline-zero { border-color:#bdcbbf; }
[data-sde-prices] .sde-price-bar { display:block; position:relative; appearance:none; padding:0; border:0; margin:0; border-radius:0; min-width:0; width:100%; height:100%; background:transparent; cursor:crosshair; z-index:2; }
/* Quarter/hour timelines use direct positions without a browser-sized grid. */
[data-sde-prices] .sde-price-chart[data-sde-chart-layout="absolute"] { display:block; grid-template-columns:none; }
[data-sde-prices] .sde-price-chart[data-sde-chart-layout="absolute"] .sde-price-bar { position:absolute; top:0; }
[data-sde-prices] .sde-price-bar-fill { position:absolute; left:0; right:0; border-radius:4px; background:var(--sde-price-2); }
[data-sde-prices] .sde-price-bar[data-sde-missing-price] { background:repeating-linear-gradient(135deg,transparent,transparent 5px,#edf0ec 5px,#edf0ec 7px); }
[data-sde-prices] .sde-price-bar[data-sde-missing-price] .sde-price-bar-fill { display:none; }
[data-sde-prices] [data-tier="0"] .sde-price-bar-fill { background:var(--sde-price-0); }
[data-sde-prices] [data-tier="1"] .sde-price-bar-fill { background:var(--sde-price-1); }
[data-sde-prices] [data-tier="3"] .sde-price-bar-fill { background:var(--sde-price-3); }
[data-sde-prices] [data-tier="4"] .sde-price-bar-fill { background:var(--sde-price-4); }
[data-sde-prices] .sde-price-bar[aria-current="time"] { z-index:3; }
[data-sde-prices] .sde-price-bar[aria-current="time"]::after { content:""; position:absolute; inset-block:0; left:50%; transform:translateX(-50%); width:2px; background:rgba(51,77,63,.8); pointer-events:none; }
[data-sde-prices] .sde-price-bar:focus-visible { outline:3px dashed #102e25; outline-offset:3px; z-index:4; }
[data-sde-prices] .sde-price-chart-hours { position:relative; height:2rem; margin:0; font-size:.8rem; }
[data-sde-prices] .sde-price-chart-hours span { position:absolute; transform:translateX(-50%); }
[data-sde-prices] .sde-price-chart-hours span:first-child { transform:none; }
[data-sde-prices] .sde-price-chart-hours span:last-child { transform:translateX(-100%); }
[data-sde-prices] .sde-price-tooltip { padding:.8rem 1rem; min-height:3.4rem; border:1px solid #d7e1d0; border-radius:10px; background:#fff; font-weight:700; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
[data-sde-prices] .sde-price-legend { display:flex; flex-wrap:wrap; gap:.6rem 1rem; font-size:.8rem; }
[data-sde-prices] .sde-price-legend span { display:inline-flex; align-items:center; gap:.35rem; }
[data-sde-prices] .sde-price-legend span::before { content:""; width:14px; height:14px; border-radius:3px; background:var(--sde-price-2); border:1px solid #647365; flex-shrink:0; }
[data-sde-prices] .sde-price-legend [data-sde-tier="0"]::before { background:var(--sde-price-0); }
[data-sde-prices] .sde-price-legend [data-sde-tier="1"]::before { background:var(--sde-price-1); }
[data-sde-prices] .sde-price-legend [data-sde-tier="3"]::before { background:var(--sde-price-3); }
[data-sde-prices] .sde-price-legend [data-sde-tier="4"]::before { background:var(--sde-price-4); }
[data-sde-prices] .sde-price-copy { display:none; }
[data-sde-prices] .sde-price-table-scroll { max-width:100%; overflow:auto; margin-bottom:1rem; }
[data-sde-prices] table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
[data-sde-prices] table th, [data-sde-prices] table td { padding:.7rem .6rem; border-bottom:1px solid #d7e1d0; text-align:right; }
[data-sde-prices] table th:first-child { text-align:left; }
/* Price tables share a keyboard-accessible card; short tables keep their natural height. */
[data-sde-prices] :is([data-sde-price-table-card="1"],[data-sde-history-scroll="1"]) { width:100%; min-width:0; max-width:100%; max-height:30rem; overflow:auto; box-sizing:border-box; border:1px solid #d7e1d0; border-radius:16px; background:#fff; box-shadow:0 4px 16px rgba(33,62,44,.04); overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-color:#7c9584 #edf2e9; }
[data-sde-prices] :is([data-sde-price-table-card="1"],[data-sde-history-scroll="1"]):focus-visible { outline:3px solid #334d3f; outline-offset:3px; }
[data-sde-prices] :is([data-sde-price-table-card="1"],[data-sde-history-scroll="1"]) table { min-width:32rem; margin:0; border-collapse:separate; border-spacing:0; }
[data-sde-prices] [data-sde-price-table-card="1"][data-sde-table-columns="2"] table { min-width:0; }
[data-sde-prices] :is([data-sde-price-table-card="1"],[data-sde-history-scroll="1"]) thead th { position:sticky; top:0; z-index:2; background:#f4f7ed; box-shadow:0 1px 0 #d7e1d0; }
[data-sde-prices] [data-sde-price-tariff-sources] a { display:block; overflow-wrap:anywhere; }
[data-sde-prices] .et_pb_contact_form_label { display:block !important; }
[data-sde-prices] input, [data-sde-prices] select { max-width:100%; box-sizing:border-box; }
/* A fixed control height aligns Divi text inputs with native selects. */
[data-sde-price-settings] input:not([type="checkbox"]):not([type="radio"]),
[data-sde-price-settings] select { height:50px; min-height:50px; line-height:22px; padding-top:13px; padding-bottom:13px; }
/* Help remains native Divi content; only its open/closed presentation is dynamic. */
[data-sde-prices] [data-sde-info-trigger] { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
[data-sde-info-dialog-open="1"] { position:fixed !important; left:var(--sde-info-left,12px) !important; top:var(--sde-info-top,12px) !important; width:min(360px,calc(100vw - 24px)) !important; max-width:calc(100vw - 24px) !important; max-height:var(--sde-info-max-height,calc(100vh - 24px)); overflow:auto; overscroll-behavior:contain; box-sizing:border-box; margin:0 !important; padding:24px !important; border:1px solid #c8d7c7; border-radius:16px; background:#fff; box-shadow:0 8px 32px rgba(33,62,44,.17); z-index:100000; color:#334d3f; font-size:16px; line-height:1.6; }
[data-sde-info-dialog-open="1"] .et_pb_text_inner { overflow-wrap:anywhere; }
[data-sde-info-dialog-open="1"] { display:flex !important; flex-direction:column; gap:0 !important; max-height:min(560px,var(--sde-info-max-height,calc(100vh - 24px))); }
[data-sde-info-dialog-open="1"] > * { flex-shrink:0; }
[data-sde-info-dialog-open="1"] > .et_pb_text:first-child h3 { padding-right:46px; }
[data-sde-info-dialog-open="1"] > .et_pb_button_module_wrapper:has(a[href="#sde-info-close"]) { position:sticky; top:0; order:-1; height:0; min-height:0; margin:0 !important; padding:0 !important; z-index:2; }
[data-sde-info-dialog-open="1"] a[href="#sde-info-close"] { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
[data-sde-info-dialog-open="1"] a[href="#sde-info-close"] { position:absolute; top:0; right:0; width:44px; height:44px; padding:0 !important; margin:0 !important; border:1px solid #c8d7c7; border-radius:50%; color:var(--sde-info-close-color,#173e2f) !important; background:#f6f8f2; font-size:24px; line-height:1; }
[data-sde-info-dialog-open="1"] a[href="#sde-info-close"]::after { display:none; }
[data-sde-info-dialog-open="1"] a:focus-visible,
[data-sde-info-dialog-open="1"] button:focus-visible { outline:3px solid #334d3f; outline-offset:3px; }
body.et-fb [data-sde-info-host] [data-sde-info-panel][hidden] { display:block !important; margin:16px 0 !important; padding:24px !important; border:1px solid #c8d7c7; border-radius:16px; }
body.et-fb [data-sde-info-host] { padding-block:16px !important; }
@media(max-width:480px) {
    [data-sde-prices] .sde-price-chart { height:280px; column-gap:.5px; }
    [data-sde-prices] .sde-price-chart[data-sde-chart-mode="daily"] { column-gap:2px; }
    [data-sde-prices] .sde-price-chart-shell { grid-template-columns:3.25rem minmax(0,1fr); gap:.25rem; padding-right:.4rem; }
    [data-sde-prices] .sde-price-axis { height:280px; font-size:.7rem; }
    [data-sde-prices] .sde-price-axis-unit { font-size:.63rem; }
    [data-sde-prices] table th, [data-sde-prices] table td { padding:.5rem .35rem; font-size:.82rem; }
}
@media(forced-colors:active) {
    [data-sde-prices] .sde-price-bar-fill { background:CanvasText; }
    [data-sde-prices] .sde-price-bar[aria-current="time"]::after { background:Highlight; forced-color-adjust:none; }
}
