/* ============================================
   Shirly Art - Gift Card Premium UI
   Dedicated template styles
   Version: 3.0.0
   ============================================ */

/* --- Page layout --- */
.sa-gift-page {
    direction: rtl;
    min-height: 60vh;
    padding: 40px 20px 60px;
    background: #fff;
}
.sa-gift-page-inner {
    max-width: 60vw;
    margin: 0 auto;
}

/* --- Page header: title + stars --- */
.sa-gift-page-header {
    text-align: center;
    margin-bottom: 24px;
}
.sa-gift-page-title {
    font-size: 2em;
    font-weight: 800;
    color: #2d2d2d;
    margin: 0 0 8px;
}
.sa-gift-page-rating {
    display: flex;
    justify-content: center;
    gap: 8px;
}
.sa-gift-page-rating .woocommerce-product-rating {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
}
.sa-gift-page-rating .star-rating {
    margin: 0 !important;
}

/* --- Reviews section --- */
.sa-gift-reviews {
    margin-top: 80px;
    padding-top: 32px;
    border-top: 1px solid #ebebf0;
}
.sa-gift-reviews .woocommerce-Reviews-title {
    text-align: center;
    color: #2d2d2d;
    font-size: 1.4em;
    font-weight: 700;
}
.sa-gift-reviews .commentlist {
    list-style: none;
    padding: 0;
}
.sa-gift-reviews .comment_container {
    background: #f9f9fb;
    border: 1px solid #ebebf0;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 12px;
}
.sa-gift-reviews .star-rating {
    color: #d4a24e !important;
}
.sa-gift-reviews #review_form_wrapper {
    margin-top: 24px;
}

