.woolentor-product-image{
    position:relative;
}

.cdc-cod-target{
    position:relative;
}

.cdc-cod-badge{
    display:inline-flex;
    align-items:center;
    background:linear-gradient(135deg,#facc15 0%,#f59e0b 100%);
    color:#1f2937;
    padding:7px 12px;
    border-radius:25px;
    font-size:11px;
    font-weight:700;
    line-height:1;
    box-shadow:0 4px 12px rgba(0,0,0,.22);
    pointer-events:none;
    margin-top:8px;
    border:1px solid rgba(255,255,255,.35);
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, background-image .2s ease;
}

.woolentor-product-image .cdc-cod-badge,
.cdc-cod-target .cdc-cod-badge{
    position:absolute;
    left:10px;
    bottom:10px;
    z-index:100;
    margin-top:0;
}

.product:hover .cdc-cod-badge,
.product:focus-within .cdc-cod-badge,
.woolentor-product-item:hover .cdc-cod-badge,
.woolentor-product-item:focus-within .cdc-cod-badge,
.woolentor-product-card:hover .cdc-cod-badge,
.woolentor-product-card:focus-within .cdc-cod-badge,
.woolentor-product-image:hover .cdc-cod-badge,
.woolentor-product-image:focus-within .cdc-cod-badge,
.cdc-cod-target:hover .cdc-cod-badge,
.cdc-cod-target:focus-within .cdc-cod-badge,
a:hover .cdc-cod-badge,
a:focus .cdc-cod-badge{
    background:linear-gradient(135deg,#fde047 0%,#f97316 100%) !important;
    box-shadow:0 8px 18px rgba(249,115,22,.35) !important;
    filter:saturate(1.08) !important;
    transform:translateY(-2px) scale(1.03) !important;
}

body.single-product div.product form.cart{
    background:linear-gradient(180deg,#fff7e6 0%,#ffffff 100%);
    border:1px solid #fed7aa;
    border-radius:18px;
    padding:16px;
    box-shadow:0 10px 30px rgba(249,115,22,.10);
}

.cdc-single-primary-actions{
    display:flex;
    align-items:stretch;
    gap:12px;
    margin:0 0 14px;
}

.cdc-single-buy-callout{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0;
    padding:12px 18px;
    border-radius:14px;
    background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);
    color:#fff;
    border:none;
    cursor:pointer;
    width:auto;
    flex:1 1 0;
    font-size:15px;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 10px 25px rgba(249,115,22,.28);
}

.cdc-single-buy-callout:hover,
.cdc-single-buy-callout:focus{
    background:linear-gradient(135deg,#fb923c 0%,#ea580c 100%);
    box-shadow:0 14px 28px rgba(249,115,22,.34);
    transform:translateY(-1px);
}

.cdc-hidden-buy-now{
    display:none !important;
}

.cdc-hidden-buy-now *{
    display:none !important;
}

body.single-product div.product form.cart .single_add_to_cart_button,
body.single-product div.product .summary .single_add_to_cart_button,
body.single-product div.product .summary .button.alt,
body.single-product div.product .summary [name="add-to-cart"]{
    min-height:52px;
    padding:12px 22px;
    border-radius:14px;
    font-weight:800;
    box-shadow:0 12px 26px rgba(249,115,22,.22);
}

/* Controlo de quantidade mais compacto no produto individual. */
body.single-product div.product form.cart .quantity{
    display:inline-flex !important;
    align-items:stretch !important;
    width:auto !important;
    max-width:122px !important;
    margin-right:10px !important;
    gap:0 !important;
}

body.single-product div.product form.cart .quantity.cdc-quantity-enhanced::before,
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced::after{
    content:none !important;
    display:none !important;
}

body.single-product div.product form.cart .quantity.cdc-quantity-enhanced{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.single-product div.product form.cart .quantity.cdc-quantity-enhanced > .minus,
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced > .plus,
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced > .qtyminus,
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced > .qtyplus,
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced > [class*="quantity-minus"]:not(.cdc-quantity-minus),
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced > [class*="quantity-plus"]:not(.cdc-quantity-plus){
    display:none !important;
}

body.single-product div.product form.cart .quantity .qty{
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:4px !important;
    text-align:center !important;
}

body.single-product div.product form.cart .quantity .minus,
body.single-product div.product form.cart .quantity .plus,
body.single-product div.product form.cart .quantity .qtyminus,
body.single-product div.product form.cart .quantity .qtyplus,
body.single-product div.product form.cart .quantity [class*="quantity-minus"],
body.single-product div.product form.cart .quantity [class*="quantity-plus"]{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
}

body.single-product div.product form.cart .quantity .cdc-quantity-button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #cbd5e1 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#111827 !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer;
}

body.single-product div.product form.cart .quantity .cdc-quantity-minus{
    border-radius:8px 0 0 8px !important;
    border-right:0 !important;
}

body.single-product div.product form.cart .quantity .cdc-quantity-plus{
    border-radius:0 8px 8px 0 !important;
    border-left:0 !important;
}

body.single-product div.product form.cart .quantity.cdc-quantity-enhanced .qty{
    border-radius:0 !important;
    background-image:none !important;
    box-shadow:none !important;
    appearance:textfield;
    -moz-appearance:textfield;
}

body.single-product div.product form.cart .quantity.cdc-quantity-enhanced .qty::-webkit-inner-spin-button,
body.single-product div.product form.cart .quantity.cdc-quantity-enhanced .qty::-webkit-outer-spin-button{
    margin:0;
    -webkit-appearance:none;
}

.cdc-single-trust-box{
    margin-top:18px;
    padding:18px 18px 16px;
    border-radius:22px;
    background:linear-gradient(135deg,#111827 0%,#1f2937 100%);
    color:#fff;
    box-shadow:0 18px 35px rgba(15,23,42,.22);
}

.cdc-single-continue-shopping{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:12px 18px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#fff;
    color:#0f172a;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(15,23,42,.08);
    transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    flex:1 1 0;
    text-align:center;
}

.cdc-single-continue-shopping:hover,
.cdc-single-continue-shopping:focus{
    background:#f8fafc;
    box-shadow:0 10px 20px rgba(15,23,42,.12);
    transform:translateY(-1px);
}

.cdc-single-trust-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    font-size:18px;
    font-weight:800;
}

.cdc-single-trust-list{
    list-style:none;
    margin:0;
    padding:0;
}

.cdc-single-trust-list li{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 0;
    font-size:15px;
    font-weight:600;
}

.cdc-single-trust-icon{
    width:22px;
    text-align:center;
    flex:0 0 22px;
}

.cdc-checkout-mode{
    margin:0 0 18px;
    padding:16px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#fff;
}

.cdc-checkout-mode__title{
    margin:0 0 12px;
    font-size:18px;
    line-height:1.3;
}

.cdc-checkout-mode__option{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:10px 0;
    cursor:pointer;
}

.cdc-checkout-mode__option input{
    margin-top:4px;
}

.cdc-checkout-mode__option span{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.cdc-checkout-mode__option small{
    color:#6b7280;
    font-size:12px;
    line-height:1.45;
}

.cdc-supplier-groups{
    margin:0 0 18px;
}

.cdc-supplier-groups__title{
    margin:0 0 10px;
    font-size:18px;
    line-height:1.3;
}

.cdc-supplier-groups__intro{
    margin:0 0 14px;
    color:#4b5563;
    font-size:13px;
    line-height:1.55;
}

.cdc-current-payment-heading{
    margin:0 0 18px;
    padding:16px 18px;
    border:1px solid #fed7aa;
    border-radius:18px;
    background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);
    box-shadow:0 10px 24px rgba(249,115,22,.10);
}

.cdc-current-payment-heading--inline{
    margin:0 0 14px;
}

.cdc-payment-methods-banner{
    margin:0 0 14px;
}

.cdc-current-payment-heading--payment-box{
    margin:0;
    border-width:2px;
}

.cdc-current-payment-heading__eyebrow{
    margin:0 0 6px;
    color:#c2410c;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.cdc-current-payment-heading__title{
    display:block;
    margin:0 0 6px;
    font-size:18px;
    line-height:1.3;
    color:#9a3412;
    font-weight:800;
}

.cdc-current-payment-heading__text{
    margin:0;
    color:#7c2d12;
    font-size:13px;
    line-height:1.55;
}

.cdc-current-payment-total{
    margin:0 0 18px;
    padding:16px 18px;
    border:1px solid #fed7aa;
    border-radius:18px;
    background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);
    box-shadow:0 10px 24px rgba(249,115,22,.10);
}

.cdc-payment-methods-banner{
    margin:0 0 14px;
}

.cdc-current-payment-total--payment-box{
    margin:0;
}

.cdc-current-payment-total__eyebrow{
    margin:0 0 6px;
    color:#000;
    font-size:15px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.cdc-current-payment-total__amount{
    margin:0 0 6px;
    color:#9a3412;
    font-size:28px;
    line-height:1.15;
    font-weight:800;
}

.cdc-current-payment-total__amount .amount{
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
}

.cdc-current-payment-total__text{
    margin:0;
    color:#7c2d12;
    font-size:13px;
    line-height:1.55;
}

.cdc-supplier-card{
    margin-bottom:14px;
    padding:16px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#fff;
}

.cdc-supplier-card__header,
.cdc-supplier-card__footer{
    display:flex;
    justify-content:space-between;
    gap:12px;
}

.cdc-supplier-card__header{
    margin-bottom:12px;
    align-items:center;
}

.cdc-supplier-card__header span,
.cdc-supplier-card__footer span{
    color:#6b7280;
    font-size:12px;
}

.cdc-supplier-card__items{
    list-style:none;
    margin:0 0 12px;
    padding:0;
}

.cdc-supplier-card__items li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:7px 0;
    border-bottom:1px dashed #e5e7eb;
    font-size:14px;
}

.cdc-supplier-card__items li:last-child{
    border-bottom:none;
}

.cdc-supplier-card__footer{
    padding-top:4px;
    align-items:flex-end;
}

.cdc-supplier-card__item-main{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.cdc-supplier-card__thumb img{
    display:block;
    width:44px;
    height:44px;
    object-fit:cover;
    border-radius:10px;
    border:1px solid #e5e7eb;
}

.cdc-supplier-card__name{
    display:block;
}

.cdc-supplier-card__qty{
    flex:0 0 auto;
    font-weight:700;
    color:#111827;
}

.cdc-supplier-card__note{
    margin-top:12px;
    padding:10px 12px;
    border-radius:12px;
    background:#f8fafc;
    color:#475569;
    font-size:12px;
    line-height:1.5;
}

.cdc-supplier-card__note--cod{
    background:#ecfdf5;
    color:#166534;
    border:1px solid #bbf7d0;
}

.cdc-next-supplier-notice{
    margin:18px 0;
    padding:18px;
    border:1px solid #fed7aa;
    border-radius:18px;
    background:linear-gradient(180deg,#fff7ed 0%,#ffffff 100%);
    color:#7c2d12;
}

.cdc-next-supplier-notice p{
    margin:0 0 10px;
    line-height:1.55;
}

.cdc-next-supplier-notice p:last-child{
    margin-bottom:0;
}

.cdc-payment-sequence-list{
    margin:10px 0 0;
    padding-left:18px;
}

.cdc-payment-sequence-list li{
    margin:6px 0;
    line-height:1.5;
}

.cdc-payment-sequence-list a{
    color:#9a3412;
    font-size:16px;
    font-weight:800;
    text-decoration:underline;
}

.cdc-payment-sequence-help{
    margin-top:12px !important;
    font-size:13px;
}

/* A sequência já tem a sua própria lista; não repetir o último pagamento. */
body.cdc-supplier-sequence-received .woocommerce-order-overview,
body.cdc-supplier-sequence-received .woocommerce-order-details,
body.cdc-supplier-sequence-received .woocommerce-customer-details,
body.cdc-supplier-sequence-received .woocommerce-order-details__title,
body.cdc-supplier-sequence-received .woocommerce-column__title,
body.cdc-supplier-sequence-received .woocommerce-thankyou-order-details,
body.cdc-supplier-sequence-received h2.woocommerce-order-details__title{
    display:none !important;
}

.cdc-checkout-product{
    display:flex;
    align-items:center;
    gap:12px;
}

.cdc-checkout-product__thumb{
    flex:0 0 54px;
}

.cdc-checkout-product__image{
    display:block;
    width:54px !important;
    height:54px !important;
    margin:0 !important;
    border:1px solid #e5e7eb;
    border-radius:10px;
    object-fit:cover;
}

.cdc-checkout-product__name{
    min-width:0;
}

/* Opções de conta e de morada de envio no checkout. */
form.checkout #createaccount,
form.checkout #ship-to-different-address-checkbox{
    width:23px !important;
    min-width:23px !important;
    height:23px !important;
    margin:0 10px 0 0 !important;
    accent-color:#ea580c;
    vertical-align:middle;
}

form.checkout .create-account > label,
form.checkout #ship-to-different-address label{
    color:#000 !important;
    font-size:17px !important;
    font-weight:800 !important;
    line-height:1.45 !important;
    cursor:pointer;
}

form.checkout .create-account > label *,
form.checkout #ship-to-different-address label *{
    color:#000 !important;
}

form.checkout #ship-to-different-address label span:empty::after{
    content:"Enviar para uma morada diferente?";
    color:#000;
}

