/* EU legal guarantee notice. Never alter the graphic itself (colours, crop, filters). */
.po-notice { --po-n-line: var(--wp--preset--color--accent-6, #dbe3ee); --po-n-accent: var(--wp--preset--color--primary, #054e9e); }
.po-notice__preview { display: block; padding: 0; border: 0; background: none; cursor: zoom-in; }
.po-notice__preview img { display: block; width: 100%; height: auto; }
.po-notice--card {
    display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; align-items: center;
    margin-top: 1.25rem; padding: .9rem; border: 1px solid var(--po-n-line); border-radius: 14px; background: #fff;
}
.po-notice--card .po-notice__preview { border: 1px solid var(--po-n-line); border-radius: 6px; overflow: hidden; }
.po-notice__text { display: grid; gap: .3rem; font-size: .85rem; line-height: 1.45; }
.po-notice__text strong { font-size: .95rem; }
.po-notice__more {
    justify-self: start; text-align: left; font: inherit; font-weight: 700; color: var(--po-n-accent); background: none; border: 0; padding: 0;
    cursor: pointer; text-decoration: underline;
}
.po-notice--checkout { display: grid; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--po-n-line); font-size: .9rem; }
.po-notice--checkout .po-notice__preview { border: 1px solid var(--po-n-line); border-radius: 6px; overflow: hidden; }

.po-notice-dialog {
    width: min(640px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 0; border: 0; border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .3); overflow: auto;
}
.po-notice-dialog::backdrop { background: rgba(3, 20, 45, .55); }
.po-notice-dialog__head { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1rem; background: #fff; border-bottom: 1px solid var(--wp--preset--color--accent-6, #dbe3ee); }
.po-notice-dialog__head h2 { margin: 0; font-size: 1.05rem; }
.po-notice-dialog__close { font-size: 1.6rem; line-height: 1; width: 2.4rem; height: 2.4rem; border: 0; border-radius: 50%; background: var(--wp--preset--color--accent-5, #f4f7fb); cursor: pointer; }
.po-notice-dialog img { display: block; width: 100%; height: auto; }
.po-notice-dialog__link { margin: 0; padding: .8rem 1rem 1rem; font-size: .9rem; }
.po-notice-dialog__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Withdrawal function (§ 356a BGB) */
.po-withdraw-button {
    display: inline-block; font-weight: 700; text-decoration: none !important; border-radius: 999px; padding: .55rem 1.1rem;
    background: #ffd84d; color: #1b1b1b !important; border: 2px solid #ffd84d;
}
.po-withdraw-button:hover, .po-withdraw-button:focus-visible { background: #fff; border-color: #ffd84d; }
.po-wd { max-width: 40rem; }
.po-wd__form { display: grid; gap: 1rem; }
.po-wd__row { display: grid; gap: .35rem; margin: 0; border: 0; padding: 0; }
.po-wd__row label, .po-wd__row legend { font-weight: 600; }
.po-wd__row input[type=text], .po-wd__row input:not([type]), .po-wd__row input[type=email], .po-wd__row textarea {
    font: inherit; padding: .7rem .9rem; border: 1.5px solid var(--wp--preset--color--accent-6, #dbe3ee); border-radius: 10px; width: 100%; box-sizing: border-box;
}
.po-wd__row fieldset label, fieldset.po-wd__row > label { font-weight: 400; display: flex; gap: .5rem; align-items: center; }
.po-wd__items-label { margin-top: .5rem; font-weight: 600 !important; }
.po-wd__row small { color: var(--wp--preset--color--accent-4, #5b6478); }
.po-wd__field-error, .po-wd__error { color: #b3261e; margin: 0; }
.po-wd__error { background: #fdecea; padding: .8rem 1rem; border-radius: 10px; }
.po-wd__summary { display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1.25rem; background: var(--wp--preset--color--accent-5, #f4f7fb); border-radius: 12px; padding: 1rem 1.25rem; margin: 0; }
.po-wd__summary dt { color: var(--wp--preset--color--accent-4, #5b6478); margin: 0; }
.po-wd__summary dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.po-wd__actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.po-wd__next, .po-wd__confirm {
    font: inherit; font-weight: 800; border: 0; border-radius: 999px; padding: .9rem 1.8rem; cursor: pointer;
    background: var(--wp--preset--color--primary, #054e9e); color: #fff; justify-self: start;
}
.po-wd__back { font: inherit; background: none; border: 0; text-decoration: underline; cursor: pointer; color: inherit; }
.po-wd--done { background: #eaf6ec; border-left: 4px solid #1e7e34; border-radius: 10px; padding: 1rem 1.25rem; }
.po-wd__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Checkout: full notice before ordering, click to enlarge.
   Wide: in the widened order summary. Narrow: main column above the terms. */
.po-notice--checkout-main, .po-notice--checkout-side { display: grid; gap: .5rem; font-size: .9rem; }
.po-notice--checkout-main { margin: 1.5rem 0 .5rem; padding: 1.1rem; border: 1px solid var(--po-n-line); border-radius: 14px; background: #fff; }
.po-notice--checkout-side { margin-top: 1rem; padding: 1rem 16px 0; border-top: 1px solid var(--po-n-line); }
.po-notice--checkout-main .po-notice__full, .po-notice--checkout-side .po-notice__full { display: block; border: 1px solid var(--po-n-line); border-radius: 6px; overflow: hidden; cursor: zoom-in; }
.po-notice--checkout-main .po-notice__full { max-width: 380px; }
.po-notice--checkout-main img, .po-notice--checkout-side img { display: block; width: 100%; height: auto; }
.po-notice--checkout-main .po-notice__links, .po-notice--checkout-side .po-notice__links { margin: 0; }
.wc-block-components-sidebar-layout.is-medium .po-notice--checkout-main,
.wc-block-components-sidebar-layout.is-large .po-notice--checkout-main { display: none; }
.wc-block-components-sidebar-layout:not(.is-medium):not(.is-large) .po-notice--checkout-side { display: none; }