/* --- Hide the PW form (kept in DOM for WC compatibility) --- */
.sa-gift-hidden-form {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

/* --- Currency symbol fix --- */
.sa-shekel,
.sa-gift-wrap .woocommerce-Price-currencySymbol {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* --- Gift Card Wrapper --- */
.sa-gift-wrap {
    direction: rtl !important;
    text-align: right !important;
    font-family: inherit !important;
}

/* --- Emotional Header --- */
.sa-gift-hero {
    text-align: center !important;
    padding: 20px 16px 24px !important;
    background: linear-gradient(135deg, #fdf6e8, #fef9f0) !important;
    border: 1.5px solid #e8d5a8 !important;
    border-radius: 16px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(212, 162, 78, 0.1) !important;
}
.sa-gift-hero-icon { font-size: 2.2em !important; margin-bottom: 6px !important; line-height: 1 !important; }
.sa-gift-hero-title {
    font-size: 1.25em !important; font-weight: 800 !important; color: #2d2d2d !important;
    margin: 0 0 4px !important; padding: 0 !important; border: none !important; background: none !important;
}
.sa-gift-hero-sub { font-size: 0.9em !important; color: #9a7530 !important; font-weight: 500 !important; margin: 0 !important; }

/* --- Step Sections --- */
.sa-gift-step {
    background: #f9f9fb !important;
    border: 1px solid #ebebf0 !important;
    border-radius: 16px !important;
    padding: 24px 28px !important;
    margin-bottom: 16px !important;
    transition: all 0.3s ease !important;
}
.sa-gift-step-header {
    display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 16px !important;
}
.sa-gift-step-num {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 32px !important; height: 32px !important; background: #d4a24e !important;
    color: #fff !important; border-radius: 50% !important; font-size: 0.85em !important;
    font-weight: 700 !important; flex-shrink: 0 !important;
}
.sa-gift-step-title {
    font-size: 1.05em !important; font-weight: 700 !important; color: #2d2d2d !important;
    margin: 0 !important; padding: 0 !important; border: none !important; background: none !important; flex: 1 !important;
}

/* --- Amount Buttons --- */
.sa-gift-amounts {
    display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; margin-bottom: 12px !important;
    grid-auto-rows: 1fr !important;
}
.sa-gift-amount-btn {
    padding: 20px 10px !important; border: 2px solid #e2e2ea !important; border-radius: 14px !important;
    min-height: 72px !important;
    background: #fff !important; cursor: pointer !important; font-size: 1.3em !important;
    font-weight: 700 !important; font-family: inherit !important; color: #2d2d2d !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important; text-align: center !important;
    line-height: normal !important; text-transform: none !important; text-decoration: none !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
}
.sa-gift-amount-btn:hover {
    border-color: #d4a24e !important; background: #fdf8f0 !important; color: #9a7530 !important;
    box-shadow: 0 4px 14px rgba(212, 162, 78, 0.18) !important; transform: translateY(-2px) !important;
}
.sa-gift-amount-btn.active {
    border-color: #d4a24e !important; background: linear-gradient(135deg, #d4a24e, #c4912e) !important;
    color: #fff !important; box-shadow: 0 6px 18px rgba(212, 162, 78, 0.35) !important; transform: translateY(-2px) !important;
}
.sa-gift-amount-btn .sa-amount-currency {
    font-size: 0.5em !important; font-weight: 500 !important; opacity: 0.7 !important; margin-top: 0 !important;
    line-height: 1 !important;
}
.sa-gift-amount-btn.active .sa-amount-currency { opacity: 0.9 !important; color: #fff !important; }

.sa-gift-custom-row { display: none !important; margin-top: 12px !important; animation: saFadeIn 0.3s ease !important; }
.sa-gift-custom-row.visible { display: flex !important; align-items: center !important; gap: 10px !important; }
.sa-gift-custom-input {
    flex: 1 !important; border: 2px solid #e2e2ea !important; border-radius: 12px !important;
    padding: 12px 16px !important; font-size: 1.1em !important; font-weight: 600 !important;
    color: #2d2d2d !important; font-family: inherit !important; text-align: center !important;
    direction: ltr !important; outline: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important; background: #fff !important;
}
.sa-gift-custom-input:focus { border-color: #d4a24e !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.15) !important; }
.sa-gift-custom-suffix { font-size: 1em !important; font-weight: 600 !important; color: #9a7530 !important; }
.sa-gift-custom-error { color: #e74c3c !important; font-size: 0.82em !important; margin-top: 6px !important; text-align: center !important; }

/* --- Step 2: Icon Inputs --- */
.sa-gift-field-group { margin-bottom: 16px !important; }
.sa-gift-field-group:last-child { margin-bottom: 0 !important; }

.sa-gift-group-label {
    font-size: 1.1em !important; font-weight: 600 !important; color: #b08a40 !important;
    letter-spacing: 0.3px !important; margin-bottom: 8px !important; display: block !important;
}

.sa-gift-icon-input { position: relative !important; margin-bottom: 10px !important; }
.sa-gift-icon-input:last-child { margin-bottom: 0 !important; }

.sa-gift-icon-input .sa-input-icon {
    position: absolute !important; right: 14px !important; top: 50% !important;
    transform: translateY(-50%) !important; font-size: 1.1em !important;
    pointer-events: none !important; z-index: 1 !important; opacity: 0.6 !important;
    transition: opacity 0.2s ease !important;
}
.sa-gift-icon-input.sa-textarea-icon .sa-input-icon { top: 16px !important; transform: none !important; }

.sa-gift-icon-input input,
.sa-gift-icon-input textarea {
    width: 100% !important; border: 2px solid #e2e2ea !important; border-radius: 12px !important;
    padding: 16px 44px 16px 16px !important; font-size: 1.05em !important; color: #2d2d2d !important;
    background: #fff !important; font-family: inherit !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-sizing: border-box !important; outline: none !important; direction: rtl !important;
}
.sa-gift-icon-input input:focus, .sa-gift-icon-input textarea:focus {
    border-color: #d4a24e !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.15) !important;
}
.sa-gift-icon-input input:focus ~ .sa-input-icon,
.sa-gift-icon-input textarea:focus ~ .sa-input-icon { opacity: 1 !important; }
.sa-gift-icon-input input::placeholder, .sa-gift-icon-input textarea::placeholder { color: #bbb !important; }
.sa-gift-icon-input textarea { min-height: 70px !important; resize: vertical !important; }

/* --- Occasion Chips --- */
.sa-gift-occasion-chips {
    display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
}
.sa-gift-occasion-chip {
    padding: 8px 14px !important; border: 2px solid #e2e2ea !important; border-radius: 20px !important;
    background: #fff !important; cursor: pointer !important; font-family: inherit !important;
    font-size: 0.88em !important; font-weight: 600 !important; color: #666 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    white-space: nowrap !important; line-height: normal !important;
    text-transform: none !important; text-decoration: none !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
}
.sa-gift-occasion-chip:hover {
    border-color: #d4a24e !important; background: #fdf8f0 !important; color: #9a7530 !important;
}
.sa-gift-occasion-chip.active {
    border-color: #d4a24e !important; background: linear-gradient(135deg, #fdf6e8, #fef9f0) !important;
    color: #9a7530 !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.12) !important;
}

/* --- Message Nav Arrows --- */
.sa-gift-msg-nav {
    display: flex !important; align-items: center !important; gap: 6px !important;
    justify-content: flex-start !important; margin-top: 6px !important;
}
.sa-gift-msg-arrow {
    width: 28px !important; height: 28px !important; border: 1.5px solid #e2e2ea !important;
    border-radius: 50% !important; background: #fff !important; cursor: pointer !important;
    font-size: 1em !important; color: #9a7530 !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
    padding: 0 !important; line-height: 1 !important; text-decoration: none !important;
    text-transform: none !important;
}
.sa-gift-msg-arrow:hover {
    border-color: #d4a24e !important; background: #fdf8f0 !important;
}
.sa-gift-msg-counter {
    font-size: 0.92em !important; font-weight: 600 !important; color: #9a7530 !important;
    min-width: 24px !important; text-align: center !important;
}

/* --- Message Bottom Row (clear + char count) --- */
.sa-gift-msg-bottom {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    margin-top: 4px !important;
}
.sa-gift-msg-clear {
    background: none !important; border: none !important; cursor: pointer !important;
    font-family: inherit !important; font-size: 0.88em !important; font-weight: 600 !important;
    color: #b08a40 !important; padding: 0 !important;
    transition: opacity 0.2s ease !important; outline: none !important;
    -webkit-appearance: none !important; appearance: none !important;
    text-decoration: none !important; text-transform: none !important; line-height: normal !important;
}
.sa-gift-msg-clear:hover { opacity: 0.6 !important; }

.sa-gift-char-count { font-size: 0.88em !important; color: #b08a40 !important; }

.sa-gift-phone-error {
    color: #e74c3c !important; font-size: 0.82em !important; margin-top: 6px !important;
    text-align: right !important;
}

.sa-gift-optional-tag {
    display: inline-block !important; background: #f0ebe0 !important; color: #b08a40 !important;
    font-size: 0.85em !important; padding: 2px 8px !important; border-radius: 6px !important;
    font-weight: 500 !important; margin-right: 6px !important; vertical-align: middle !important;
}

/* --- Delivery Method Toggle (email/whatsapp) --- */
.sa-gift-method-toggle {
    display: flex !important; gap: 8px !important; margin-bottom: 10px !important;
}
.sa-gift-method-opt {
    flex: 1 !important; padding: 14px 12px !important; border: 2px solid #e2e2ea !important;
    border-radius: 12px !important; background: #fff !important; cursor: pointer !important;
    font-family: inherit !important; font-size: 1em !important; font-weight: 600 !important;
    color: #666 !important; text-align: center !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
    line-height: normal !important; text-transform: none !important; text-decoration: none !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
}
.sa-gift-method-opt:hover { border-color: #d4a24e !important; background: #fdf8f0 !important; }
.sa-gift-method-opt.active {
    border-color: #d4a24e !important; background: linear-gradient(135deg, #fdf6e8, #fef9f0) !important;
    color: #9a7530 !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.12) !important;
}

/* --- Delivery Toggle --- */
.sa-gift-delivery-section { margin-top: 16px !important; padding-top: 16px !important; border-top: 1px solid #ebebf0 !important; }

.sa-gift-delivery-toggle { display: flex !important; gap: 8px !important; margin-bottom: 0 !important; }

.sa-gift-delivery-opt {
    flex: 1 !important; padding: 14px 12px !important; border: 2px solid #e2e2ea !important;
    border-radius: 12px !important; background: #fff !important; cursor: pointer !important;
    font-family: inherit !important; font-size: 1em !important; font-weight: 600 !important;
    color: #666 !important; text-align: center !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
    line-height: normal !important; text-transform: none !important; text-decoration: none !important;
    outline: none !important; -webkit-appearance: none !important; appearance: none !important;
}
.sa-gift-delivery-opt:hover { border-color: #d4a24e !important; background: #fdf8f0 !important; }
.sa-gift-delivery-opt.active {
    border-color: #d4a24e !important; background: linear-gradient(135deg, #fdf6e8, #fef9f0) !important;
    color: #9a7530 !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.12) !important;
}

.sa-gift-delivery-date-wrap { display: none !important; margin-top: 10px !important; animation: saFadeIn 0.3s ease !important; }
.sa-gift-delivery-date-wrap.visible { display: block !important; }

.sa-gift-delivery-date-wrap input {
    width: 100% !important; border: 2px solid #e2e2ea !important; border-radius: 12px !important;
    padding: 12px 42px 12px 16px !important; font-size: 1em !important; color: #2d2d2d !important;
    background: #fff !important; font-family: inherit !important; outline: none !important;
    box-sizing: border-box !important; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important; direction: rtl !important;
}
.sa-gift-delivery-date-wrap input:focus {
    border-color: #d4a24e !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.15) !important;
}

.sa-gift-delivery-time-note {
    display: block !important; margin-top: 8px !important; font-size: 0.78em !important;
    color: #b08a40 !important; text-align: center !important;
}

/* --- Preview Card --- */
.sa-gift-preview-card {
    background: #fff !important; border: 2px solid #e8d5a8 !important; border-radius: 20px !important;
    padding: 28px 24px !important; text-align: center !important;
    box-shadow: 0 8px 32px rgba(212, 162, 78, 0.15), 0 2px 8px rgba(0,0,0,0.04) !important;
    position: relative !important; overflow: hidden !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease !important;
}
.sa-gift-preview-card::before {
    display: none !important;
}
.sa-gift-preview-card::after {
    content: "" !important; position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: radial-gradient(ellipse at top, rgba(212,162,78,0.04), transparent 70%) !important;
    pointer-events: none !important;
}
.sa-gift-preview-card:hover {
    transform: scale(1.01) !important;
    box-shadow: 0 12px 40px rgba(212, 162, 78, 0.22), 0 4px 12px rgba(0,0,0,0.06) !important;
}

.sa-gift-preview-title {
    font-size: 1.4em !important; font-weight: 700 !important; color: #d4a24e !important;
    margin: 8px 0 4px !important; position: relative !important; z-index: 1 !important;
    letter-spacing: 0.3px !important;
}
.sa-gift-preview-amount-label {
    font-size: 1em !important; font-weight: 600 !important; color: #666 !important;
    margin: 8px 0 2px !important; position: relative !important; z-index: 1 !important;
}
.sa-gift-preview-amount {
    font-size: 2.5em !important; font-weight: 800 !important; color: #d4a24e !important;
    margin: 0 0 8px !important; direction: ltr !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important; z-index: 1 !important;
}
.sa-gift-preview-amount.sa-pop { transform: scale(1.08) !important; }

.sa-gift-preview-divider {
    width: 60px !important; height: 2px !important;
    background: linear-gradient(90deg, transparent, #d4a24e, transparent) !important;
    margin: 10px auto !important; position: relative !important; z-index: 1 !important;
}
.sa-gift-preview-msg {
    font-size: 0.92em !important; color: #666 !important; font-style: italic !important;
    max-width: 280px !important; margin: 0 auto 8px !important; line-height: 1.6 !important;
    min-height: 20px !important; white-space: pre-line !important; position: relative !important; z-index: 1 !important;
}
.sa-gift-preview-from {
    font-size: 0.88em !important; color: #9a7530 !important; font-weight: 600 !important;
    position: relative !important; z-index: 1 !important;
}
.sa-gift-preview-img {
    margin: 14px auto 8px !important; position: relative !important; z-index: 1 !important;
    max-width: 220px !important; border-radius: 12px !important; overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
.sa-gift-preview-img img {
    width: 100% !important; height: auto !important; display: block !important;
    border-radius: 12px !important;
}
.sa-gift-preview-delivery {
    font-size: 0.8em !important; color: #b08a40 !important; margin-top: 8px !important;
    position: relative !important; z-index: 1 !important;
}
.sa-gift-preview-badge {
    display: inline-block !important; background: linear-gradient(135deg, #fdf6e8, #fef9f0) !important;
    border: 1px solid #e8d5a8 !important; border-radius: 20px !important;
    padding: 4px 14px !important; font-size: 0.72em !important; color: #9a7530 !important;
    font-weight: 600 !important; margin-top: 14px !important; position: relative !important;
    z-index: 1 !important; letter-spacing: 0.3px !important;
}

/* --- CTA Button --- */
.sa-gift-cta {
    display: block !important; width: 100% !important; padding: 20px 28px !important;
    border: none !important; border-radius: 14px !important;
    background: linear-gradient(135deg, #d4a24e, #c4912e) !important;
    color: #fff !important; font-size: 1.25em !important; font-weight: 700 !important;
    font-family: inherit !important; cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 14px rgba(212, 162, 78, 0.35) !important;
    text-align: center !important; position: relative !important; overflow: hidden !important;
    margin-top: 8px !important; line-height: normal !important;
    text-transform: none !important; text-decoration: none !important; outline: none !important;
    -webkit-appearance: none !important;
}
.sa-gift-cta::before {
    content: "" !important; position: absolute !important; inset: 0 !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.12), transparent) !important; pointer-events: none !important;
}
.sa-gift-cta:hover {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 6px 22px rgba(212, 162, 78, 0.5) !important;
    background: linear-gradient(135deg, #c4912e, #b07e22) !important;
}
.sa-gift-cta:active { transform: translateY(0) scale(0.98) !important; }
.sa-gift-cta.sa-disabled {
    background: #c8c8d0 !important; color: #8e8e9a !important;
    cursor: not-allowed !important; transform: none !important; box-shadow: none !important;
}
.sa-gift-cta.sa-disabled::before { display: none !important; }

/* --- Trust badges --- */
.sa-gift-trust {
    display: flex !important; justify-content: center !important;
    gap: 16px !important; margin-top: 14px !important;
    font-size: 1em !important; font-weight: 600 !important; color: #b08a40 !important;
}
.sa-gift-trust span { display: flex !important; align-items: center !important; gap: 5px !important; }

/* --- Animations --- */
@keyframes saFadeIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes saShake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-5px); } 40% { transform: translateX(4px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }
.sa-shake { animation: saShake 0.4s ease !important; }

/* CTA pulse animation on desktop */
@keyframes saPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 4px 14px rgba(212, 162, 78, 0.35); }
    50% { transform: scale(1.03); box-shadow: 0 8px 28px rgba(212, 162, 78, 0.5); }
}
@media (min-width: 769px) {
    .sa-gift-cta:not(.sa-disabled) {
        animation: saPulse 2.5s ease-in-out infinite !important;
    }
    .sa-gift-cta:not(.sa-disabled):hover {
        animation: none !important;
        transform: translateY(-2px) scale(1.02) !important;
        box-shadow: 0 6px 22px rgba(212, 162, 78, 0.5) !important;
    }
}

/* --- Thank You Page: WhatsApp CTA --- */
.sa-whatsapp-wrap {
    direction: rtl !important; text-align: center !important; max-width: 500px !important;
    margin: 20px auto 30px !important; padding: 28px 24px !important;
    background: linear-gradient(135deg, #fdf6e8, #fef9f0) !important;
    border: 1.5px solid #e8d5a8 !important; border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(212, 162, 78, 0.12) !important;
}
.sa-whatsapp-title {
    font-size: 1.2em !important; font-weight: 700 !important; color: #2d2d2d !important;
    margin: 0 0 6px !important;
}
.sa-whatsapp-sub {
    font-size: 0.88em !important; color: #9a7530 !important; margin: 0 0 18px !important;
}
.sa-whatsapp-btn {
    display: inline-block !important; padding: 16px 36px !important;
    background: #25D366 !important; color: #fff !important;
    border-radius: 14px !important; font-size: 1.15em !important; font-weight: 700 !important;
    text-decoration: none !important; font-family: inherit !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35) !important;
}
.sa-whatsapp-btn:hover {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 6px 22px rgba(37, 211, 102, 0.5) !important;
    color: #fff !important;
}
.sa-whatsapp-note {
    font-size: 0.78em !important; color: #b08a40 !important; margin: 14px 0 0 !important;
}

/* --- Pikaday Calendar --- */
.pika-single { border: 1px solid #ebebf0 !important; border-radius: 16px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; font-family: inherit !important; overflow: hidden !important; }
.pika-single.is-bound { box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; }
.pika-table th { color: #b08a40 !important; font-weight: 600 !important; }
.pika-button { border-radius: 10px !important; transition: all 0.2s ease !important; background: transparent !important; text-align: center !important; }
.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button { background: #fdf8f0 !important; color: #9a7530 !important; border-radius: 10px !important; box-shadow: none !important; }
.is-today .pika-button { color: #d4a24e !important; font-weight: 700 !important; }
.is-selected .pika-button { background: linear-gradient(135deg, #d4a24e, #c4912e) !important; color: #fff !important; border-radius: 10px !important; box-shadow: 0 4px 12px rgba(212,162,78,0.3) !important; }

/* --- Cart/Checkout --- */
.pwgc-cart-subtitle { color: #b08a40 !important; }
.pwgc-remove-card { color: #c4912e !important; font-weight: 600 !important; }
.show-pw-gift-card, a.show-pw-gift-card { color: #d4a24e !important; font-weight: 600 !important; }
.checkout_pw_gift_card { background: #f9f9fb !important; border: 1px solid #ebebf0 !important; border-radius: 14px !important; padding: 20px !important; }
.checkout_pw_gift_card input[type="text"], #pwgc-redeem-gift-card-number {
    border: 2px solid #e2e2ea !important; border-radius: 12px !important; padding: 12px 16px !important;
    outline: none !important; width: 100% !important; box-sizing: border-box !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.checkout_pw_gift_card input[type="text"]:focus, #pwgc-redeem-gift-card-number:focus {
    border-color: #d4a24e !important; box-shadow: 0 0 0 3px rgba(212, 162, 78, 0.15) !important;
}
#pwgc-apply-gift-card, #pwgc-redeem-button, #pwgc-apply-gift-card-checkout {
    background: linear-gradient(135deg, #d4a24e, #c4912e) !important; color: #fff !important;
    border: none !important; border-radius: 12px !important; padding: 12px 24px !important;
    font-weight: 700 !important; cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; box-shadow: 0 4px 14px rgba(212, 162, 78, 0.35) !important;
}
#pwgc-apply-gift-card:hover, #pwgc-redeem-button:hover, #pwgc-apply-gift-card-checkout:hover {
    background: linear-gradient(135deg, #c4912e, #b07e22) !important; transform: translateY(-2px) !important;
}

/* --- Mobile --- */
@media (max-width: 768px) {
    .sa-gift-page {
        padding: 16px 16px 100px;
    }
    .sa-gift-page-inner {
        max-width: 100% !important;
    }
    .sa-gift-page-header {
        text-align: center;
    }
    .sa-gift-page-title {
        font-size: 1.5em !important;
        text-align: center !important;
    }
    .sa-gift-page-rating {
        justify-content: center !important;
    }

    /* Sticky CTA on mobile */
    .sa-gift-cta-sticky-wrap {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 9999 !important;
        padding: 12px 16px !important;
        padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
        background: #fff !important;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.1) !important;
    }

    .sa-gift-hero { padding: 16px 12px 18px !important; border-radius: 12px !important; }
    .sa-gift-hero-title { font-size: 1.1em !important; }
    .sa-gift-step { padding: 14px 16px !important; border-radius: 12px !important; }
    .sa-gift-amounts { gap: 8px !important; }
    .sa-gift-amount-btn { padding: 12px 6px !important; font-size: 1em !important; border-radius: 10px !important; }
    .sa-gift-icon-input input, .sa-gift-icon-input textarea { padding: 12px 38px 12px 12px !important; border-radius: 10px !important; }
    .sa-gift-cta { padding: 14px 16px !important; font-size: 1em !important; border-radius: 12px !important; }
    .sa-gift-preview-card { padding: 20px 16px !important; border-radius: 14px !important; }
    .sa-gift-preview-amount { font-size: 2em !important; }
    .sa-gift-preview-img { max-width: 180px !important; }
    .sa-gift-trust { flex-wrap: wrap !important; gap: 10px !important; }
    .sa-gift-delivery-toggle { flex-direction: row !important; gap: 6px !important; }
    .sa-gift-delivery-opt { font-size: 0.82em !important; padding: 10px 8px !important; }
    .sa-gift-method-toggle { flex-direction: row !important; gap: 6px !important; }
    .sa-gift-method-opt { font-size: 0.82em !important; padding: 10px 8px !important; }
    .sa-gift-occasion-chips { gap: 6px !important; justify-content: center !important; }
    .sa-gift-occasion-chip { font-size: 0.78em !important; padding: 7px 10px !important; }
}
@media (max-width: 380px) {
    .sa-gift-amount-btn { padding: 10px 4px !important; font-size: 0.9em !important; }
    .sa-gift-cta { padding: 12px 10px !important; font-size: 0.92em !important; }
}