/* Mesmo tamanho dos círculos usados nos métodos de pagamento. */
form.checkout .cdc-checkout-mode__option > input[type="radio"]{
    width:21px !important;
    min-width:21px !important;
    height:21px !important;
    margin:2px 10px 0 0 !important;
    accent-color:#ea580c;
    flex:0 0 21px;
}

.cdc-current-payment-total__eyebrow,
.cdc-current-payment-total__eyebrow span{
    text-transform:none !important;
}

.cdc-current-payment-total__prefix{
    color:#000 !important;
}

.cdc-current-payment-total__group{
    color:#c2410c !important;
}

form.checkout .create-account,
form.checkout #ship-to-different-address{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

/* A criação/associação da conta é automática; não mostrar a pergunta. */
form.checkout .create-account{
    display:none !important;
}

.cdc-final-orders-notice{
    padding:18px 20px;
    border:2px solid #fb923c;
    border-radius:16px;
    background:#fff7ed;
    color:#111827;
}

.cdc-final-orders-notice p{
    color:#111827;
    font-size:16px;
    line-height:1.55;
}

.cdc-final-orders-notice__title{
    margin-top:0 !important;
    font-size:19px !important;
}

.cdc-final-orders-notice a{
    color:#9a3412;
    text-decoration:underline;
}

