/*
Theme Name: PT Pancar Cahaya Terang
Theme URI: https://pancarcahayaterang.com
Author: PT Pancar Cahaya Terang
Author URI: https://pancarcahayaterang.com
Description: A modern company profile theme for PT Pancar Cahaya Terang.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mbscctv
Tags: company-profile, fishing-line, tailwind, custom-menu, featured-images, woocommerce
*/

body,
button,
input,
select,
textarea {
    font-family: "Segoe UI", Arial, sans-serif;
}

.ptpancar-nav-link {
    position: relative;
    text-decoration: none !important;
    border-bottom: 0 !important;
}

.ptpancar-nav-link::after {
    content: none;
    display: none !important;
}

.ptpancar-nav-link:hover,
.ptpancar-nav-link:focus,
.ptpancar-nav-link:active {
    text-decoration: none !important;
}


.ptpancar-reveal {
    opacity: 0;
    transform: translateY(1.75rem);
    transition: opacity 0.7s ease, transform 0.7s ease;
    transition-delay: var(--ptpancar-reveal-delay, 0ms);
    will-change: opacity, transform;
}

.ptpancar-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.ptpancar-reveal[data-reveal="fade-left"] {
    transform: translateX(2rem);
}

.ptpancar-reveal[data-reveal="fade-right"] {
    transform: translateX(-2rem);
}

.ptpancar-reveal[data-reveal="zoom"] {
    transform: scale(0.96);
}

.ptpancar-reveal.is-visible[data-reveal="fade-left"],
.ptpancar-reveal.is-visible[data-reveal="fade-right"],
.ptpancar-reveal.is-visible[data-reveal="zoom"] {
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .ptpancar-reveal,
    .ptpancar-reveal.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ========================================
   WooCommerce Overrides
   ======================================== */

/* Sorting dropdown */
.woocommerce-ordering select.orderby {
    background-color: #f5f4f9;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: #1e293b;
    appearance: auto;
    cursor: pointer;
}

.woocommerce-ordering select.orderby:focus {
    outline: none;
    border-color: #e43a35;
    box-shadow: 0 0 0 2px rgba(228, 58, 53, 0.2);
}

/* Result count */
.woocommerce-result-count {
    margin: 0;
    font-size: 0.875rem;
    color: #64748b;
}

/* Price styling */
.woocommerce .price {
    font-family: 'Inter', sans-serif;
}

.woocommerce .price del {
    color: #94a3b8;
    font-size: 0.8em;
    font-weight: 500;
}

.woocommerce .price ins {
    text-decoration: none;
    color: #e43a35;
    font-weight: 900;
}

/* Single product: Add to Cart form */
.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}

.woocommerce div.product form.cart .quantity {
    margin: 0;
}

.woocommerce div.product form.cart .quantity .qty {
    background-color: #f5f4f9;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    padding: 0.65rem 0.5rem;
    width: 4.5rem;
    font-size: 0.875rem;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    text-align: center;
}

.woocommerce div.product form.cart .quantity .qty:focus {
    outline: none;
    border-color: #e43a35;
    box-shadow: 0 0 0 2px rgba(228, 58, 53, 0.2);
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    background-color: #e43a35;
    color: #fff;
    border: none;
    border-radius: 0.25rem;
    padding: 0.65rem 1.5rem;
    font-size: 0.875rem;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background-color: rgba(228, 58, 53, 0.9);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 0.25rem;
    border: none;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
    margin: 0;
    padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    color: #64748b;
    background: #fff;
    border: 1px solid #e2e8f0;
    transition: all 0.2s;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: #e43a35;
    color: #fff;
    border-color: #e43a35;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #e43a35;
    color: #fff;
    border-color: #e43a35;
    font-weight: 700;
}

/* WooCommerce notices / messages */
.woocommerce-message,
.woocommerce-info {
    border-top-color: #e43a35 !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: #e43a35 !important;
}

/* Hide default WC breadcrumb (we use custom) */
.woocommerce .woocommerce-breadcrumb {
    display: none;
}

/* Star rating */
.woocommerce .star-rating {
    color: #f59e0b;
}

