/* Amasingh Companion – front-end styles. Uses theme CSS variables with sensible fallbacks. */
.amx-section{padding:var(--am-space,64px) 0}
.amx-hint{background:#fff8e1;border:1px dashed #d5a642;padding:12px 16px;margin:16px auto;border-radius:8px;font-size:14px}
.amx-noimg{background:linear-gradient(135deg,var(--am-primary,#071D3B),var(--am-secondary,#123B70))}
.am-sec-title{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center;margin:0 0 32px;font-family:var(--am-font-heading,Georgia,serif);color:var(--am-primary,#071D3B)}
.am-sec-title::before,.am-sec-title::after{content:"";height:2px;width:90px;background:linear-gradient(90deg,transparent,var(--am-accent,#D5A642))}
.am-sec-title::after{transform:scaleX(-1)}

/* Slider core */
.amx-slider{position:relative}
.amx-viewport{overflow:hidden;border-radius:var(--am-radius,10px)}
.amx-track{display:flex;will-change:transform}
.amx-slide{min-width:0;padding:0 10px}
.amx-arrow{position:absolute;top:42%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:var(--am-primary,#071D3B);color:#fff;cursor:pointer;z-index:5;font-size:16px;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:background .2s,transform .2s;display:flex;align-items:center;justify-content:center}
.amx-arrow:hover{background:var(--am-accent,#D5A642);color:var(--am-primary,#071D3B);transform:translateY(-50%) scale(1.08)}
.amx-prev{left:-8px}.amx-next{right:-8px}
.amx-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.amx-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#c9ced6;cursor:pointer;padding:0;transition:all .25s}
.amx-dots button.is-active{background:var(--am-primary,#071D3B);width:24px;border-radius:5px}
.amx-slider.is-static .amx-track{justify-content:center}

/* Hero */
.amx-hero{position:relative;background:var(--am-dark,#06152B)}
.amx-hero .amx-viewport{border-radius:0}
.amx-hero .amx-slide{padding:0}
.amx-hero-slider.is-fade .amx-track{display:grid}
.amx-hero-slider.is-fade .amx-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.amx-hero-slider.is-fade .amx-slide.is-active{opacity:1;visibility:visible;z-index:2}
.amx-hero-slide{position:relative;height:var(--amx-hero-h,560px);color:#fff;display:flex;align-items:center;overflow:hidden}
.amx-hero-slide picture,.amx-hero-img{position:absolute;inset:0;width:100%;height:100%}
.amx-hero-img{object-fit:cover}
.amx-overlay{position:absolute;inset:0}
.amx-hero-inner{position:relative;z-index:3;display:flex}
.amx-align-left{justify-content:flex-start;text-align:left}
.amx-align-center{justify-content:center;text-align:center}
.amx-align-right{justify-content:flex-end;text-align:right}
.amx-hero-text{max-width:640px}
.amx-hero-text h1{color:inherit;font-family:var(--am-font-heading,Georgia,serif);font-size:var(--am-fs-h1,56px);line-height:1.12;margin:0 0 16px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.amx-hero-text p{font-size:19px;margin:0 0 26px;opacity:.95}
.amx-hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.amx-align-center .amx-hero-btns{justify-content:center}.amx-align-right .amx-hero-btns{justify-content:flex-end}
.amx-hero .amx-arrow{top:50%;background:rgba(7,29,59,.65);border:2px solid rgba(255,255,255,.7)}
.amx-hero .amx-prev{left:18px}.amx-hero .amx-next{right:18px}
.amx-hero .amx-dots{position:absolute;bottom:18px;left:0;right:0;margin:0;z-index:6}
.amx-hero .amx-dots button{background:rgba(255,255,255,.55)}
.amx-hero .amx-dots button.is-active{background:var(--am-accent,#D5A642)}

/* Categories */
.amx-cat-grid{display:grid;grid-template-columns:repeat(var(--amx-cols,6),1fr);gap:16px}
.amx-cat{display:block;position:relative;border-radius:var(--am-radius,10px);overflow:hidden;box-shadow:0 6px 20px rgba(7,29,59,.12);transition:transform .35s,box-shadow .35s;color:#fff}
.amx-cat:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(7,29,59,.25);color:#fff}
.amx-cat-img{display:block;aspect-ratio:3/4}
.amx-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.amx-cat:hover .amx-cat-img img{transform:scale(1.08)}
.amx-cat-name{position:absolute;left:0;right:0;bottom:0;padding:34px 10px 12px;text-align:center;font-weight:600;font-size:15px;background:linear-gradient(0deg,rgba(6,21,43,.92),rgba(6,21,43,0))}
.amx-cat-desc{position:absolute;left:8px;right:8px;bottom:-60px;font-size:12px}

/* Gallery cards */
.amx-card{display:block;text-align:center;color:inherit}
.amx-card-img{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--am-radius,10px);box-shadow:0 8px 24px rgba(7,29,59,.14);border:3px solid #fff}
.amx-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s;user-select:none}
.amx-card:hover .amx-card-img img{transform:scale(1.07)}
.amx-card-title{display:block;margin-top:12px;font-family:var(--am-font-heading,Georgia,serif);font-weight:600;font-size:17px;color:var(--am-primary,#071D3B)}
.amx-card-desc{display:block;font-size:14px;opacity:.75;margin-top:2px}
.amx-card-price{display:block;margin-top:4px;font-weight:700;color:var(--am-primary,#071D3B)}

/* Features */
.amx-features{background:var(--am-bg-alt,#F7F7F5);padding:30px 0}
.amx-feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.amx-feat{display:flex;align-items:center;gap:16px;padding:10px 22px;border-right:1px solid rgba(7,29,59,.12)}
.amx-feat:last-child{border-right:0}
.amx-icon{color:var(--am-primary,#071D3B);flex-shrink:0}
.amx-feat strong{display:block;font-size:17px;color:var(--am-primary,#071D3B)}
.amx-feat span{font-size:13px;opacity:.75}

/* Logo strips */
.amx-logos{padding:44px 0}
.amx-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.amx-marquee-track{display:flex;width:max-content;align-items:center}
.amx-marquee.is-running .amx-marquee-track{animation:amx-scroll 30s linear infinite}
.amx-marquee:hover .amx-marquee-track{animation-play-state:paused}
@keyframes amx-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.amx-logo{padding:0 28px;flex-shrink:0;display:flex;align-items:center}
.amx-logo img{height:var(--amx-logo-h,60px);width:auto;max-width:none;object-fit:contain}
.amx-logos.is-gray .amx-logo img{filter:grayscale(1);opacity:.65;transition:filter .3s,opacity .3s}
.amx-logos.is-gray .amx-logo:hover img{filter:none;opacity:1}

/* Reviews */
.amx-review{margin:0;background:#fff;border-radius:var(--am-radius,10px);padding:26px;box-shadow:0 8px 26px rgba(7,29,59,.1);height:100%;border-top:3px solid var(--am-accent,#D5A642)}
.amx-review-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.amx-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.amx-avatar-ph{background:var(--am-primary,#071D3B);color:var(--am-accent,#D5A642);display:flex;align-items:center;justify-content:center;font-weight:700}
.amx-stars{color:var(--am-accent,#D5A642);letter-spacing:2px;font-size:18px}
.amx-stars .off{color:#d9dce2}
.amx-review blockquote{margin:12px 0;font-style:italic}
.amx-review figcaption{font-size:13px;opacity:.6}
.amx-verified{display:block;color:#2e7d32;font-size:12px}
.amx-reviews .amx-slide{display:flex}

/* Promo */
.amx-promo{background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.amx-promo-inner{display:flex;width:100%}
.amx-promo-text{max-width:560px;padding:30px 0}
.amx-promo h2{color:#fff;font-family:var(--am-font-heading,Georgia,serif);font-size:var(--am-fs-h2,36px);margin:0 0 10px}
.amx-promo p{margin:0 0 22px;font-size:18px;opacity:.95}

/* Responsive */
@media (max-width:1100px){
	.amx-cat-grid{grid-template-columns:repeat(var(--amx-cols-t,4),1fr)}
	.amx-feat-grid{grid-template-columns:repeat(2,1fr);gap:14px 0}
	.amx-feat:nth-child(2){border-right:0}
	.amx-hero-text h1{font-size:42px}
}
@media (max-width:767px){
	.amx-hero-slide{height:min(var(--amx-hero-h,560px),520px)}
	.amx-hero-text h1{font-size:var(--am-fs-h1-m,32px)}
	.amx-hero-text p{font-size:16px}
	.amx-hero .amx-arrow{display:none!important}
	.amx-cat-grid{grid-template-columns:repeat(var(--amx-cols-m,2),1fr);gap:12px}
	.amx-slide{padding:0 6px}
	.amx-prev{left:-4px}.amx-next{right:-4px}
	.amx-arrow{width:36px;height:36px}
	.amx-feat-grid{grid-template-columns:1fr}
	.amx-feat{border-right:0;border-bottom:1px solid rgba(7,29,59,.1)}
	.amx-feat:last-child{border-bottom:0}
	.am-sec-title::before,.am-sec-title::after{width:30px}
	.amx-logo{padding:0 16px}
}
@media (prefers-reduced-motion:reduce){.amx-marquee.is-running .amx-marquee-track{animation:none}}

/* Fallbacks so the plugin looks right even if the active theme does not define these helpers */
.am-container{width:100%;max-width:var(--am-container,1280px);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;box-sizing:border-box}
.amx-hero .am-btn,.amx-promo .am-btn{display:inline-flex;align-items:center;gap:8px;background:var(--am-btn-bg,#D5A642);color:var(--am-btn-text,#071D3B);font-weight:600;border:2px solid var(--am-btn-bg,#D5A642);border-radius:var(--am-btn-radius,999px);padding:12px 26px;text-decoration:none;transition:all .25s}
.amx-hero .am-btn:hover,.amx-promo .am-btn:hover{background:var(--am-btn-hover-bg,#E8C46A);border-color:var(--am-btn-hover-bg,#E8C46A);color:var(--am-btn-text,#071D3B)}
.amx-hero .am-btn-outline{background:transparent;color:#fff;border-color:#fff}
.amx-hero .am-btn-outline:hover{background:#fff;color:var(--am-primary,#071D3B);border-color:#fff}