.cdc-final-orders-notice__actions{
    margin:18px 0 0 !important;
}

.cdc-final-orders-notice__button{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:11px 22px !important;
    border-radius:10px !important;
    background:#ea580c !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

.cdc-final-orders-notice__button:hover,
.cdc-final-orders-notice__button:focus{
    background:#c2410c !important;
    color:#fff !important;
}

body.cdc-final-order-banner-visible .woocommerce-thankyou-order-received,
body.cdc-final-order-banner-visible .woocommerce-order-overview,
body.cdc-final-order-banner-visible .woocommerce-order-details,
body.cdc-final-order-banner-visible .woocommerce-customer-details,
body.cdc-final-order-banner-visible .woocommerce-order-details__title,
body.cdc-final-order-banner-visible .woocommerce-column__title,
body.woocommerce-order-received.cdc-final-order-banner-visible h1.entry-title,
body.woocommerce-order-received.cdc-final-order-banner-visible .page-header .page-title{
    display:none !important;
}

/* Opções dos métodos de pagamento. */
form.checkout #payment ul.payment_methods > li{
    padding-top:7px;
    padding-bottom:7px;
}

form.checkout #payment ul.payment_methods > li > input[type="radio"]{
    width:21px !important;
    min-width:21px !important;
    height:21px !important;
    margin-right:10px !important;
    accent-color:#ea580c;
    vertical-align:middle;
}