@keyframes ptpancar-fade-up {
    from {
        opacity: 0;
        transform: translateY(1.75rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ptpancar-zoom-in {
    from {
        opacity: 0;
        transform: scale(0.96);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

#home .inline-flex,
#home h1,
#home p,
#home a,
#home .grid > div,
#home img {
    animation: ptpancar-fade-up 0.7s ease both;
}

#home h1 { animation-delay: 80ms; }
#home p { animation-delay: 160ms; }
#home a { animation-delay: 240ms; }
#home .grid > div { animation-delay: 320ms; }
#home img { animation: ptpancar-zoom-in 0.9s ease 240ms both; }

@supports (animation-timeline: view()) {
    main section:not(#home) h2,
    main section:not(#home) .text-xs.font-black,
    main section:not(#home) .grid > div,
    main section:not(#home) .rounded-lg,
    main section:not(#home) iframe {
        animation: ptpancar-fade-up both;
        animation-timeline: view();
        animation-range: entry 8% cover 32%;
    }

    main section:not(#home) iframe {
        animation-name: ptpancar-zoom-in;
    }
}

@media (prefers-reduced-motion: reduce) {
    #home .inline-flex,
    #home h1,
    #home p,
    #home a,
    #home .grid > div,
    #home img,
    main section:not(#home) h2,
    main section:not(#home) .text-xs.font-black,
    main section:not(#home) .grid > div,
    main section:not(#home) .rounded-lg,
    main section:not(#home) iframe {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}
@keyframes ptpancar-card-pop {
    0% {
        opacity: 0;
        transform: translateY(1.5rem) scale(0.96);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes ptpancar-icon-bob {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    45% {
        transform: translateY(-0.35rem) rotate(-3deg);
    }
}

main section:nth-of-type(2) .rounded-lg.ptpancar-reveal.is-visible {
    animation: ptpancar-card-pop 0.65s ease both;
    animation-delay: var(--ptpancar-reveal-delay, 0ms);
}

.ptpancar-gallery-card.ptpancar-reveal.is-visible {
    animation: ptpancar-card-pop 0.7s ease both;
    animation-delay: var(--ptpancar-reveal-delay, 0ms);
}

main section:nth-of-type(2) .rounded-lg,
main section:nth-of-type(3) .rounded-lg,
main section:nth-of-type(5) .rounded-lg,
main section:nth-of-type(6) .rounded-lg,
.ptpancar-gallery-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

main section:nth-of-type(2) .rounded-lg:hover,
main section:nth-of-type(3) .rounded-lg:hover,
main section:nth-of-type(5) .rounded-lg:hover,
main section:nth-of-type(6) .rounded-lg:hover,
.ptpancar-gallery-card:hover {
    border-color: rgba(0, 83, 247, 0.35);
    box-shadow: 0 1rem 2.5rem rgba(3, 25, 65, 0.12);
    transform: translateY(-0.35rem);
}

main section .rounded-lg:hover .material-symbols-outlined {
    animation: ptpancar-icon-bob 0.65s ease;
}

@media (prefers-reduced-motion: reduce) {
    main section:nth-of-type(2) .rounded-lg.ptpancar-reveal.is-visible,
    main section:nth-of-type(2) .rounded-lg:hover,
    main section:nth-of-type(3) .rounded-lg:hover,
    main section:nth-of-type(5) .rounded-lg:hover,
    main section:nth-of-type(6) .rounded-lg:hover,
    .ptpancar-gallery-card.ptpancar-reveal.is-visible,
    .ptpancar-gallery-card:hover,
    main section .rounded-lg:hover .material-symbols-outlined {
        animation: none !important;
        transform: none !important;
    }
}
@keyframes ptpancar-reason-icon-float {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-0.35rem) scale(1.04);
    }
}

@keyframes ptpancar-reason-icon-pop {
    0% {
        opacity: 0;
        transform: translateY(0.5rem) scale(0.82) rotate(-4deg);
    }
    70% {
        transform: translateY(-0.15rem) scale(1.06) rotate(2deg);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1) rotate(0deg);
    }
}

main section:nth-of-type(6) .rounded-lg .mb-5.flex.size-16 {
    animation: ptpancar-reason-icon-pop 0.75s ease both;
    animation-delay: calc(var(--ptpancar-reveal-delay, 0ms) + 120ms);
    transition: background-color 0.25s ease, transform 0.25s ease;
}

main section:nth-of-type(6) .rounded-lg:hover .mb-5.flex.size-16 {
    background-color: rgba(0, 83, 247, 0.12);
    animation: ptpancar-reason-icon-float 1.05s ease-in-out infinite;
}

main section:nth-of-type(6) .rounded-lg .mb-5.flex.size-16 img {
    transition: transform 0.25s ease, filter 0.25s ease;
}

main section:nth-of-type(6) .rounded-lg:hover .mb-5.flex.size-16 img {
    filter: saturate(1.12) contrast(1.08);
    transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
    main section:nth-of-type(6) .rounded-lg .mb-5.flex.size-16,
    main section:nth-of-type(6) .rounded-lg:hover .mb-5.flex.size-16,
    main section:nth-of-type(6) .rounded-lg .mb-5.flex.size-16 img,
    main section:nth-of-type(6) .rounded-lg:hover .mb-5.flex.size-16 img {
        animation: none !important;
        transform: none !important;
    }
}
