WEBCAM DE KHAO LAK

Obtiens des mises à jour météo en temps réel et profite de vues imprenables sur Khao Lak avec notre webcam en direct. Reste informé et captivé en observant la beauté époustouflante de ce paradis tropical. Reste à jour sur les conditions météo actuelles, planifie tes activités et laisse-toi séduire par les paysages grandioses de Khao Lak. Explore l’enchantement de cette destination directement depuis ton écran grâce à notre webcam Khao Lak – Khao Lak Land Discovery

Obtiens les meilleures offres Vol/Hôtel à Khao Lak


Add date

Add date


1 passenger(s)
economy class


Add date

Add date


1 Adult

0 Children

Abonne-toi à notre chaîne YouTube
Suis-nous sur FACEBOOK

Khao Lak Land Discovery

En direct

En direct de la côte d'Andaman

Khao Lak, en ce moment

Notre caméra donne sur la mer d'Andaman depuis Khao Lak, dans la province de Phang Nga. Elle fonctionne en continu — vous regardez l'image en direct, pas un enregistrement.

LieuKhao Lak, Phang Nga8.64°N 98.24°E
OrientationOuest, sur la mer d'Andaman
Heure locale--:--Heure d'Indochine, UTC+7
Lever / coucher du soleil06:19 / 18:49Il fait jour

Si l'image est sombre, il fait simplement nuit en Thaïlande. Khao Lak a sept heures d'avance sur Londres et douze sur New York — la lumière revient généralement à l'heure du lever du soleil indiquée ci-dessus.

Où mène cette vue

L'eau que vous regardez est la même. Les trois partent de Khao Lak.

TU POURRAIS AUSSI AIMER





Phang Nga Bay Sunset Serenity Cruise

Islands trip
Phang Nga Bay, Thailand

Phang Nga Bay Sunset Serenity Cruise

A sunset catamaran cruise into Phang Nga Bay from Khao Lak — limestone islands turning gold, swimming and dinner served as the light fades.

From ฿4,500

Half Day · from Khao Lak
4.8

(18 Reviews)