form.checkout #payment ul.payment_methods > li > label{
    color:#1f2937 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
    cursor:pointer;
}

form.checkout #payment .payment_box{
    font-size:15px !important;
    line-height:1.55 !important;
}

/* Aceitação dos termos e condições. */
form.checkout #terms,
form.checkout input[name="terms"]{
    width:23px !important;
    min-width:23px !important;
    height:23px !important;
    margin:0 10px 0 0 !important;
    accent-color:#ea580c;
    vertical-align:middle;
}

form.checkout .woocommerce-terms-and-conditions-checkbox-text,
form.checkout .woocommerce-terms-and-conditions-checkbox-text *,
form.checkout .validate-required label.woocommerce-form__label-for-checkbox,
form.checkout .validate-required label.woocommerce-form__label-for-checkbox *{
    color:#000 !important;
}

form.checkout .woocommerce-terms-and-conditions-link,
form.checkout .woocommerce-terms-and-conditions-checkbox-text a,
form.checkout .woocommerce-terms-and-conditions-wrapper a,
form.checkout #terms_field a,
form.checkout .woocommerce-terms-and-conditions-checkbox-text .required,
form.checkout .woocommerce-terms-and-conditions-checkbox-text abbr.required,
form.checkout .validate-required label.woocommerce-form__label-for-checkbox .required{
    color:#dc2626 !important;
}

@media (max-width:520px){
    .cdc-single-primary-actions{
        flex-direction:column;
    }
}

@media (max-width:767px){
    .cdc-checkout-product__thumb{
        flex-basis:46px;
    }

    .cdc-checkout-product__image{
        width:46px !important;
        height:46px !important;
    }
}
