/*
Theme Name: Punchline Press
Description: Funny Saying T-Shirts — "Punchline Press" speech-bubble system: cream / blush / aubergine ink / coral. Child of Flatsome.
Author: Funny Saying T-Shirts
Template: flatsome
Version: 1.0.0
Text Domain: punchline-press
*/
@font-face{font-family:'Lilita One';src:url('https://funnysayingtshirts.com/wp-content/themes/punchline-press/fonts/lilita-one-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --fs-ink:#2A1636; --fs-ink-2:#4A3656; --fs-cream:#FFF9F2; --fs-blush:#FFE6DC; --fs-coral:#FF5A3C; --fs-coral-dk:#E2462A;
  --fs-line:#EBDCD3; --fs-muted:#6E5C78; --fs-white:#FFFFFF;
  --fs-radius:22px; --fs-radius-sm:12px;
  --fs-display:'Lilita One','Arial Rounded MT Bold',ui-rounded,system-ui,sans-serif;
  --fs-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
/* ---------- base ---------- */
html,body{background:var(--fs-cream)}
body{font-family:var(--fs-sans);color:var(--fs-ink)}
h1,h2,h3,h4,.heading-font,.section-title span,.product-main .product-title,.product-category .box-text h5{font-family:var(--fs-display)!important;font-weight:400!important;letter-spacing:.005em;color:var(--fs-ink)}
h1{line-height:1.02} h2{line-height:1.08}
a{color:var(--fs-ink);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--fs-coral-dk)}
:focus-visible{outline:3px solid var(--fs-coral);outline-offset:3px}
::selection{background:var(--fs-coral);color:var(--fs-ink)}
#wrapper,#main,.page-wrapper{background:var(--fs-cream)}
/* ---------- header ---------- */
.header-top{background:var(--fs-ink)!important;color:#fff}
.header-top a{color:var(--fs-blush)}
.header-main{background:var(--fs-cream)!important}
.header-bottom{background:var(--fs-cream)!important;border-top:1px solid var(--fs-line);border-bottom:1px solid var(--fs-line)}
.header-bottom .header-nav>li>a{font-family:var(--fs-display)!important;font-weight:400!important;font-size:1.05em;letter-spacing:.01em;text-transform:none;color:var(--fs-ink)!important}
.header-bottom .header-nav>li>a:hover,.header-bottom .header-nav>li.active>a{color:var(--fs-coral-dk)!important}
.header-search-form .search-field{border:1.5px solid var(--fs-line)!important;border-radius:var(--fs-radius-sm) 0 0 var(--fs-radius-sm)!important;background:#fff!important;box-shadow:none}
.header-search-form .ux-search-submit{border-radius:0 var(--fs-radius-sm) var(--fs-radius-sm) 0!important;background:var(--fs-ink)!important;color:#fff!important}
.cart-icon strong{border-color:var(--fs-ink);color:var(--fs-ink)}
.cart-icon strong:after{border-color:var(--fs-ink)}
/* ---------- buttons: bubble with a little tail ---------- */
.button,button.button,input[type=submit],.single_add_to_cart_button.button,.checkout-button{font-family:var(--fs-display)!important;font-weight:400!important;letter-spacing:.02em;text-transform:none;border-radius:var(--fs-radius-sm)!important;font-size:1.05em}
.button.primary:not(.is-outline),.button.secondary:not(.is-outline),button.button.alt,.single_add_to_cart_button.button,.checkout-button.button,input[type=submit].button{background:var(--fs-coral)!important;color:var(--fs-ink)!important;border:0!important;box-shadow:none;position:relative;transition:background .15s,transform .15s}
.button.primary:not(.is-outline):hover,.single_add_to_cart_button.button:hover,.checkout-button.button:hover{background:var(--fs-coral-dk)!important;transform:translateY(-1px)}
.button.is-outline{border:2px solid currentColor!important;color:var(--fs-ink);border-radius:var(--fs-radius-sm)!important}
.dark .button.is-outline{color:#fff}
.dark .button.primary:not(.is-outline){color:var(--fs-ink)!important}
/* ---------- product cards ---------- */
.product-small .box-image{border-radius:var(--fs-radius);overflow:hidden;background:var(--fs-blush)}
.product-small .box-text{padding-top:12px}
.product-small .product-title a{font-family:var(--fs-sans);font-weight:600;color:var(--fs-ink)}
.product-small .category{color:var(--fs-muted);text-transform:none;letter-spacing:0}
.product-small:hover .box-image{transform:rotate(-1deg);transition:transform .2s}
.price .amount,.price ins .amount{color:var(--fs-ink);font-weight:700}
.price del .amount{color:var(--fs-muted)}
.badge-inner,.on-sale{background:var(--fs-ink)!important;color:#fff!important;border-radius:var(--fs-radius-sm)}
.star-rating span::before,.star-rating::before{color:var(--fs-coral)}
/* ---------- category tiles = speech bubbles ---------- */
.product-category .col-inner{position:relative}
.product-category .box-image{border-radius:var(--fs-radius);background:var(--fs-blush);overflow:hidden}
.product-category .box-text{background:var(--fs-ink);border-radius:var(--fs-radius-sm);margin:-30px 14px 0;position:relative;padding:12px 16px!important;z-index:2}
.product-category .box-text:before{content:"";position:absolute;top:-10px;left:26px;border:10px solid transparent;border-bottom-color:var(--fs-ink);border-top:0}
.product-category .box-text h5,.product-category .header-title{font-family:var(--fs-display);font-weight:400;text-transform:none;font-size:1.15em;letter-spacing:.01em;color:#fff!important}
.product-category .count{display:none}
.product-category:hover .box-text{background:var(--fs-coral)}
.product-category:hover .box-text h5{color:var(--fs-ink)!important}
.product-category:hover .box-text:before{border-bottom-color:var(--fs-coral)}
/* ---------- PDP ---------- */
.product-main .product-title{font-size:2.1em;line-height:1.05}
.fs-delivery{background:#fff;border:1.5px solid var(--fs-line);border-left:6px solid var(--fs-coral);border-radius:var(--fs-radius-sm);padding:14px 16px;margin-top:14px}
.fs-size-guide-link{color:var(--fs-ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--fs-coral);text-decoration-thickness:3px}
.variations .ux-swatch{border:1.5px solid var(--fs-ink-2)!important;border-radius:10px!important;font-weight:600}
.variations .ux-swatch.selected{background:var(--fs-ink)!important;color:#fff!important;box-shadow:none!important}
.woocommerce-tabs .nav>li.active>a{border-color:var(--fs-coral);color:var(--fs-ink)}
.product-main{background:var(--fs-cream)}
/* ---------- footer ---------- */
.footer-wrapper .widget-title,.footer-wrapper h3,.footer-wrapper h4{color:#fff}
.absolute-footer{background:#1E0F27!important;color:#CDBFD4;border-top:1px solid #3a2a46}
/* ---------- homepage pieces ---------- */
.fs-hero{background:var(--fs-ink)}
.fs-hero h1{font-size:clamp(2.6em,6vw,5em);color:#fff!important;margin-bottom:.3em}
.fs-hero h1 em{font-style:normal;color:var(--fs-coral)}
.fs-hero p.lead{font-size:1.2em;max-width:520px;color:#E9DDEE}
.fs-bubble-kicker{display:inline-block;position:relative;background:var(--fs-coral);color:var(--fs-ink);border-radius:var(--fs-radius-sm);padding:6px 14px;font-family:var(--fs-display);font-size:1em;margin-bottom:18px}
.fs-bubble-kicker:after{content:"";position:absolute;bottom:-9px;left:18px;border:9px solid transparent;border-top-color:var(--fs-coral);border-bottom:0}
.fs-squiggle{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 5 Q5 0 10 5 T20 5 T30 5 T40 5' fill='none' stroke='%23FF5A3C' stroke-width='3'/%3E%3C/svg%3E") repeat-x left bottom/40px 10px;padding-bottom:10px}
.fs-section-head p{color:var(--fs-muted);max-width:620px}
.fs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:fs}
.fs-step{background:#fff;border-radius:var(--fs-radius);padding:26px 24px;position:relative}
.fs-step:before{counter-increment:fs;content:counter(fs);font-family:var(--fs-display);font-size:1.6em;color:var(--fs-ink);background:var(--fs-coral);width:52px;height:52px;border-radius:50% 50% 50% 8px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.fs-step h3{font-size:1.35em;margin-bottom:6px}
.fs-quote-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fs-quote{background:var(--fs-blush);border-radius:var(--fs-radius);padding:22px 22px 26px;font-family:var(--fs-display);font-size:1.35em;line-height:1.2;position:relative}
.fs-quote:after{content:"";position:absolute;bottom:-12px;left:30px;border:12px solid transparent;border-top-color:var(--fs-blush);border-bottom:0}
.fs-quote:nth-child(2){background:var(--fs-ink);color:#fff}.fs-quote:nth-child(2):after{border-top-color:var(--fs-ink)}
.fs-quote:nth-child(3){background:var(--fs-coral)}.fs-quote:nth-child(3):after{border-top-color:var(--fs-coral)}
.fs-quote small{display:block;font-family:var(--fs-sans);font-size:.55em;margin-top:10px;opacity:.75}
.fs-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fs-fact{border-top:4px solid var(--fs-coral);padding-top:14px}
.fs-fact h3{font-size:1.25em;margin-bottom:6px}
.fs-faq details{background:#fff;border-radius:var(--fs-radius-sm);padding:14px 18px;margin-bottom:10px}
.fs-faq summary{font-weight:700;cursor:pointer;list-style:none}
.fs-faq summary:after{content:"+";float:right;font-family:var(--fs-display);color:var(--fs-coral-dk);font-size:1.3em;line-height:1}
.fs-faq details[open] summary:after{content:"–"}
.fs-faq details p{margin:10px 0 0}
.fs-cta{background:var(--fs-coral)}
.fs-cta h2{color:var(--fs-ink)!important}
@media (max-width:849px){.fs-steps,.fs-quote-wall,.fs-facts{grid-template-columns:1fr}.fs-quote-wall{gap:26px}}
@media (prefers-reduced-motion:reduce){.product-small:hover .box-image{transform:none}}
.fs-cta .button{background:var(--fs-ink)!important;color:#fff!important}
.fs-cta .button:hover{background:#1E0F27!important}
.fs-hero .button.is-outline{color:#fff!important;border-color:#fff!important}
.woocommerce-tabs .nav li.cs-tab-review{display:none}
.variations .ux-swatch{text-transform:uppercase}
.cr-all-reviews-add-review,.cr-ajax-reviews-add-review{background:var(--fs-ink)!important;color:#fff!important;border-radius:var(--fs-radius-sm)!important}
.fs-archive-title{font-size:2.2em;margin:0 0 4px;width:100%}
.category-page-title .page-title-inner{flex-wrap:wrap}
