/*
Theme Name: Big Services
Theme URI: https://bigservices.com.au
Author: Big Services Pty Ltd
Description: Custom theme for Big Services Pty Ltd, emulsion tank supply, rebuild and repair. Includes Home, About, Services, Gallery, Testimonials and Contact pages, and full WooCommerce shop styling (use with WooCommerce and WooCommerce PayPal Payments).
Version: 1.0.1
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bigservices
WC requires at least: 8.0
*/

:root{
  --steel:#1C3144; --steel-2:#2B4760; --sky:#EEF1F3; --paper:#FFFFFF;
  --amber:#E8A317; --amber-ink:#5C3D00; --bitumen:#4A3326; --line:#C9D1D8;
  --ink:#16222E; --muted:#56657A; --bg:#EEF1F3; --card:#FFFFFF;
  --font:"Archivo", "Arial Narrow", Arial, Helvetica, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#101B25; --card:#172633; --ink:#E7EDF2; --muted:#9EAFBF; --line:#2B3D4E;
    --sky:#172633; --paper:#172633;
  }
}
:root[data-theme="dark"]{
  --bg:#101B25; --card:#172633; --ink:#E7EDF2; --muted:#9EAFBF; --line:#2B3D4E;
  --sky:#172633; --paper:#172633;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.55}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-stretch:125%;line-height:1.05;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:900}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{max-width:64ch;margin:0 0 1em}
.btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-weight:700;font-stretch:110%;border:2px solid transparent;border-radius:4px;padding:.75rem 1.25rem;cursor:pointer;text-decoration:none}
.btn-amber{background:var(--amber);color:#1C1300}
.btn-amber:hover{background:#F5B533}
.btn-line{border-color:currentColor;background:transparent;color:inherit}

/* Header */
header.top{background:var(--steel);color:#fff;position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px}
.logo{display:flex;align-items:center;text-decoration:none;color:#fff}
.logo svg{height:44px;width:auto}
nav.main{display:flex;gap:1.5rem;align-items:center}
nav.main a{text-decoration:none;font-weight:600;opacity:.85}
nav.main a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.cart-btn{position:relative;background:transparent;border:2px solid rgba(255,255,255,.35);color:#fff;border-radius:4px;padding:.5rem .8rem;font:inherit;font-weight:700;cursor:pointer;display:flex;gap:.4rem;align-items:center}
.cart-count{background:var(--amber);color:#1C1300;border-radius:999px;min-width:1.5rem;height:1.5rem;display:inline-grid;place-items:center;font-size:.85rem}
.menu-toggle{display:none;background:none;border:0;color:#fff;font:inherit;font-weight:700;cursor:pointer}
@media (max-width:760px){
  nav.main{display:none;position:absolute;top:72px;left:0;right:0;background:var(--steel);flex-direction:column;align-items:flex-start;padding:1rem 1.25rem 1.5rem}
  nav.main.open{display:flex}
  .menu-toggle{display:block}
}

/* Hero */
.hero{background:var(--steel);color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding-top:3.5rem;padding-bottom:3.5rem}
.hero p{color:#C8D5E1;font-size:1.2rem}
.hero .actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.stamp{display:inline-block;border:2px solid var(--amber);color:var(--amber);padding:.3rem .7rem;border-radius:4px;font-weight:700;margin-bottom:1.25rem}
.tank-fig{position:relative;margin:0;background:var(--steel);border-radius:8px;padding:1.5rem}
.tanks-grid .intro{grid-template-columns:1fr;gap:0;margin-bottom:1.5rem}
.hero-photo{margin:0;height:100%;min-height:420px}
.hero-photo img{width:100%;height:100%;max-height:560px;object-fit:cover;border-radius:8px;display:block}
.tanks-grid{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start}
@media (max-width:900px){.tanks-grid{grid-template-columns:1fr}.hero-photo{min-height:0}.hero-photo img{max-height:420px}}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.photo-strip img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;display:block}
@media (max-width:700px){.photo-strip{grid-template-columns:1fr 1fr}.photo-strip a:last-child{display:none}}
.about-photo{width:100%;max-height:520px;object-fit:cover;object-position:center 30%;border-radius:8px;display:block}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.tank-fig{max-width:420px;margin:0 auto}}
.agitator{transform-origin:200px 250px;animation:spin 9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Anatomy */
section{padding:4.5rem 0}
.anatomy{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:4px solid var(--steel);background:var(--card)}
.anatomy article{padding:1.5rem 1.25rem;border-bottom:1px solid var(--line)}
.anatomy article:nth-child(odd){border-right:1px solid var(--line)}
.anatomy article:nth-last-child(-n+2){border-bottom:0}
.anatomy .tag{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--amber);color:#1C1300;font-weight:800;margin-bottom:.75rem}
.anatomy p{color:var(--muted);margin:0}
@media (max-width:520px){.anatomy{grid-template-columns:1fr}.anatomy article{border-right:0!important;border-bottom:1px solid var(--line)!important}}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;align-items:end}
@media (max-width:760px){.intro{grid-template-columns:1fr}}
.lead{font-size:1.2rem;color:var(--muted)}

/* Services */
.services{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:280px 1fr;gap:3rem}
@media (max-width:860px){.svc-grid{grid-template-columns:1fr}}
.years{font-stretch:62%;font-weight:900;font-size:clamp(7rem,16vw,11rem);line-height:.85;color:var(--steel)}
:root[data-theme="dark"] .years{color:var(--amber)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .years{color:var(--amber)}}
.years small{display:block;font-stretch:100%;font-size:1.1rem;font-weight:600;color:var(--muted);margin-top:.5rem}
.svc-list{list-style:none;margin:0;padding:0}
.svc-list li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line)}
.svc-list li:first-child{border-top:0;padding-top:0}
.svc-list .n{font-stretch:125%;font-weight:900;font-size:1.6rem;color:var(--amber)}
.svc-list p{color:var(--muted);margin:0}
.svc-note{font-size:.95rem;color:var(--muted);margin-top:1rem}

.shop-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.shop-head h2{margin:0}
.demo-note{background:#FFF6E0;color:var(--amber-ink);border-left:4px solid var(--amber);padding:.75rem 1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.95rem}

/* Contact */
.contact{background:var(--steel);color:#fff}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}}
.contact p{color:#C8D5E1}
.big-link{display:block;font-stretch:115%;font-weight:800;font-size:clamp(1.3rem,3vw,1.9rem);text-decoration:none;color:#fff;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.2);overflow-wrap:anywhere}
.big-link:hover{color:var(--amber)}
.big-link span{display:block;font-size:.9rem;font-weight:500;font-stretch:100%;color:#9FB3C6}
form.enquiry{display:grid;gap:.9rem}
.enquiry label{font-weight:600;font-size:.95rem;display:grid;gap:.3rem}
.enquiry input,.enquiry textarea,.enquiry select{font:inherit;padding:.7rem .8rem;border-radius:4px;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%}
input,textarea,select,button{font:inherit}
.contact input,.contact textarea,.contact select{background:#fff;color:#16222E;border-color:transparent}
footer{background:#132433;color:#9FB3C6;padding:2rem 0;font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}


/* About page */
.about-hero{background:var(--steel);color:#fff}
.about-hero .wrap{display:grid;grid-template-columns:auto 1fr;gap:3rem;align-items:center}
.about-hero p{color:#C8D5E1;font-size:1.2rem}
.since{font-stretch:62%;font-weight:900;font-size:clamp(6rem,15vw,10rem);line-height:.85;color:var(--amber)}
.since span{display:block;font-stretch:100%;font-size:1.1rem;font-weight:600;color:#9FB3C6;margin-bottom:.4rem}
@media (max-width:760px){.about-hero .wrap{grid-template-columns:1fr;gap:1.5rem}}
.expertise{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:4px solid var(--steel);padding-top:1.5rem}
.expertise p{color:var(--muted);margin:0}
@media (max-width:760px){.expertise{grid-template-columns:1fr}}
.commit{display:grid;grid-template-columns:280px 1fr;gap:3rem}
@media (max-width:860px){.commit{grid-template-columns:1fr;gap:1rem}}
.pull{font-stretch:115%;font-weight:700;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;border-left:6px solid var(--amber);padding-left:1rem;max-width:32ch}


.svc-cards{display:grid;grid-template-columns:repeat(5,1fr);border-top:4px solid var(--steel)}
.svc-cards a{text-decoration:none;padding:1.25rem 1rem;border-right:1px solid var(--line)}
.svc-cards a:last-child{border-right:0}
.svc-cards a:hover h3{text-decoration:underline;text-decoration-color:var(--amber);text-underline-offset:4px}
.svc-cards p{color:var(--muted);margin:0;font-size:.95rem}
@media (max-width:900px){.svc-cards{grid-template-columns:1fr 1fr}.svc-cards a{border-bottom:1px solid var(--line)}}
@media (max-width:520px){.svc-cards{grid-template-columns:1fr}.svc-cards a{border-right:0}}
.svc-h{font-size:1.25rem;font-weight:700}
.cta-band{background:var(--amber);color:#1C1300;padding:3rem 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.cta-band h2{margin:0;max-width:22ch}
.cta-band .btn-amber{background:var(--steel);color:#fff}
.cta-band .btn-line{color:#1C1300}
.contact h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.contact .wrap{padding-top:1rem}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.quotes blockquote{margin:0;background:var(--card);border-left:6px solid var(--amber);padding:1.5rem;border-radius:0 6px 6px 0}
.quotes p{font-size:1.1rem}
.quotes footer{font-weight:700;background:none;padding:0;color:var(--ink)}
.quotes footer span{display:block;font-weight:500;color:var(--muted);font-size:.9rem}

/* ---------- WordPress additions ---------- */
.hero{padding:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--amber);color:#1C1300;padding:.6rem 1rem;z-index:100}
.skip-link:focus{left:1rem;top:1rem}
.top-right{display:flex;gap:.75rem;align-items:center}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:1.5rem;align-items:center}
nav.main li{margin:0}
nav.main .current-menu-item > a,nav.main .current_page_item > a{opacity:1;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--amber)}
@media (max-width:760px){nav.main ul{flex-direction:column;align-items:flex-start;gap:1rem}}
a.cart-btn{text-decoration:none}
.logo img{height:52px;width:auto;display:block}
.btn-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.form-note{padding:.75rem 1rem;border-radius:4px;font-weight:600;margin:0}
.form-note.ok{background:#E3F4EA;color:#1D5C37}
.form-note.bad{background:#FBE9E7;color:#8C1D18}
footer.site-footer .footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
.entry-content{max-width:1180px}
.entry-content > *{max-width:72ch}
.entry-content > .alignwide,.entry-content > .alignfull,.entry-content > .wp-block-gallery,.entry-content > .woocommerce,.entry-content > .wp-block-woocommerce-cart,.entry-content > .wp-block-woocommerce-checkout,.entry-content > .wc-block-cart,.entry-content > .wc-block-checkout{max-width:none}
.entry-content img{height:auto}
.wp-block-gallery figcaption{font-size:.9rem}
.gallery-page .wp-block-gallery.has-nested-images figure.wp-block-image{border-radius:6px;overflow:hidden}
.post-summary{padding:1.25rem 0;border-bottom:1px solid var(--line)}

/* ---------- WooCommerce ---------- */
.woo-section{padding-top:3rem}
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.9rem;margin-bottom:1.5rem}
.woocommerce .woocommerce-breadcrumb a{color:inherit}
.woocommerce .woocommerce-result-count{color:var(--muted)}
.woocommerce .woocommerce-ordering select{width:auto}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin:0 0 2rem!important;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;padding:0 0 1.1rem!important}
.woocommerce ul.products li.product a img{margin:0 0 .9rem!important;aspect-ratio:4/3;object-fit:cover;background:var(--sky)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font);font-stretch:110%;font-size:1.1rem!important;font-weight:700;padding:0 1.1rem!important;color:var(--ink)}
.woocommerce ul.products li.product .price{padding:0 1.1rem;color:var(--ink)!important;font-weight:800;font-size:1.15rem!important}
.woocommerce ul.products li.product .button{margin:auto 1.1rem 0!important;align-self:flex-start}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{background:var(--amber);color:#1C1300;border-radius:4px;min-height:0;min-width:0;padding:.2rem .6rem;line-height:1.4;font-weight:700}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link){font-family:var(--font)!important;font-weight:700!important;font-stretch:110%;background:var(--amber)!important;color:#1C1300!important;border-radius:4px!important;padding:.75rem 1.25rem!important;border:0!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:not(.is-link):hover{background:#F5B533!important}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--steel)!important;color:#fff!important}
.woocommerce a.added_to_cart{display:inline-block;margin:.5rem 1.1rem 0;font-weight:600}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3.5vw,2.6rem)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink)!important;font-weight:800;font-size:1.6rem!important}
.woocommerce div.product form.cart .qty{padding:.6rem;width:5em}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--card);border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--card)}
.woocommerce div.product .woocommerce-product-gallery{border-radius:6px;overflow:hidden}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--amber);background:var(--card);color:var(--ink)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--amber)}
.woocommerce .woocommerce-error{border-top-color:#B3261E;background:var(--card)}
.woocommerce table.shop_table{background:var(--card);border-color:var(--line);border-radius:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--line);border-radius:4px;padding:.7rem .8rem;background:var(--paper);color:var(--ink)}
.woocommerce-checkout #payment{background:var(--card)!important;border:1px solid var(--line);border-radius:6px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--steel);color:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:.5rem 0;border-bottom:1px solid var(--line);text-decoration:none}

/* Gallery page: match the preview (whole photos in cards, caption underneath) */
.gallery-page .wp-block-gallery.has-nested-images{display:block!important;columns:3 280px;column-gap:1.25rem}
.gallery-page .wp-block-gallery.has-nested-images figure.wp-block-image{display:block!important;width:100%!important;margin:0 0 1.25rem!important;break-inside:avoid;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.gallery-page .wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%!important;height:auto!important;object-fit:initial!important;display:block;cursor:zoom-in}
.gallery-page .wp-block-gallery.has-nested-images figure.wp-block-image > a{display:block}
.gallery-page .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{position:static!important;background:none!important;color:var(--ink)!important;text-shadow:none!important;padding:.6rem .8rem!important;font-size:.95rem!important;text-align:left!important;max-height:none!important;overflow:visible!important}
.gallery-page .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before{display:none!important}
