@charset "utf-8";
:root {
    /* Tapi PDP TAKEAWAY v1 Variables */
    --pdp-takeaway-font-family: var(--tapi-font-family, 'Gotham Rounded SSm A', 'Gotham Rounded SSm B', 'Verdana', sans-serif);
    --pdp-takeaway-color-main: var(--tapi-color-steel, #445365);
    --pdp-takeaway-color-white: var(--tapi-color-white, #ffffff);
    --pdp-takeaway-color-yella: var(--tapi-color-yella, #f7b61f);
    --pdp-takeaway-color-grey: var(--tapi-color-cloud-grey, #d2e1ef);
    --pdp-takeaway-color-space-blue: var(--tapi-color-space-blue, #24315a);
    --pdp-takeaway-color-pantone-299: var(--tapi-color-pantone-299, #249fda);
    --pdp-takeaway-color-pantone-192: var(--tapi-color-pantone-192, #e3023a);
    --pdp-takeaway-color-pantone-363: var(--tapi-color-pantone-363, #4c8932);
    --pdp-takeaway-color-grey-lightest: #f8f8f8;
    --pdp-takeaway-color-grey-lighter: #f5f5f5;
    --pdp-takeaway-color-grey-light: #eee;
    --pdp-takeaway-color-info-light: #f0f8ff;
    --pdp-takeaway-color-grey-medium: #8e98a1;
    --pdp-takeaway-color-white-grey: var(--tapi-color-white-grey, #eceeef);

    /* Backgrounds */
    --pdp-takeaway-color-container-bg: var(--pdp-takeaway-color-grey-lightest, #f8f8f8);
    --pdp-takeaway-color-placeholder-bg: var(--pdp-takeaway-color-grey-light, #eee);
    --pdp-takeaway-color-offer-bg: var(--pdp-takeaway-color-info-light, #f0f8ff);
    --pdp-takeaway-color-item-cart-bg: var(--pdp-takeaway-color-white, #ffffff);
    --pdp-takeaway-color-item-removed-bg: #edf4ea;

    /* Borders & Shadows */
    --pdp-takeaway-color-border-light: var(--pdp-takeaway-color-grey-light, #eee);
    --pdp-takeaway-color-border-lighter: var(--pdp-takeaway-color-grey-lighter, #f5f5f5);
    --pdp-takeaway-color-item-removed-border: var(--pdp-takeaway-color-pantone-363, #4c8932);
    --pdp-takeaway-color-item-cart-border-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

    /* Buttons */
    --pdp-takeaway-color-btn-bg: #d9dde0;
    --pdp-takeaway-color-btn-bg-hover: #b8cddd;
    --pdp-takeaway-color-btn-bg-active: #a4bccc;
    --pdp-takeaway-color-btn-bg-primary: var(--pdp-takeaway-color-yella, #f7b61f);
    --pdp-takeaway-color-btn-bg-primary-hover: #e6a800;
    --pdp-takeaway-color-btn-bg-primary-active: #d49700;
    --pdp-takeaway-color-btn-text: var(--pdp-takeaway-color-main, #445365);
    --pdp-takeaway-color-btn-text-hover: var(--pdp-takeaway-color-space-blue, #24315a);
    --pdp-takeaway-color-btn-text-primary: var(--pdp-takeaway-color-space-blue, #24315a);
    --pdp-takeaway-color-btn-text-primary-hover: var(--pdp-takeaway-color-space-blue, #24315a);

    /* Text */
    --pdp-takeaway-color-item-removed-text: var(--pdp-takeaway-color-pantone-363, #4c8932);

    /* --- Sizing & Spacing --- */
    --pdp-takeaway-border-radius: 15px;
    --pdp-takeaway-font-size-small: 14px;
    --pdp-takeaway-font-size-base: 16px;
    --pdp-takeaway-font-size-medium-alt: 17px;
    --pdp-takeaway-font-size-medium: 18px;
    --pdp-takeaway-font-size-xxlarge: 37px;
    --pdp-takeaway-font-weight-base: 400;
    --pdp-takeaway-font-weight-medium: 500;
    --pdp-takeaway-font-weight-bold: 700;
    --pdp-takeaway-line-height-small: 1.2;
    --pdp-takeaway-line-height-base: 1.5;

    /* --- Responsive Font Sizes --- */
    --pdp-takeaway-font-size-title-clamp: clamp(26px, 5vw, 37px);
    --pdp-takeaway-font-size-item-name-clamp: clamp(16px, 2.5vw, 18px);
    --pdp-takeaway-font-size-item-price-clamp: clamp(15px, 2.5vw, 17px);
    --pdp-takeaway-font-size-base-clamp: clamp(15px, 2vw, 16px); /* For base text, buttons, undo icon */
    --pdp-takeaway-font-size-small-clamp: clamp(13px, 1.5vw, 14px); /* For offer text, specs, perfect for title */
    --pdp-takeaway-font-size-smaller-clamp: clamp(12px, 1.5vw, 13px); /* For icon group text, remove button icon */
    --pdp-takeaway-font-size-notification-clamp: clamp(14px, 1.8vw, 15px); /* For notification text, summary row */
    --pdp-takeaway-font-size-notification-icon-clamp: clamp(17px, 2vw, 18px); /* Notification main icon, slightly larger */
    --pdp-takeaway-font-size-total-clamp: clamp(17px, 2.2vw, 18px); /* For summary total */
    --pdp-takeaway-font-size-continue-count-clamp: clamp(18px, 2.5vw, 20px); /* Continue browsing count */
    --pdp-takeaway-font-size-faq-title-clamp: clamp(22px, 2.5vw, 23px); /* FAQ title */
    --pdp-takeaway-font-size-faq-item-header-clamp: clamp(13px, 1.5vw, 18px); /* FAQ item header */
    --pdp-takeaway-font-size-faq-item-descr-clamp: clamp(12px, 1.5vw, 16px); /* FAQ item text */
    --pdp-takeaway-font-size-specs-list-clamp: clamp(12px, 1.5vw, 14px);

    /* --- Items Removal Button --- */
    --pdp-takeaway-remove-btn-size: 28px;
    --pdp-takeaway-remove-btn-icon-size: 16px;
    --pdp-takeaway-remove-btn-icon-color: var(--pdp-takeaway-color-grey-light);
    --pdp-takeaway-remove-btn-bg: #707070;
    --pdp-takeaway-remove-btn-bg-hover: var(--pdp-takeaway-color-main, #445365);
    --pdp-takeaway-remove-btn-bg-active: var(--tapi-color-space-blue, #24315a);
}

/* PDP: Takeaway */
.pdp-takeaway-quantity-calculator-section h3 {
    margin-bottom: 1em;
}

.pdp-takeaway-store-locator {
    margin-top: 20px;
    margin-bottom: 20px;
}

.pdp-takeaway-grid-row-two-cols {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 0;
    margin-left: -15px;
    margin-right: -15px;
    align-items: start;
}

.pdp-takeaway-grid-row-two-cols > * {
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
}

.pdp-takeaway-desc-paragraph {
    margin: 0;
}

.pdp-takeaway-desc-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
    white-space: nowrap;
}

.pdp-takeaway-desc-rest {
    display: none;
}

.pdp-takeaway-desc-label {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.pdp-takeaway-desc-label-less {
    display: none;
}

.pdp-takeaway-desc-toggle:checked ~ .pdp-takeaway-desc-paragraph .pdp-takeaway-desc-rest {
    display: inline;
}

.pdp-takeaway-desc-toggle:checked ~ .pdp-takeaway-desc-paragraph .pdp-takeaway-desc-ellipsis {
    display: none;
}

.pdp-takeaway-desc-toggle:checked ~ .pdp-takeaway-desc-paragraph .pdp-takeaway-desc-label-more {
    display: none;
}

.pdp-takeaway-desc-toggle:checked ~ .pdp-takeaway-desc-paragraph .pdp-takeaway-desc-label-less {
    display: inline;
}

.pdp-takeaway-desc-hide-mobile {
    display: none;
}

.pdp-takeaway-desc-toggle:checked ~ .pdp-takeaway-desc-paragraph .pdp-takeaway-desc-hide-mobile {
    display: inline;
}

@media (min-width: 992px) {
    .pdp-takeaway-desc-hide-mobile {
        display: inline;
    }

    .pdp-takeaway-grid-row-two-cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pdp-takeaway-grid-row-two-cols > :only-child {
        grid-column: 1 / -1;
    }
}

.takeaway-store-locator {
    margin: 15px 0;
}

.takeaway-store-locator .takeaway-form-group {
    margin-bottom: 15px;
    position: relative;
}

.takeaway-store-locator .takeaway-form-label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 14px;
}

.takeaway-store-locator .takeaway-input-group {
    display: flex;
    position: relative;
}

.takeaway-store-locator .takeaway-input {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px 0 0 4px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.takeaway-store-locator .takeaway-input:focus {
    border-color: #f5c518;
}

.takeaway-store-locator .takeaway-search-btn {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-left: none;
    border-radius: 0 4px 4px 0;
    background: #f5f5f5;
    cursor: pointer;
    transition: background 0.2s;
}

.takeaway-store-locator .takeaway-search-btn:hover {
    background: #e8e8e8;
}

.takeaway-store-locator .takeaway-suggestions {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    overflow-y: auto;
}

.takeaway-store-locator .takeaway-suggestions-loading {
    padding: 15px;
    text-align: center;
}

.takeaway-store-locator .takeaway-suggestions-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.takeaway-store-locator .takeaway-suggestion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
    transition: background 0.15s;
}

.takeaway-store-locator .takeaway-suggestion:last-child {
    border-bottom: none;
}

.takeaway-store-locator .takeaway-suggestion:hover {
    background: #f9f9f9;
}

.takeaway-store-locator .takeaway-suggestion-text {
    font-size: 14px;
    color: #333;
}

.takeaway-store-locator .takeaway-suggestion-desc {
    font-size: 12px;
    color: #888;
    margin-left: 8px;
}

.takeaway-store-locator .takeaway-suggestion i {
    color: #999;
    font-size: 12px;
}

.takeaway-store-locator .takeaway-error {
    display: none;
    padding: 10px 12px;
    margin-top: 10px;
    background: #fee;
    border: 1px solid #c00;
    border-radius: 4px;
    color: #c00;
    font-size: 13px;
}

.takeaway-store-locator .takeaway-store-dropdown {
    display: none;
    margin-top: 15px;
}

.takeaway-store-locator .takeaway-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
}

.takeaway-store-locator .takeaway-message-box {
    display: none;
    margin-top: 15px;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-left: 4px solid #f5c518;
    border-radius: 4px;
}

.takeaway-store-locator .takeaway-message-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.takeaway-store-locator .takeaway-message-text {
    flex: 1;
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}

.takeaway-store-locator .takeaway-call-btn {
    display: none;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    background: #f5c518;
    border: none;
    border-radius: 4px;
    color: #000;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.2s;
}

.takeaway-store-locator .takeaway-call-btn:hover {
    background: #e0b115;
    color: #000;
    text-decoration: none;
}

.takeaway-store-locator .takeaway-call-btn i {
    margin-right: 6px;
}

/* Mobile: stack vertically */
@media (max-width: 767px) {
    .takeaway-store-locator .takeaway-message-content {
        flex-direction: column;
        align-items: stretch;
    }

    .takeaway-store-locator .takeaway-call-btn {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .pdp-v2-images {
        padding-bottom: 40px;
        position: sticky;
        top: 15px;
    }
}