/* ============================================================================
KLLD-TOURS-PLATE — full-image tour-card plate (alm-cats aesthetic).
GRID is scoped to .klld-card; LIST keeps the Emerald-Daybreak skin below.
CSS-only. No #0b7016, no Inter.
========================================================================== */
.klld-card,.services-item.list.item-elementor{
–kg:#099024; /* brand green */
–kgd:#067a1d; /* pressed/deep green */
–kglow:#2fbf4a; /* lifted green */
–ky:#ffcc00; /* sun yellow */
–ky-deep:#c79100; /* gold for serif emphasis on white */
–kink:#0c1f1a; /* tropical-night plate */
–kink-2:#3a3f3d; /* body dark-grey (list) */
–ksoft:#54605a; /* muted grey text (list) */
–kfaint:#828c87; /* dim grey micro-label (list) */
–kpaper:#ffffff; /* pure white surface (list) */
–kpaper-2:#fbfbf9;
–kg-soft:#dff0e2;
–kline:rgba(39,43,41,.12);
–kline-soft:rgba(39,43,41,.07);
–kline-g:rgba(9,144,36,.20);
–kshadow:0 30px 60px -42px rgba(28,46,32,.30);
–kshadow-lo:0 18px 38px -30px rgba(28,46,32,.28);
–kdisp: »Fraunces »,Georgia,serif;
–kbody: »Hanken Grotesk »,system-ui,sans-serif;
–kmono: »JetBrains Mono »,ui-monospace,monospace}
/* —- GRID CARD : full-image plate —————————————-
.klld-card–tour scopes the full-bleed plate layout. Plain .klld-card covers
shared tokens and the rental-card skin (klld-card–rental) overrides below.
This prevents tour CSS bleeding into rental cards on pages that show both. */
.klld-card{height:100%}
.klld-card–tour .item.service-border{position:relative;height:100%;min-height:75vh;display:block;
border:0;border-radius:18px;overflow:hidden;isolation:isolate;background:var(–kink);
box-shadow:var(–kshadow-lo);
transition:transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s cubic-bezier(.22,.61,.36,1)}
.klld-card–tour .item.service-border:hover{transform:translateY(-6px);box-shadow:var(–kshadow)}
/* KLLD-PLATE-PRESS 2026-06-16 :: tap affordance for touch (no hover). The whole
plate is clickable via klld_card_click_delegate; on press the card dips + the
gold base hairline + go-arrow fire so phones get the same « this is a button »
feedback desktop gets on hover. cursor:pointer set on .content-item already;
add it to the border box so the photo zone shows the hand too. */
.klld-card–tour .item.service-border{cursor:pointer}
.klld-card–tour .item.service-border:active{transform:translateY(-2px) scale(.992);
box-shadow:var(–kshadow-lo);transition:transform .12s ease,box-shadow .12s ease}
.klld-card–tour .item.service-border:active .featured-image::before{
background:linear-gradient(180deg,rgba(6,20,12,.02) 0%,rgba(6,20,12,.12) 38%,rgba(6,16,10,.62) 72%,rgba(6,16,10,.92) 100%)}
.klld-card–tour .item.service-border:active .featured-image::after{opacity:1;transform:scaleX(1)}
.klld-card–tour .item.service-border:active .featured-image img.image-feature{transform:scale(1.04)}
.klld-card–tour .item.service-border:active .section-footer::after{transform:translateX(5px)}
/* photo fills the entire card.
KLLD-SLIDER-FIX (2026-06-16): in the homepage st_list_service SLIDER, the theme’s
own `.service-list-wrapper .item .featured-image{position:relative}` (specificity
0,3,0) outranks a plain `.klld-card .featured-image` (0,2,0) and forces the photo
box to position:relative -> its absolute contributes no height -> the box
collapses to 0px tall and only the white card paper shows. We raise this overlay
rule’s specificity (0,4,0 via .services-item.item-elementor.klld-card) so the
full-bleed photo wins in BOTH grid and slider contexts. */
/* KLLD-FULLBLEED 2026-06-16 :: photo fills the WHOLE card edge-to-edge (no frame),
per user request — reverted from the inset « Destinations » frame. The card’s own
border-radius + overflow:hidden round the photo corners. */
.klld-card–tour .featured-image,
.services-item.item-elementor.klld-card–tour .featured-image{position:absolute;inset:0;z-index:0;margin:0;overflow:hidden;background:#0c1f1a}
.klld-card–tour .featured-image > a:not(.login),
.services-item.item-elementor.klld-card–tour .featured-image > a:not(.login){display:block;position:absolute;inset:0}
.klld-card–tour .featured-image img.image-feature{position:absolute;inset:0;width:100%;height:100%;
object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.22,.61,.36,1),filter .6s}
.klld-card–tour .item.service-border:hover .featured-image img.image-feature{transform:scale(1.07)}
/* atmospheric scrim — KLLD-PLATE-ALMCAT 2026-06-16. Re-tuned to MATCH the homepage
.alm-cat category plate’s curve: a CLEAN, light top (so bright Surin/Similan
turquoise reads) easing to a very deep base (where the flex-end text lives).
KLLD-LIGHT-SCRIM 2026-06-24: switched to a light-touch gradient — fully transparent
at the top so the photo sky/sea reads clearly; gentle darkening only in the lower
⅓ where the white flex-end title lives. Hover blooms a subtle green breath. */
.klld-card–tour .featured-image::before{content: » »;position:absolute;inset:0;z-index:1;pointer-events:none;
background:linear-gradient(180deg,rgba(6,20,12,.0) 0%,rgba(6,20,12,.04) 35%,rgba(6,16,10,.52) 68%,rgba(6,16,10,.88) 100%);
transition:background .5s}
.klld-card–tour .item.service-border:hover .featured-image::before{
background:linear-gradient(180deg,rgba(9,144,36,.06) 0%,rgba(9,40,22,.14) 38%,rgba(8,22,14,.60) 72%,rgba(6,16,10,.92) 100%)}
/* sun-gold→green hairline that sweeps in along the base on hover */
.klld-card–tour .featured-image::after{content: » »;position:absolute;left:0;right:0;bottom:0;height:3px;z-index:4;
background:linear-gradient(90deg,var(–kg),var(–ky) 58%,var(–kg));
opacity:0;transform:scaleX(.35);transform-origin:left;transition:opacity .4s,transform .55s}
.klld-card–tour .item.service-border:hover .featured-image::after{opacity:1;transform:scaleX(1)}
/* wishlist — frosted disc, top-right, above the photo. KLLD-PLATE-TAP 2026-06-16:
grown 38→42px so it clears the ~44px comfortable touch-target floor and never
collides with the rating chip on the left (the chip is max-width-capped to leave
a 70px right gutter for exactly this disc). A clear :active feedback for touch. */
.klld-card–tour .service-add-wishlist{position:absolute;top:13px;right:13px;z-index:6;width:42px;height:42px;
border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,.30);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;
box-shadow:0 8px 22px -12px rgba(0,0,0,.6);transition:background .2s,transform .2s,color .2s}
.klld-card–tour .service-add-wishlist svg{width:18px;height:18px}
.klld-card–tour .service-add-wishlist:hover{background:var(–kg);border-color:var(–kg);color:#fff;transform:scale(1.08)}
.klld-card–tour .service-add-wishlist:active{transform:scale(.92);background:var(–kg);border-color:var(–kg);color:#fff}
.klld-card–tour .service-add-wishlist.added{background:var(–kg);border-color:var(–kg);color:#fff}
.klld-card–tour .featured-image > a.login{display:contents}
/* overlaid body — sits at the card base, above the gradient. KLLD-EDITORIAL 2026-06-16:
increased padding to 30px 26px for more generous spacing and better rhythm.
The larger title and description need breathing room; the padding increase
creates a refined, editorial card layout. KLLD-CARD-CLICK-2026: remains
pointer-events:auto with klld_card_click_delegate.
KLLD-SPEC-FIX 2026-06-16: selector raised to (0,4,0) to beat the parent theme’s
`.services-item.item-elementor .item .content-item` at same specificity — source
order (child after parent) then decides the win, no !important needed. */
.services-item.item-elementor.klld-card–tour .content-item,
.klld-card–tour .content-item{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;
justify-content:flex-end;gap:2px;padding:30px 26px 20px;font-family:var(–kbody);color:#fff;pointer-events:auto;cursor:pointer;
overflow:hidden}
.klld-card–tour .content-item a{pointer-events:auto}
/* eyebrow: mono type tag in sun-gold. KLLD-PLATE-EDITORIAL 2026-06-16 — refined to
the reference « category plate » treatment: LARGER size (.75rem), prominent display,
gold accent reads as the « NN / » index slash. Bold and commanding at card top. */
.klld-card–tour .klld-card-eyebrow{gap:8px;min-height:0;margin-bottom:2px;justify-content:flex-start!important}
/* mono gold eyebrow — ENLARGED to .75rem (from .66rem) with tighter tracking and
bold weight to match reference « 04 / PLACES » style. The gradient tick remains but
resized (22px) to match the larger font. KLLD-PLATE-EDITORIAL. */
.klld-card–tour .klld-card-tag{font-family:var(–kmono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
font-weight:700;color:var(–ky);white-space:nowrap;display:inline-flex;align-items:center;gap:11px;
text-shadow:0 1px 5px rgba(0,0,0,.35)}
.klld-card–tour .klld-card-tag::before{content: » »;width:22px;height:2px;border-radius:2px;
background:linear-gradient(90deg,var(–ky),rgba(255,204,0,.2))}
/* address demoted off the plate. The markup carries `.d-flex` (display:flex
!important), so a plain display:none loses — must be !important to win.
The PostalAddress microdata stays in the DOM (hidden), schema intact. */
.klld-card–tour .klld-card-addr{display:none!important}
/* Fraunces title — WHITE on the photo, NOT brand green. The markup carries the
theme utility class `.st-link.c-main` which paints links var(–heading-color)
(#099024 on live) — green text vanishes over green foliage / turquoise water.
We force the resting title to white with a real drop-shadow and raise the
selector specificity (adds .st-link) so it beats .c-main and survives any
LiteSpeed/UCSS rule reordering. Green is reserved for the :hover accent only.
KLLD-PLATE-LEGIBILITY 2026-06-16. */
/* Fraunces title — ENLARGED for editorial impact. KLLD-PLATE-EDITORIAL 2026-06-16:
increased from 1.74rem ceiling to 2.2rem to match reference card prominence.
Bold serif treatment (wt600) dominates the card. Stays Fraunces — no changes
to the typeface, only scale and weight. Line-height 1.05 for tighter elegance.
KLLD-EDITORIAL-TITLE. */
/* KLLD-TITLE-WRAP 2026-06-16 :: the theme forces .title{white-space:nowrap;
display:flow-root} at (0,4,0), which stopped the title wrapping (1 line +
ellipsis). Raise to (0,5,0) and force white-space:normal + -webkit-box so the
3-line clamp engages and the full title fits. */
.services-item.item-elementor.klld-card–tour .content-item .title,
.klld-card–tour .content-item .title{margin:2px 0 0;font-family:var(–kdisp);font-size:clamp(1.6rem,1.4rem + .65vw,2.2rem);
line-height:1.08;font-weight:600;letter-spacing:-.015em;white-space:normal!important;
display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;
text-overflow:ellipsis;overflow-wrap:break-word;word-break:normal;hyphens:none}
/* color #fff + Fraunces 500 (alm-cat h3 weight). The theme paints the title anchor
‘a.st-link’ AND ‘.services-item.item-elementor .item .content-item .title a’ with
font-weight:400 !IMPORTANT — so specificity alone can’t win; the weight override
MUST also be !important. Raised to (0,6,1) via ‘.item’ so it beats the theme’s
own !important by specificity, in BOTH slider and archive-grid DOM. The color
stays a normal (non-important) declaration — nothing else fights it.
KLLD-PLATE-ALMCAT. */
.klld-card–tour .item .content-item .title a,
.klld-card–tour .item .content-item .title a.st-link.c-main{color:#fff!important;font-weight:500!important;
text-shadow:0 1px 2px rgba(6,16,10,.38),0 2px 12px rgba(6,16,10,.30);transition:color .2s}
.klld-card–tour .item .content-item .title a:hover,
.klld-card–tour .item .content-item .title a.st-link.c-main:hover{color:var(–ky)!important}
/* RE-ENABLED excerpt — the reference plate shows a more prominent description.
KLLD-PLATE-EDITORIAL 2026-06-16: increased size to .92rem (from .86rem),
slightly wider max-width (38ch from 34ch), and softer shadow for better legibility.
White on the scrim with a 2-line visual clamp guarding overflow. */
/* body — enhanced to .92rem for better editorial presence. Color lifted to nearly
opaque (.98 alpha) for stronger readability. KLLD-EDITORIAL-EXCERPT. */
.klld-card–tour .service-excerpt{margin:3px 0 0;max-width:38ch;color:rgba(255,253,247,.98);
font-family:var(–kbody);font-size:.92rem;line-height:1.5;font-weight:400;
text-shadow:0 1px 4px rgba(6,16,10,.32),0 1px 2px rgba(6,16,10,.26)}
/* clean 2-line clamp — KLLD-PLATE-CLAMP 2026-06-16 (defect 4): keep word-boundary
wrapping (word-break:normal) so the clamp ellipsis lands between words, not the
« limeston… » mid-token cut the screenshot showed; overflow-wrap guards only against
a single over-long token. */
.klld-card–tour .service-excerpt p{margin:0;
display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;
text-overflow:ellipsis;overflow-wrap:break-word;word-break:normal;hyphens:none}
/* no dead gap above the footer when a tour has no excerpt copy */
.klld-card–tour .service-excerpt:empty,
.klld-card–tour .service-excerpt p:empty{display:none;margin:0}
/* rating — gold-star chip, floats top-left over the photo (Figma 2026-06-16).
Legibility pass: darker pill (.42→.55) so the star + score read on bright
plates; near-white summary at .96 alpha. Min-height 30px = comfortable tap
target; max-width caps clear of the 38px wishlist disc so a long count
never collides. */
/* rating — KLLD-FRAME 2026-06-16 :: bare gold star + score, NO pill (matches the
reference). Floats inside the inset photo (26px = 13px frame + 13px breathing
room). Strong shadow carries it over bright sky. The « (N Reviews) » summary is
dropped to keep the reference’s minimal star+number. */
.klld-card–tour .reviews{position:absolute;top:26px;left:26px;z-index:5;margin:0;display:inline-flex;align-items:center;gap:4px;
font-family:var(–kbody);font-size:.95rem;font-weight:600;color:#fff;
background:none;border:0;padding:0;box-shadow:none;
text-shadow:0 1px 4px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.28)}
.klld-card–tour .reviews .stt-icon-star1{color:var(–ky);font-size:.9rem;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}
.klld-card–tour .reviews .rate{font-family:var(–kbody);font-weight:600;color:#fff;font-size:.95rem}
/* review total count shown, tight to the score */
.klld-card–tour .reviews .summary{display:inline;font-weight:500;font-size:.78rem;opacity:.9;margin-left:2px}
.klld-card–tour .reviews.reviews-empty{display:none}
/* footer: From-฿price + duration, with a go-arrow. KLLD-PLATE-EDITORIAL 2026-06-16 —
restore the reference’s faint FULL-WIDTH hairline above the footer row. This is
viable now that the scrim is even & green across the whole card (the prior commit
1668eb338 swapped to a short gold tick because the old top-transparent gradient
let a full-width rule « float » over bright pixels; the even scrim carries it). The
hairline is a neutral white rule at low alpha, inset to the content padding. */
/* KLLD-PLATE-HAIRLINE 2026-06-16 (defect 3): the divider was reading as a thin white
rule « floating » mid-photo because the footer carried a big margin-top:16px, pushing
the rule well ABOVE the price block into bare image. Pull the footer tight to the
price group (margin-top:10px, padding-top:11px) so the line sits DIRECTLY over the
From-฿price row and reads as that block’s divider, not a free-floating bar. */
/* border-top:0 needs !important — the parent theme paints a 1px #dedede rule on
.section-footer at higher specificity (that was the line above the price). */
.services-item.item-elementor.klld-card–tour .section-footer,
.klld-card–tour .section-footer{margin-top:14px;padding-top:0;
border-top:0!important;display:flex;align-items:flex-end;position:relative}
/* KLLD-NO-HAIRLINE 2026-06-16 :: divider above the price removed per user request. */
.klld-card–tour .section-footer::before{display:none}
/* KLLD-PHASEF-1 2026-06-17 :: reserve the bottom-right go-puck gutter on the price
row. The .unit element that used to hold this space is now display:none, so on
3/4-up archive rows the ฿price ran under the gold arrow disc. 40px clears the
30px puck + its right:-2px offset. */
.klld-card–tour .price-wrapper-tour{margin:0;width:100%;flex-wrap:wrap;gap:6px 12px;padding-right:40px}
.klld-card–tour .price-tour{min-width:0}
/* ฿-leading price in white Fraunces. KLLD-PLATE-PRICEFIX 2026-06-16 + KLLD-EDITORIAL
2026-06-16: ENLARGED from 1.5rem to 1.9rem, increased font-weight to 700 (bolder),
and enhanced shadow for commanding presence. The price is now a key visual element
that anchors the card’s call-to-action. Specificity chain remains unchanged. */
/* KLLD-FRAME 2026-06-16 :: price restyled to the reference’s understated MONO
treatment (was big Fraunces) — JetBrains Mono, wide tracking, weight 500, on the
dark shelf below the photo. ฿ stays leading per brand CI. */
.services-item.item-elementor.klld-card–tour .price-tour .price,
.services-item.item-elementor.klld-card–tour .price-tour .price .item,
.klld-card–tour .price-tour .price,
.klld-card–tour .price-tour .price .item{font-family:var(–kmono);font-weight:500;color:#fff!important;
background:transparent!important;font-size:1.18rem!important;line-height:1.2!important;letter-spacing:.04em;
display:inline-block;overflow:visible;padding:2px 0;border-radius:0;
font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(6,16,10,.42)}
/* the « From » eyebrow above the digit. The same theme chain (0,5,0) was painting it
grey (var(–grey-color,#5E6D77)) — that is defect 2’s faint « FROM ». Raise our
specificity to match and force gold + a real shadow so it reads on bright photos. */
.services-item.item-elementor.klld-card–tour .price-tour .price .sale-top,
.services-item.item-elementor.klld-card–tour .price-tour .sale-top,
.klld-card–tour .price-tour .price .sale-top,
.klld-card–tour .price-tour .sale-top{color:var(–ky)!important;font-family:var(–kmono);font-size:.62rem;font-weight:600;
letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 5px rgba(6,16,10,.7)}
.klld-card–tour .price-tour .price,
.klld-card–tour .price-tour .price .sale-top,
.klld-card–tour .price-tour .price .item{white-space:nowrap}
/* duration / « from Khao Lak » meta row — KLLD-PLATE-METAFIX 2026-06-16 (defect 2): was
rgba white .92 / .7 with a soft .5 shadow that washed out to faint grey on bright
sunset + foliage photos. Lift to solid near-white #f4f7f5 + a stronger, layered
shadow so it stays legible on both bright and dark plates. The clock icon + gold
arrow are untouched. */
/* NB specificity: the theme paints the duration row grey via
`.services-item.item-elementor .item .content-item .price-wrapper .unit` (0,5,0),
so the wrapper selector must MATCH that depth to win — prefix with
`.services-item.item-elementor.klld-card` and force the colour !important. The
« Full Day » text is a direct text node of .unit, so it inherits this wrapper colour. */
/* KLLD-NO-DURATION 2026-06-16 :: duration / « from Khao Lak » row removed from the
card per user request (kept in the DOM for schema, hidden visually). */
.services-item.item-elementor.klld-card–tour .section-footer .unit,
.klld-card–tour .section-footer .unit{display:none!important;align-items:center;gap:5px;flex:0 0 auto;max-width:100%;
font-family:var(–kmono);font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
color:#f4f7f5!important;white-space:nowrap;text-shadow:0 1px 3px rgba(6,16,10,.78),0 1px 8px rgba(6,16,10,.6)}
.services-item.item-elementor.klld-card–tour .section-footer .unit .unit-from,
.klld-card–tour .section-footer .unit .unit-from{font-weight:500;color:rgba(255,255,255,.92)!important;letter-spacing:.06em}
.klld-card–tour .section-footer .unit svg path{stroke:var(–ky)!important;fill:none!important}
/* go-arrow affordance (pure CSS, no markup). KLLD-PLATE-GO 2026-06-16: promoted
from a faint 16px tick to a clear gold « go » puck — a soft frosted disc so it
reads as the card’s primary action on touch (no hover to reveal it). It nudges
right on hover AND :active, and a slow ambient drift (reduced-motion-off) keeps
it discoverable on mobile. Sits clear of the price row via the .unit right-pad. */
.klld-card–tour .section-footer::after{content: » »;position:absolute;right:-2px;bottom:8px;width:30px;height:30px;border-radius:50%;
background:rgba(255,204,0,.14) no-repeat center/15px 15px url(« data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ viewBox=’0 0 24 24′ fill=’none’ stroke=’%23ffcc00′ stroke-width=’2.6’%3E%3Cpath d=’M5 12h14M13 6l6 6-6 6’/%3E%3C/svg%3E »);
border:1px solid rgba(255,204,0,.32);box-shadow:0 6px 16px -8px rgba(0,0,0,.5);
opacity:1;animation:klld-go-drift 2.6s cubic-bezier(.45,0,.55,1) infinite;
transition:transform .35s cubic-bezier(.22,.61,.36,1),background .25s,border-color .25s}
@keyframes klld-go-drift{0%,72%,100%{transform:translateX(0)}84%{transform:translateX(3px)}}
.klld-card–tour .item.service-border:hover .section-footer::after,
.klld-card–tour .item.service-border:active .section-footer::after{transform:translateX(5px);
background-color:rgba(255,204,0,.24);border-color:rgba(255,204,0,.55);animation:none}
.klld-card–tour .section-footer .unit{padding-right:42px}
/* —- MOBILE RHYTHM : tighten the single-column stack ———————-
KLLD-PLATE-RHYTHM 2026-06-16. On phones the archive is one column of tall
full-bleed plates, so the page became a very long scroll with ~1 card per
viewport. We (a) shave the plate min-height (380→320px) so ~1.6 plates show
at once — more scannable, still editorial — and (b) tighten the inter-card
gap on the GRID stack so the cards read as a cadence, not isolated billboards.
The homepage SLIDER (swiper rows, not a column stack) is untouched: its row
spacing is owned by swiper, and these rules only bite the .grid column gutter
+ the narrow-viewport min-height. */
@media (max-width:767px){
.services-item.grid.klld-card–tour{margin-bottom:14px}
.services-item.grid.klld-card–tour:last-child{margin-bottom:0}
}
@media (max-width:575px){
.klld-card–tour .item.service-border{min-height:70vh}
}
@media (max-width:480px){
.klld-card–tour .item.service-border{min-height:70vh}
.services-item.item-elementor.klld-card–tour .content-item,
.klld-card–tour .content-item{padding:22px 22px 18px}
.klld-card–tour .content-item .title{font-size:1.35rem;margin-top:6px}
.klld-card–tour .service-excerpt{margin-top:4px;font-size:.84rem}
.services-item.item-elementor.klld-card–tour .price-tour .price,
.services-item.item-elementor.klld-card–tour .price-tour .price .item,
.klld-card–tour .price-tour .price,
.klld-card–tour .price-tour .price .item{font-size:1.05rem!important}
}
/* KLLD-PHASEF-RATIO 2026-06-17 :: desktop/tablet multi-column cards use a fixed
3:4 portrait ratio instead of the 75vh tall plate, so the 4-up (and 2/3-up)
rows read as even, balanced cards rather than skinny full-height columns.
Mobile ( .swiper-wrapper{
display:flex;flex-wrap:nowrap;gap:20px;transform:none!important;
overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.service-tour.swiper-container:not(.swiper-initialized):not(.swiper-container-initialized) > .swiper-wrapper > .swiper-slide{
margin:0!important;scroll-snap-align:start;height:auto;flex:0 0 auto}
/* each slider shows its OWN configured count N via calc(100%/N – gap). The count
lives on the .st-list-service ANCESTOR (data-slides-per-view), so key off that:
« 3 » rows are 3-up, « 4 » rows are 4-up. Default (no count) → 3-up. */
.st-list-service[data-slides-per-view= »4″] .service-tour.swiper-container:not(.swiper-initialized):not(.swiper-container-initialized) > .swiper-wrapper > .swiper-slide{
width:calc(100%/4 – 15px)!important}
.st-list-service[data-slides-per-view= »3″] .service-tour.swiper-container:not(.swiper-initialized):not(.swiper-container-initialized) > .swiper-wrapper > .swiper-slide,
.service-tour.swiper-container:not(.swiper-initialized):not(.swiper-container-initialized) > .swiper-wrapper > .swiper-slide{
width:calc(100%/3 – 14px)!important}
}
/* ===== KLLD-CAROUSEL 2026-06-17 :: interactive slider controls ===============
The theme’s Swiper never initializes on the tour sliders, so klld_carousel.js
(printed below) upgrades each scroll-rail into a real carousel: edge nav
buttons + a green→gold progress rail, drag/swipe, keyboard, ARIA. CSS-only
fallback (scroll-snap) still works if JS is disabled. Brand #099024 / #ffcc00. */
.service-tour.swiper-container.klld-carousel{position:relative}
.service-tour.swiper-container.klld-carousel > .swiper-wrapper{
scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;cursor:grab}
.service-tour.swiper-container.klld-carousel > .swiper-wrapper::-webkit-scrollbar{display:none}
.service-tour.swiper-container.klld-carousel.is-grabbing > .swiper-wrapper{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
/* edge nav buttons — frosted disc, brand-green chevron → green fill on hover */
.klld-cnav{position:absolute;z-index:20;width:52px;height:52px;border-radius:50%;padding:0;
display:none;align-items:center;justify-content:center;cursor:pointer;
border:1px solid rgba(9,144,36,.22);background:rgba(255,255,255,.94);
-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(–kg);
box-shadow:0 20px 44px -22px rgba(28,46,32,.6),0 4px 12px -8px rgba(28,46,32,.35);
transition:background .25s,color .25s,transform .25s cubic-bezier(.22,.61,.36,1),opacity .25s,border-color .25s}
/* controls show only on desktop AND only when the rail actually overflows */
@media (min-width:1024px){
.service-tour.klld-carousel.klld-has-overflow .klld-cnav{display:flex}
.service-tour.klld-carousel.klld-has-overflow .klld-crail{display:block}
}
.klld-cnav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.klld-cnav:hover{background:var(–kg);color:#fff;border-color:var(–kg);transform:translateY(-50%) scale(1.09)}
.klld-cnav:active{transform:translateY(-50%) scale(.95)}
.klld-cnav:focus-visible{outline:2px solid var(–ky);outline-offset:3px}
.klld-cnav–prev{left:10px}
.klld-cnav–next{right:10px}
.klld-cnav[disabled]{opacity:0;pointer-events:none}
/* progress rail — green→gold thumb that tracks scroll position */
.klld-crail{display:none;position:relative;height:3px;margin:20px auto 2px;width:140px;max-width:40%;
border-radius:999px;background:rgba(9,144,36,.16);overflow:hidden}
.klld-crail__thumb{position:absolute;top:0;left:0;height:100%;width:30%;border-radius:999px;
background:linear-gradient(90deg,var(–kg),var(–ky));will-change:transform}
.klld-cnav:not([disabled]).klld-cnav–hint{animation:klld-cnav-nudge 2.4s ease-in-out 2}
@keyframes klld-cnav-nudge{0%,100%{transform:translateY(-50%)}50%{transform:translateY(-50%) translateX(4px)}}
@media (prefers-reduced-motion: reduce){
.service-tour.swiper-container.klld-carousel > .swiper-wrapper{scroll-behavior:auto}
.klld-cnav{transition:none}
.klld-cnav–hint{animation:none}
}
/* —- LIST CARD (loop/list.php) — same Emerald-Daybreak language ———- */
.services-item.list.item-elementor{font-family:var(–kbody);color:var(–kink-2)}
.services-item.list.item-elementor .item.service-border{border:1px solid var(–kline);border-radius:20px;overflow:hidden;background:var(–kpaper);
transition:transform .34s cubic-bezier(.2,.7,.2,1),box-shadow .34s cubic-bezier(.2,.7,.2,1),border-color .34s}
.services-item.list.item-elementor .item.service-border:hover{transform:translateY(-4px);box-shadow:var(–kshadow);border-color:var(–kline-g)}
.services-item.list.item-elementor .featured-image{position:relative;overflow:hidden;isolation:isolate}
.services-item.list.item-elementor .featured-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.services-item.list.item-elementor .item.service-border:hover .featured-image img{transform:scale(1.05)}
.services-item.list.item-elementor .featured-image::after{content: » »;position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;
background:linear-gradient(90deg,var(–kg),var(–ky) 58%,var(–kg));opacity:0;transition:opacity .34s}
.services-item.list.item-elementor .item.service-border:hover .featured-image::after{opacity:1}
.services-item.list.item-elementor .service-add-wishlist{color:var(–kg);background:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 8px 20px -10px rgba(28,46,32,.5);transition:background .2s,color .2s,transform .2s}
.services-item.list.item-elementor .service-add-wishlist:hover{background:var(–kg);color:#fff;transform:scale(1.06)}
.services-item.list.item-elementor .sub-title{font-family:var(–kmono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(–kfaint)}
.services-item.list.item-elementor .sub-title .stt-icon-location1{color:var(–kg);margin-right:4px}
.services-item.list.item-elementor .content-item .title{font-family:var(–kdisp);font-weight:600;letter-spacing:-.014em}
.services-item.list.item-elementor .content-item .title a{color:var(–kink);transition:color .2s}
.services-item.list.item-elementor .content-item .title a:hover{color:var(–kg)}
.services-item.list.item-elementor .service-excerpt{font-family:var(–kbody);color:var(–ksoft);line-height:1.55}
.services-item.list.item-elementor .reviews .stt-icon-star1{color:var(–ky)}
.services-item.list.item-elementor .reviews .rate{font-family:var(–kdisp);font-weight:600;color:var(–kink)}
.services-item.list.item-elementor .reviews.reviews-empty .summary{color:var(–kfaint)}
.services-item.list.item-elementor .service-duration{font-family:var(–kbody);font-weight:600;color:var(–kgd)}
.services-item.list.item-elementor .service-type{font-family:var(–kmono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(–ksoft)}
.services-item.list.item-elementor .price-tour .price{font-family:var(–kdisp);font-weight:600;color:var(–kink);font-variant-numeric:tabular-nums}
.services-item.list.item-elementor .price-tour .sale-top{font-family:var(–kmono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(–kfaint)}
.services-item.list.item-elementor .view-detail{background:var(–kg);color:#fff;border-radius:999px;font-family:var(–kbody);font-weight:700;letter-spacing:.01em;
box-shadow:0 14px 30px -16px rgba(9,144,36,.7);transition:background .2s,transform .2s,box-shadow .2s}
.services-item.list.item-elementor .view-detail:hover{background:var(–kgd);transform:translateY(-2px);box-shadow:0 20px 40px -18px rgba(9,144,36,.78);color:#fff}
@media (prefers-reduced-motion: reduce){
.klld-card–tour .item.service-border,.klld-card–tour .featured-image img.image-feature,
.klld-card–tour .featured-image::after,.klld-card–tour .featured-image::before,.klld-card–tour .section-footer::after,
.services-item.list.item-elementor .item.service-border,
.services-item.list.item-elementor .featured-image img,
.services-item.list.item-elementor .featured-image::after{transition:none}
/* kill the ambient go-arrow drift + the press scale for reduced-motion; the
affordances stay visible (gold puck, base hairline) but don’t animate. */
.klld-card–tour .section-footer::after{animation:none}
.klld-card–tour .item.service-border:hover,.klld-card–tour .item.service-border:active,
.services-item.list.item-elementor .item.service-border:hover{transform:none}
.klld-card–tour .item.service-border:hover .featured-image img.image-feature,
.klld-card–tour .item.service-border:active .featured-image img.image-feature,
.klld-card–tour .item.service-border:hover .section-footer::after,
.klld-card–tour .item.service-border:active .section-footer::after,
.services-item.list.item-elementor .item.service-border:hover .featured-image img{transform:none}
}





Khao Sok National Park 3 Days Discovery Tour

Adventure
Cheow Lan Lake, Khao Phang, Ban Ta Khun District, Surat Thani, Thailand

Khao Sok National Park 3 Days Discovery Tour

A three-day Khao Sok discovery from Khao Lak — rainforest treks, Cheow Lan Lake and nights in floating bungalows deep inside the national park.

From ฿12,500

3 Days 2 Nights · from Khao Lak
4.6

(497 Reviews)




Khao Sok Floating Bungalows — Cheow Lan Lake Adventure

Adventure
Cheow Lan Lake, Khao Phang, Ban Ta Khun District, Surat Thani, Thailand

Khao Sok Floating Bungalows — Cheow Lan Lake Adventure

A two-day Cheow Lan Lake adventure from Khao Lak — sleep in floating bungalows on emerald water, ringed by the limestone karsts of Khao Sok.

From ฿8,500

2 Days 1 Night · from Khao Lak
4.9

(7 Reviews)




Krabi 4 Island Tour From Khao Lak: Early Bird Island Hopping

Islands trip
Krabi 4 Island Adventure, Ao Nang, Mueang Krabi District, Krabi, Thailand

Krabi 4 Island Tour from Khao Lak: Early Bird Island Hopping

An early-bird full-day hop to Krabi’s four headline islands — Phra Nang, Chicken, Tup and Poda — ahead of the crowds, by speedboat from Khao Lak.

From ฿4,100

Full Day · from Khao Lak
4.4

(10 Reviews)




Khao Sok Jungle Trekking – Discover The Magic Of The Rainforest

Adventure
Khao Sok National Park, Khlong Sok, Surat Thani

Khao Sok Jungle Trekking – Discover the Magic of the Rainforest

A full-day jungle trek in Khao Sok from Khao Lak — the world’s oldest rainforest on foot, with a local guide, hidden streams and towering limestone.

From ฿3,400

Full day · from Khao Lak
4.6

(54 Reviews)




Amazing 3 Temples – Full Day Temple Tour From Khao Lak

Khao Lak Tours
Wat Bang Riang Phra Buddha Itthi Mongkolchai, Bang Riang, Thap Put District, Phang-nga, Thailand

Amazing 3 Temples – Full Day Temple Tour from Khao Lak

A calm, full-day temple tour from Khao Lak to three peaceful sites: hilltop Wat Bang Riang with its big Buddha, the atmospheric Dragon Cave Temple and Wat Manee Sri Mahathat.

From ฿2,300

Full Day · from Khao Lak
4.8

(143 Reviews)




Cheow Lan Lake Day Trip | Khao Sok Floating Bungalows

Khao Sok Lake Tours
Cheow Lan Lake, Khao Phang, Ban Ta Khun District, Surat Thani, Thailand

Cheow Lan Lake Day Trip | Khao Sok Floating Bungalows

A full-day Cheow Lan Lake day trip from Khao Lak: glide across the emerald water by longtail boat beneath towering limestone cliffs, explore a cave and swim. Return transfers included.

From ฿3,900

Full Day · from Khao Lak
4.5

(14 Reviews)




Khao Sok Day Trip – Wet And Wild Fun For All Ages!

Khao Sok Tours
Khao Sok National Park

Khao Sok Day Trip – Wet and Wild Fun for All Ages!

A full-day Khao Sok day trip from Khao Lak: bathe with elephants, canoe the calm Sok River and walk the jungle trails of Thailand’s oldest rainforest. Fun for all ages, …

From ฿3,100

Full Day · from Khao Lak
4.8

(176 Reviews)