/* Product services UI v2. Scoped styles; no global theme, font or form reset. */
.aalam-ps-services{
    --aps-accent:#225da8;--aps-ink:#17263a;--aps-muted:#526174;
    --aps-line:#d9e1ec;--aps-soft:#f3f7fc;
    display:block;flex:0 0 100%;inline-size:100%;max-inline-size:100%;min-inline-size:0;
    box-sizing:border-box;margin-block:16px;padding:14px;border:1px solid var(--aps-line);
    border-radius:16px;background:#fff;color:var(--aps-ink);font:inherit;text-align:start;
}
.aalam-ps-services *{box-sizing:border-box}
/* Keep the native sticky purchase controls reachable when a services panel is
   inserted into XStore's one-line simple-product form. No form without this
   direct Product Services fieldset is affected; variation popups keep their
   native wrapping layout. */
.single-product .etheme-sticky-cart .et_column:has(>form.cart>fieldset.aalam-ps-services[data-aps-root]){
    min-inline-size:0;
}
.single-product .etheme-sticky-cart form.cart:has(>fieldset.aalam-ps-services[data-aps-root]){
    flex-wrap:wrap;inline-size:100%;min-inline-size:0;max-inline-size:100%;
}
.aalam-ps-services[hidden],.aalam-ps-services [hidden]{display:none!important}
.aalam-ps-services>legend{
    float:none;inline-size:auto;max-inline-size:100%;padding:0 8px;margin:0;
    font-size:1.025em;font-weight:700;line-height:1.65;color:inherit;
}
.aalam-ps-services .aalam-ps-optional{
    display:inline-block;vertical-align:middle;margin-inline-start:10px;padding:1px 9px;
    border:1px solid var(--aps-line);border-radius:20px;color:var(--aps-muted);
    font-size:.72em;font-weight:500;line-height:1.8;background:#fff;
}
.aalam-ps-services .aalam-ps-standard-note{
    margin:0;padding:12px 14px;border:0;border-block-end:1px solid var(--aps-line);
    border-radius:12px 12px 0 0;background:var(--aps-soft);color:var(--aps-ink);
}
.aalam-ps-services .aalam-ps-standard-note__row{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.aalam-ps-services .aalam-ps-standard-note__copy{min-inline-size:0;flex:1}
.aalam-ps-services .aalam-ps-note-caption{
    display:block;color:var(--aps-muted);font-size:12px;font-weight:400;line-height:1.6;margin-block-end:3px;
}
.aalam-ps-services .aalam-ps-standard-note__text{
    margin:0;font-size:.95em;line-height:1.75;font-weight:500;overflow-wrap:anywhere;
}
.aalam-ps-services .aalam-ps-note-value{
    font-weight:700;font-variant-numeric:tabular-nums;unicode-bidi:isolate;
}
.aalam-ps-services .aalam-ps-standard-note__toggle{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;
    inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;margin:0;padding:0;border:0;
    border-radius:50%;background:transparent;color:var(--aps-accent);font:inherit;font-weight:700;cursor:pointer;
}
.aalam-ps-services .aalam-ps-standard-note__toggle>span{
    display:inline-flex;align-items:center;justify-content:center;inline-size:25px;block-size:25px;
    border:1px solid currentColor;border-radius:50%;background:#fff;line-height:1;
}
.aalam-ps-services .aalam-ps-standard-note__toggle[aria-expanded="true"]>span{
    background:var(--aps-accent);color:#fff;
}
.aalam-ps-services .aalam-ps-standard-note__tooltip{
    margin-block-start:8px;padding-block-start:8px;border-block-start:1px solid var(--aps-line);
    color:var(--aps-muted);font-size:.88em;line-height:1.8;overflow-wrap:anywhere;
}
.aalam-ps-services .aalam-ps-standard-note__tooltip p{margin:0}
.aalam-ps-services .aalam-ps-rows{display:grid;gap:10px;min-inline-size:0}
.aalam-ps-services .aalam-ps-option{
    position:relative;min-inline-size:0;margin:0;border:1px solid var(--aps-line);
    border-radius:12px;background:#fff;overflow-wrap:anywhere;
}
.aalam-ps-services .aalam-ps-option.is-selected{border-color:var(--aps-accent);background:var(--aps-soft)}
@supports selector(:has(*)){
    .aalam-ps-services .aalam-ps-option:has([data-aps-choice]:checked){
        border-color:var(--aps-accent);background:var(--aps-soft);
    }
}
.aalam-ps-services .aalam-ps-choice{
    display:grid;grid-template-areas:"control name price";
    grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;
    min-block-size:64px;margin:0;padding:13px 14px;cursor:pointer;
    color:inherit;text-transform:none;letter-spacing:normal;line-height:1.5;
}
.aalam-ps-services .aalam-ps-choice--image{
    grid-template-areas:"control image name price";
    grid-template-columns:22px 56px minmax(0,1fr) auto;
}
.aalam-ps-services input[type="radio"],.aalam-ps-services input[type="checkbox"]{
    grid-area:control;display:inline-block!important;position:static!important;opacity:1!important;
    inline-size:22px!important;block-size:22px!important;min-inline-size:22px;
    width:22px!important;height:22px!important;margin:0;appearance:auto;accent-color:var(--aps-accent);
    box-shadow:none;cursor:pointer;
}
.aalam-ps-services input:disabled{cursor:not-allowed}
.aalam-ps-services input:focus-visible,
.aalam-ps-services summary:focus-visible,
.aalam-ps-services button:focus-visible,
.aalam-ps-services a:focus-visible{
    outline:3px solid var(--aps-accent);outline-offset:3px;
}
.aalam-ps-services .aalam-ps-option:focus-within{border-color:var(--aps-accent)}
.aalam-ps-services .aalam-ps-image{
    grid-area:image;display:block;object-fit:contain;width:56px!important;height:56px!important;
    inline-size:56px;block-size:56px;max-inline-size:56px;border:0;border-radius:10px;background:#fff;
}
.aalam-ps-services .aalam-ps-label{grid-area:name;min-inline-size:0;overflow-wrap:anywhere}
.aalam-ps-services .aalam-ps-label strong{
    display:block;font-size:1em;line-height:1.5;font-weight:700;color:inherit;
}
.aalam-ps-services .aalam-ps-label small{display:block;font-size:.82em;line-height:1.6;color:var(--aps-muted)}
.aalam-ps-services .aalam-ps-selected-indicator{
    display:inline-flex;align-items:center;margin-block-start:4px;padding:1px 8px;
    border:1px solid #a4bbd8;border-radius:20px;color:#184b86;background:#edf4fc;font-size:12px;line-height:1.7;
}
.aalam-ps-services .aalam-ps-price{
    grid-area:price;display:block;min-inline-size:0;max-inline-size:16ch;text-align:end;
    color:inherit;font-weight:700;font-size:.98em;line-height:1.4;
}
.aalam-ps-services .aalam-ps-money{display:block;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.aalam-ps-services .aalam-ps-money .amount{font:inherit;color:inherit;white-space:normal;overflow-wrap:anywhere}
.aalam-ps-services .woocommerce-Price-currencySymbol{font-size:.86em;margin-inline:.2em}
.aalam-ps-services .aalam-ps-unit{display:block;margin-block-start:3px;color:var(--aps-muted);font-size:.74em;font-weight:400;line-height:1.45}
.aalam-ps-services .aalam-ps-terms{margin:0;padding:0;font-size:.88em;line-height:1.65}
.aalam-ps-services .aalam-ps-terms>summary{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    min-block-size:44px;margin:0;padding:9px 14px;list-style:none;cursor:pointer;
    color:var(--aps-accent);text-decoration:none;border-radius:0 0 11px 11px;
    border-block-start:1px solid var(--aps-line);
}
.aalam-ps-services .aalam-ps-terms>summary::-webkit-details-marker{display:none}
.aalam-ps-services .aalam-ps-terms>summary::after{
    content:"";display:block;inline-size:7px;block-size:7px;flex:0 0 7px;
    margin-inline:4px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;
    transform:rotate(45deg);
}
.aalam-ps-services[dir="rtl"] .aalam-ps-terms>summary::after{transform:rotate(-45deg)}
.aalam-ps-services .aalam-ps-terms[open]>summary::after{transform:rotate(225deg)}
.aalam-ps-services[dir="rtl"] .aalam-ps-terms[open]>summary::after{transform:rotate(135deg)}
.aalam-ps-services .aalam-ps-details-content{
    padding:4px 14px 14px;white-space:pre-line;overflow-wrap:anywhere;color:var(--aps-ink);
}
.aalam-ps-services .aalam-ps-details-content p{margin-block:7px}
.aalam-ps-services .aalam-ps-details-content ul,
.aalam-ps-services .aalam-ps-details-content ol{margin-block:8px;padding-inline-start:22px}
.aalam-ps-services .aalam-ps-details-content a{color:var(--aps-accent);text-decoration:underline}
.aalam-ps-services .aalam-ps-description{margin-block:5px 10px;color:var(--aps-muted)}
.aalam-ps-services .aalam-ps-start-policy{font-size:.94em}
.aalam-ps-services .aalam-ps-plan-group{
    min-inline-size:0;margin:0;padding:9px;border:1px solid var(--aps-line);
    border-radius:12px;display:grid;gap:8px;
}
.aalam-ps-services .aalam-ps-plan-group>legend{
    float:none;inline-size:auto;max-inline-size:100%;padding-inline:7px;
    margin:0;color:var(--aps-muted);font-size:.88em;font-weight:600;line-height:1.5;
}
.aalam-ps-services .aalam-ps-none{
    display:flex;align-items:center;gap:12px;min-block-size:44px;margin:0;
    padding:8px 10px;cursor:pointer;font-size:.9em;color:var(--aps-muted);
}
.aalam-ps-services .aalam-ps-status{
    margin:10px 0 0;padding:8px 11px;border-radius:8px;background:var(--aps-soft);
    color:var(--aps-muted);font-size:.88em;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere;
}
.aalam-ps-services .aalam-ps-status:empty{display:none}
.aalam-ps-services .aalam-ps-error{background:#fff4f2;color:#8d2630;border-inline-start:3px solid #a32a35}
.aalam-ps-services[data-aps-state="offline"] .aalam-ps-status{background:#fff8e8;color:#72500c}
.aalam-ps-services .aalam-ps-total{
    display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;
    margin-block-start:12px;padding:10px 12px;border-radius:10px;background:var(--aps-soft);
    font-size:.92em;line-height:1.65;color:var(--aps-ink);
}
.aalam-ps-services .aalam-ps-total:empty{display:none}
.aalam-ps-services .aalam-ps-total-value{font-weight:700;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.aalam-ps-services .aalam-ps-actions{display:flex;flex-wrap:wrap;gap:8px}
.aalam-ps-services .aalam-ps-retry{
    margin-block-start:10px;min-block-size:44px;padding:9px 14px;
    border:1px solid var(--aps-accent);border-radius:9px;background:var(--aps-accent);
    color:#fff;font:inherit;font-size:.87em;line-height:1.45;font-weight:600;
    cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none;
}
.aalam-ps-services .aalam-ps-secondary{background:#fff;color:var(--aps-accent)}
.aalam-ps-services button:disabled{opacity:.65;cursor:wait}
.aalam-ps-services[data-aps-state="loading"] .aalam-ps-choice{cursor:progress}
.aalam-ps-services noscript p{font-size:.85em;line-height:1.6;margin-block:9px 0}
@media(hover:hover){
    .aalam-ps-services .aalam-ps-option:hover{border-color:#8da5c4}
    .aalam-ps-services .aalam-ps-option.is-selected:hover{border-color:var(--aps-accent)}
    .aalam-ps-services .aalam-ps-terms>summary:hover{text-decoration:underline}
}
/* Motion has a finite duration and no frame loop, blur, shadow animation or permanent will-change. */
@media(prefers-reduced-motion:no-preference){
    .aalam-ps-services .aalam-ps-option{animation:aalam-ps-enter 180ms ease-out;}
    .aalam-ps-services .aalam-ps-terms[open] .aalam-ps-details-content{animation:aalam-ps-enter 140ms ease-out;}
    .aalam-ps-services .aalam-ps-terms>summary::after{transition:transform 140ms ease-out;}
    .aalam-ps-services .aalam-ps-standard-note__tooltip:not([hidden]){animation:aalam-ps-enter 140ms ease-out;}
}
@keyframes aalam-ps-enter{
    from{opacity:.65;transform:translateY(3px)}
    to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
    .aalam-ps-services,.aalam-ps-services *,.aalam-ps-services *::after{
        animation:none!important;transition:none!important;scroll-behavior:auto!important;
    }
}
@media(max-width:520px){
    .aalam-ps-services{padding:10px;border-radius:13px}
    .aalam-ps-services .aalam-ps-standard-note{padding:9px 10px}
    .aalam-ps-services .aalam-ps-standard-note__row{align-items:center}
    .aalam-ps-services .aalam-ps-choice{gap:9px;padding:11px 10px}
    .aalam-ps-services .aalam-ps-choice--image{grid-template-columns:22px 44px minmax(0,1fr) auto}
    .aalam-ps-services .aalam-ps-image{width:44px!important;height:44px!important;inline-size:44px;block-size:44px}
    .aalam-ps-services .aalam-ps-price{font-size:.91em;max-inline-size:13ch}
    .aalam-ps-services .aalam-ps-terms>summary{padding-inline:10px}
    .aalam-ps-services .aalam-ps-details-content{padding-inline:10px}
}
@media(max-width:360px){
    .aalam-ps-services .aalam-ps-choice{
        grid-template-areas:"control name" "control price";grid-template-columns:22px minmax(0,1fr);
    }
    .aalam-ps-services .aalam-ps-choice--image{
        grid-template-areas:"control image name" "control image price";grid-template-columns:22px 44px minmax(0,1fr);
    }
    .aalam-ps-services .aalam-ps-price{text-align:start;max-inline-size:none}
}
@media(forced-colors:active){
    .aalam-ps-services,.aalam-ps-services .aalam-ps-option{border-color:CanvasText}
    .aalam-ps-services .aalam-ps-option.is-selected{outline:2px solid Highlight;outline-offset:-2px}
    .aalam-ps-services input:focus-visible,.aalam-ps-services summary:focus-visible,
    .aalam-ps-services button:focus-visible{outline-color:Highlight}
}

/* Only plugin-identified service rows, never all quantity controls.
   :has protects freshly inserted theme fragments before enhancement events. */
.aalam-ps-child-row div.quantity,
.cart_item:has([data-aps-linked-quantity]) div.quantity,
.mini_cart_item:has([data-aps-linked-quantity]) div.quantity { display:none !important; }
[data-aps-linked-quantity] { display:inline; font-size:.92em; }
.aalam-ps-linked-quantity { font-variant-numeric:tabular-nums; }
