/*
Theme Name: Temmahs Place
Theme URI: https://example.com/
Author: PM Walker
Description: Premium, mobile-first WooCommerce storefront for Temmahs Place — Home of Luxury Items.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: temmahs-place
*/

:root{
  --tp-black:#080808;
  --tp-black-2:#121212;
  --tp-white:#fff;
  --tp-soft:#f7f5f1;
  --tp-gold:#c89b3c;
  --tp-gold-2:#f1c75b;
  --tp-text:#1a1a1a;
  --tp-muted:#777;
  --tp-border:#e7e2d8;
  --tp-radius:18px;
  --tp-shadow:0 16px 50px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--tp-text);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,92%);margin-inline:auto}
.site-main{min-height:60vh}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.tp-topbar{background:var(--tp-black);color:#fff;font-size:12px;padding:8px 0}
.tp-topbar .container{display:flex;justify-content:space-between;gap:16px;align-items:center}
.tp-topbar a{color:var(--tp-gold-2)}
.tp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--tp-border)}
.tp-header-main{display:flex;align-items:center;gap:28px;min-height:86px}
.tp-brand img{width:118px;height:74px;object-fit:contain;display:block}
.tp-brand-text{font-family:Georgia,serif;font-weight:700;letter-spacing:.08em;font-size:18px}
.tp-nav{flex:1}
.tp-menu{display:flex;align-items:center;justify-content:center;gap:24px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.tp-menu a:hover,.tp-menu .current-menu-item>a{color:#a67920}
.tp-actions{display:flex;align-items:center;gap:10px}
.tp-action{width:40px;height:40px;border:1px solid var(--tp-border);border-radius:50%;display:grid;place-items:center;background:#fff}
.tp-action:hover{border-color:var(--tp-gold)}
.tp-menu-toggle{display:none;background:none;border:0;font-size:25px}

.tp-hero{background:linear-gradient(105deg,#090909 0%,#17130c 58%,#080808 100%);color:#fff;position:relative;overflow:hidden}
.tp-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(241,199,91,.22);border-radius:50%;right:-180px;top:-180px;box-shadow:0 0 0 28px rgba(241,199,91,.03),0 0 0 56px rgba(241,199,91,.02)}
.tp-hero-inner{min-height:560px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;position:relative;z-index:1}
.tp-kicker{color:var(--tp-gold-2);text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:800}
.tp-hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:1.02;margin:12px 0 20px;max-width:720px}
.tp-hero h1 span{color:var(--tp-gold-2)}
.tp-hero p{font-size:18px;color:#ddd;max-width:600px}
.tp-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;cursor:pointer}
.tp-btn-gold{background:var(--tp-gold-2);color:#111}
.tp-btn-gold:hover{background:#fff}
.tp-btn-outline{border-color:#777;color:#fff}
.tp-btn-outline:hover{border-color:var(--tp-gold-2);color:var(--tp-gold-2)}
.tp-hero-card{display:flex;justify-content:center}
.tp-logo-disc{width:min(390px,80vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(241,199,91,.65);padding:18px;box-shadow:0 0 70px rgba(200,155,60,.13),inset 0 0 45px rgba(200,155,60,.08)}
.tp-logo-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

.tp-section{padding:72px 0}
.tp-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
.tp-section-head h2{font-family:Georgia,serif;font-size:38px;line-height:1.1;margin:5px 0}
.tp-section-head p{color:var(--tp-muted);margin:0}
.tp-link{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#9a721e}
.tp-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tp-category{min-height:230px;border-radius:var(--tp-radius);padding:28px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;background:linear-gradient(135deg,#121212,#2a2418);color:#fff}
.tp-category:nth-child(2){background:linear-gradient(135deg,#ece9e2,#bfb7a7);color:#111}
.tp-category:nth-child(3){background:linear-gradient(135deg,#171717,#3b3b3b);color:#fff}
.tp-category:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(241,199,91,.28),transparent 35%)}
.tp-category>*{position:relative}
.tp-category h3{font-family:Georgia,serif;font-size:30px;margin:0 0 5px}
.tp-category p{margin:0 0 18px;opacity:.8}
.tp-category .tp-btn{align-self:flex-start;background:#fff;color:#111}

.tp-dark{background:var(--tp-black);color:#fff}
.tp-dark .tp-section-head p{color:#aaa}
.tp-product-wrap .products{margin:0!important}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:24px;margin:0!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;border:1px solid var(--tp-border);border-radius:16px;overflow:hidden;padding:0!important;transition:.25s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--tp-shadow)}
.woocommerce ul.products li.product a img{margin:0!important;width:100%!important;aspect-ratio:1/1.08;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;padding:15px 15px 3px!important}
.woocommerce ul.products li.product .price{padding:0 15px 8px;color:#111!important;font-weight:800}
.woocommerce ul.products li.product .button{margin:0 15px 18px!important;background:#111!important;color:#fff!important;border-radius:999px!important;text-align:center;width:calc(100% - 30px);font-size:12px;text-transform:uppercase}
.woocommerce span.onsale{background:var(--tp-gold)!important;color:#111!important;min-height:auto!important;line-height:1.4!important;padding:6px 10px!important;border-radius:999px!important;top:12px!important;left:12px!important}

.tp-promo{display:grid;grid-template-columns:1fr 1fr;min-height:360px}
.tp-promo-media{background:linear-gradient(135deg,#d7c49a,#151515);min-height:320px}
.tp-promo-copy{padding:60px;background:#111;color:#fff;display:flex;justify-content:center;flex-direction:column}
.tp-promo-copy h2{font-family:Georgia,serif;font-size:44px;line-height:1.05;margin:10px 0 16px}
.tp-promo-copy p{color:#bbb;max-width:500px}

.tp-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tp-trust-item{padding:25px;border:1px solid var(--tp-border);border-radius:14px;text-align:center}
.tp-trust-item strong{display:block;margin-bottom:5px}
.tp-trust-item span{font-size:13px;color:var(--tp-muted)}

.tp-newsletter{background:var(--tp-soft);border-top:1px solid var(--tp-border);border-bottom:1px solid var(--tp-border)}
.tp-newsletter-inner{text-align:center;max-width:700px;margin:auto}
.tp-newsletter h2{font-family:Georgia,serif;font-size:38px;margin:0 0 10px}
.tp-newsletter p{color:var(--tp-muted)}
.tp-newsletter-form{display:flex;max-width:600px;margin:24px auto 0;background:#fff;border:1px solid var(--tp-border);border-radius:999px;padding:5px}
.tp-newsletter-form input{border:0;outline:0;flex:1;padding:12px 18px;background:transparent;min-width:0}
.tp-newsletter-form button{border:0}

.tp-footer{background:#080808;color:#fff;padding:55px 0 25px}
.tp-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:35px}
.tp-footer h3{font-family:Georgia,serif;color:var(--tp-gold-2);margin-top:0}
.tp-footer p,.tp-footer li{color:#aaa;font-size:14px}
.tp-footer ul{padding:0;margin:0;list-style:none}
.tp-footer li{margin:8px 0}
.tp-footer a:hover{color:var(--tp-gold-2)}
.tp-footer-logo{width:145px;margin-bottom:12px}
.tp-footer-bottom{border-top:1px solid #222;margin-top:35px;padding-top:18px;color:#777;font-size:12px;display:flex;justify-content:space-between;gap:20px}

.tp-whatsapp{position:fixed;right:18px;bottom:18px;z-index:100;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:26px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.tp-whatsapp:hover{transform:translateY(-2px)}

.woocommerce .site-main,.woocommerce-page .site-main{padding:45px 0}
.woocommerce .page-title{font-family:Georgia,serif;font-size:42px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:999px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--tp-gold)!important}
.woocommerce-cart .cart-collaterals .cart_totals h2,.woocommerce-checkout h3{font-family:Georgia,serif}

.tp-mobile-bar{display:none}

@media(max-width:980px){
  .tp-menu{gap:12px;font-size:11px}
  .tp-actions{gap:5px}
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}
  .tp-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .tp-topbar .container{justify-content:center;text-align:center}
  .tp-topbar .container span:first-child{display:none}
  .tp-header-main{min-height:72px;justify-content:space-between}
  .tp-brand img{width:92px;height:58px}
  .tp-nav{display:none}
  .tp-menu-toggle{display:block}
  .tp-header-main .tp-actions .tp-action:nth-child(2){display:none}
  .tp-hero-inner{grid-template-columns:1fr;padding:65px 0 75px;min-height:auto}
  .tp-hero-card{order:-1}
  .tp-logo-disc{width:220px}
  .tp-hero h1{font-size:48px}
  .tp-hero p{font-size:16px}
  .tp-section{padding:52px 0}
  .tp-section-head{display:block}
  .tp-section-head h2{font-size:31px}
  .tp-section-head .tp-link{display:inline-block;margin-top:10px}
  .tp-categories{grid-template-columns:1fr}
  .tp-category{min-height:210px}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px;padding:11px 11px 2px!important}
  .woocommerce ul.products li.product .price{padding:0 11px 5px;font-size:13px}
  .woocommerce ul.products li.product .button{margin:0 11px 13px!important;width:calc(100% - 22px)}
  .tp-promo{grid-template-columns:1fr}
  .tp-promo-media{min-height:230px}
  .tp-promo-copy{padding:42px 24px}
  .tp-promo-copy h2{font-size:36px}
  .tp-trust{grid-template-columns:1fr 1fr}
  .tp-newsletter-form{border-radius:18px;display:block;background:transparent;border:0}
  .tp-newsletter-form input{width:100%;border:1px solid var(--tp-border);border-radius:999px;background:#fff;margin-bottom:9px}
  .tp-newsletter-form button{width:100%}
  .tp-footer-grid{grid-template-columns:1fr}
  .tp-footer-bottom{display:block}
  .tp-footer-bottom div+div{margin-top:8px}
  .tp-mobile-bar{position:fixed;display:flex;bottom:0;left:0;right:0;height:62px;background:#fff;border-top:1px solid var(--tp-border);z-index:90;justify-content:space-around;align-items:center}
  .tp-mobile-bar a{font-size:10px;text-align:center;font-weight:700}
  .tp-mobile-bar span{display:block;font-size:19px;line-height:20px}
  body{padding-bottom:62px}
}

/* Temmahs Place homepage category image boxes */
.tp-category-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.tp-category-card {
  display: block;
  overflow: hidden;
  padding: 0 !important;
  border-radius: 12px;
  background: #fff;
  color: #222;
  text-decoration: none;
  border: 1px solid #eee;
  transition: transform .25s ease, box-shadow .25s ease;
}

.tp-category-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .10);
}

.tp-category-image-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f1e9;
}

.tp-category-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .35s ease;
}

.tp-category-card:hover .tp-category-image {
  transform: scale(1.05);
}

.tp-category-no-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8b6b2b;
  font-size: 18px;
  font-weight: 600;
}

.tp-category-content {
  padding: 18px;
}

.tp-category-content h3 {
  margin: 0 0 8px;
}

.tp-category-content p {
  margin: 0 0 14px;
  line-height: 1.6;
}

.tp-category-explore {
  color: #a67920;
  font-weight: 600;
}

@media (max-width: 768px) {
  .tp-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .tp-category-content {
    padding: 12px;
  }
}
