/* Site footer (components/site-footer-v2.blade.php).
   Desktop (>=768px) keeps the existing multi-column layout from partycraz-modern.css;
   this file only makes the four link groups non-collapsible there.
   Below 768px the footer becomes compact: brand row, accordion link groups,
   compact contact block, one compact trust + payment area and a tight copyright bar. */

.pc-footer .pc-fgroup > summary { list-style: none; }
.pc-footer .pc-fgroup > summary::-webkit-details-marker { display: none; }
.pc-footer .pc-fgroup > summary::marker { content: ''; }
.pc-footer-tagline,
.pc-footer .pc-pay-ssl { display: none; }

@media (min-width: 768px) {
    /* Always open on desktop (the inline script sets [open]; this covers browsers that support ::details-content). */
    .pc-footer .pc-fgroup > summary { cursor: default; pointer-events: none; }
    .pc-footer .pc-fgroup::details-content { content-visibility: visible; }
}

@media (max-width: 767.98px) {
    .pc-footer { padding-top: 1.4rem; }
    .pc-footer-v2 .row.g-4 { --bs-gutter-y: 0; }
    body.pc-modern .pc-footer-v2 .row > [class*="col-"] { padding-left: 0; padding-right: 0; } /* beats body.pc-modern .row > [class*="col-"] */

    /* Brand: logo + social in one row, one-line tagline below. */
    .pc-footer-v2 .pc-footer-brand { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem .75rem; padding-bottom: .9rem; }
    .pc-footer-v2 .pc-footer-logo { max-height: 34px; margin: 0 !important; }
    .pc-footer-v2 .pc-footer-brand .pc-footer-desc { display: none; }
    .pc-footer-tagline { display: block; order: 3; flex: 1 0 100%; margin: 0; font-size: .8rem; line-height: 1.45; color: rgba(236, 232, 240, .85); }
    .pc-footer-v2 .pc-footer-brand .pc-footer-social { margin: 0; gap: .45rem; flex-wrap: nowrap; }
    .pc-footer-v2 .pc-footer-brand .pc-footer-social a { width: 32px; height: 32px; }

    /* Link groups: accordions, closed by default; links stay in the HTML. */
    .pc-footer .pc-fgroup { border-top: 1px solid rgba(255, 255, 255, .1); }
    .pc-footer .pc-fgroup > summary { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: .55rem 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .pc-footer .pc-fgroup > summary h3 { margin: 0; font-size: .92rem; font-weight: 600; }
    .pc-footer .pc-fgroup > summary::after { content: ''; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid #f9a8d4; border-bottom: 2px solid #f9a8d4; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
    .pc-footer .pc-fgroup[open] > summary::after { transform: rotate(-135deg) translate(-2px, 0); }
    .pc-footer .pc-fgroup > summary:focus-visible { outline: 2px solid #f9a8d4; outline-offset: 2px; border-radius: 4px; }
    .pc-footer .pc-fgroup .pc-footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem 1rem; margin: 0 0 .7rem; }
    .pc-footer .pc-fgroup .pc-footer-links li { margin: 0; font-size: .84rem; line-height: 1.3; }
    .pc-footer .pc-fgroup .pc-footer-links a { display: block; padding: .38rem 0; overflow-wrap: anywhere; }

    /* Contact: compact block with tap-to-call / email. */
    .pc-footer-v2 .row > .col-md-6:last-child { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: .75rem; }
    .pc-footer-v2 .row > .col-md-6:last-child h3 { font-size: .92rem; font-weight: 600; margin-bottom: .45rem; }
    .pc-footer-contact { display: flex; flex-wrap: wrap; gap: .1rem 1.1rem; margin: 0; }
    .pc-footer-contact li { margin: 0; font-size: .84rem; line-height: 1.4; }
    .pc-footer-contact li a { display: inline-block; padding: .3rem 0; font-weight: 600; }
    .pc-footer-contact li:last-child { flex: 1 0 100%; padding-top: .15rem; font-size: .78rem; color: rgba(236, 232, 240, .8); }

    /* Trust badges + payment methods: one compact area, one payment set. */
    .pc-footer-trust { justify-content: flex-start; gap: .35rem; margin-top: .9rem; padding-top: .8rem; }
    .pc-footer-trust-item { gap: .3rem; padding: .28rem .6rem; font-size: .72rem; }
    .pc-footer-payments { margin-top: .45rem !important; padding-top: 0 !important; text-align: left !important; }
    .pc-footer-payments .pc-payment-icons { justify-content: flex-start; gap: .3rem; margin-bottom: 0 !important; }
    .pc-pay-badge { gap: .25rem; padding: .22rem .5rem; font-size: .68rem; font-weight: 600; background: rgba(255, 255, 255, .08); }
    .pc-footer .pc-pay-ssl { display: inline-flex; }
    .pc-footer-payments .pc-footer-pay-img { display: none; }

    /* Copyright bar: tight, and clear of the fixed bottom tab bar (body already reserves 72px). */
    .pc-subfooter { margin-top: .9rem; padding: .6rem 0 calc(.6rem + env(safe-area-inset-bottom, 0px)); font-size: .74rem; line-height: 1.4; }
}
