/*
Theme Name: Dermal Fillers Australia Storefront
Theme URI: https://dermalfillersaustralia.com/
Author: Dermal Fillers Australia
Description: Responsive WooCommerce storefront for Dermal Fillers Australia.
Version: 1.0.27
Text Domain: lsf-dermal-fillers
*/
body.admin-bar .modal { top: 32px; }
html.lock-mobile-search { overflow: hidden; }
.wp-content-shell { width: min(1360px, calc(100% - 40px)); min-height: 50vh; margin: 40px auto; }
.wp-page-card { padding: 30px; background: #fff; border: 1px solid var(--border-color); }
.wp-front-page-shell { margin-top: 30px; }
.wp-front-page-card { overflow: hidden; padding: 0; border: 0; background: transparent; }
.wp-front-page-card > *:not(.wp-block-cover):not(.woocommerce) { max-width: 1180px; margin-left: auto; margin-right: auto; }
.wp-front-page-card .wp-block-cover { min-height: 430px; margin-bottom: 42px; border-radius: 2px; }
.wp-front-page-card .wp-block-cover__inner-container { max-width: 850px; padding: 40px; }
.wp-front-page-card h1 { font-family: var(--heading-font-family); font-size: clamp(34px,5vw,58px); line-height: 1.08; }
.wp-front-page-card h2 { margin-top: 42px; color: var(--heading-color); font-family: var(--heading-font-family); font-size: clamp(25px,3vw,36px); }
.wp-front-page-card .wp-block-buttons { margin-top: 24px; margin-bottom: 32px; }
.wp-front-page-card .wp-block-button__link { border-radius: 2px; background: #ed84ae; font-weight: 600; }
.wp-front-page-card .woocommerce { max-width: 100%; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 25px; font-size: 14px; }
.woocommerce .page-title, .woocommerce div.product .product_title { color: var(--heading-color); font-family: var(--heading-font-family); font-weight: 600; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 25px 0; border: 1px solid var(--border-color); background: #fff; }
.woocommerce ul.products:before,.woocommerce ul.products:after { display:none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 20px; border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); background:#fff; }
.woocommerce ul.products li.product a img { aspect-ratio: 1/1; object-fit: contain; margin-bottom: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 46px; padding:0; color:var(--heading-color); font-size:15px; line-height:1.55; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color:var(--accent-color); font-weight:600; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { color:#fff; background:var(--primary-button-background); border-radius:2px; }
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce div.product form.cart .button { color:#fff !important; background:#ed84ae !important; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { color:#fff; background:var(--accent-color); }
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce div.product form.cart .button:hover { background:#d96f9c !important; }
.woocommerce span.onsale { background:#fa6161; border-radius:0; min-height:auto; line-height:1.4; padding:5px 9px; }
.woocommerce div.product { padding:30px; background:#fff; border:1px solid var(--border-color); }
.woocommerce div.product div.images img { object-fit:contain; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--accent-color); }
.woocommerce-message:before,.woocommerce-info:before { color:var(--accent-color); }
html.review-drawer-open { overflow:hidden; }
html.review-drawer-open .trust-tab { opacity:0; pointer-events:none; }
.dfa-review-drawer[hidden] { display:none !important; }
.dfa-review-drawer { position:fixed; inset:0; z-index:100000; display:block; }
.dfa-review-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(20,25,31,.58); opacity:0; transition:opacity .25s ease; cursor:pointer; }
.dfa-review-panel { position:absolute; top:0; right:0; display:flex; flex-direction:column; width:min(460px,calc(100% - 24px)); height:100%; overflow:hidden; background:#fff; box-shadow:-12px 0 40px rgba(0,0,0,.22); transform:translateX(105%); transition:transform .25s ease; }
.dfa-review-drawer.is-open .dfa-review-backdrop { opacity:1; }
.dfa-review-drawer.is-open .dfa-review-panel { transform:translateX(0); }
.dfa-review-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:25px 25px 20px; color:#fff; background:#ed84ae; }
.dfa-review-header h2 { margin:3px 0 0; color:#fff; font-family:var(--heading-font-family); font-size:27px; line-height:1.2; }
.dfa-review-kicker { font-size:11px; font-weight:700; letter-spacing:.12em; opacity:.9; }
.dfa-review-close { flex:0 0 auto; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:#fff; background:transparent; font-size:30px; line-height:32px; cursor:pointer; }
.dfa-review-body { flex:1; overflow:auto; padding:24px; }
.dfa-review-summary { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; margin-bottom:22px; padding:18px; border:1px solid #eadde3; background:#fff8fb; }
.dfa-review-summary strong { color:var(--heading-color); font-size:22px; }
.dfa-review-summary small { grid-column:1/-1; color:#6f6770; }
.dfa-review-stars { color:#ffb400; font-size:20px; letter-spacing:2px; }
.dfa-review-list { display:grid; gap:14px; }
.dfa-review-card { padding:18px; border:1px solid #e6e2e4; border-radius:3px; background:#fff; }
.dfa-review-card p { margin:10px 0 14px; color:#353238; line-height:1.65; }
.dfa-review-card footer { display:grid; gap:2px; color:#777078; font-size:12px; }
.dfa-review-card footer strong { color:#302b31; font-size:14px; }
.dfa-review-card footer time { margin-top:3px; }
.dfa-review-empty { padding:30px 18px; text-align:center; border:1px solid #eadde3; background:#fff8fb; }
.dfa-review-empty .dfa-review-stars { font-size:28px; }
.dfa-review-empty h3 { margin:14px 0 9px; color:var(--heading-color); font-family:var(--heading-font-family); font-size:22px; }
.dfa-review-empty p { margin:9px 0; color:#5f5960; line-height:1.6; }
.dfa-review-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px; margin-top:22px; }
.dfa-review-actions .button { padding:12px 18px; color:#fff; background:#ed84ae; }
.dfa-review-policy { margin:20px 0 0; color:#817a82; font-size:11px; line-height:1.5; text-align:center; }
@media (min-width: 1440px){.woocommerce ul.products{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media (max-width: 600px){.dfa-review-panel{width:100%;}.dfa-review-body{padding:20px}.dfa-review-header{padding:22px 20px 18px}.dfa-review-empty{padding:26px 16px}.dfa-review-actions{flex-direction:column}.dfa-review-actions .button{width:100%;text-align:center}}
@media (max-width: 999px){html,body{max-width:100%;overflow-x:hidden}body.admin-bar .modal{top:46px}.wp-content-shell{width:100%;margin:20px auto}.wp-page-card,.woocommerce div.product{padding:20px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}.woocommerce ul.products li.product{padding:15px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px;min-height:65px}}
